如何查看syslink 组件使用共享内存的情况 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5649|回复: 2
打印 上一主题 下一主题

[已解决] 如何查看syslink 组件使用共享内存的情况

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:9 `1 N- b, {/ Q' ^8 u# s, C
root@tl:~# ipcs -l
7 _2 }$ S8 s. ~! H9 e" @+ b3 [+ ~+ q- [% X& Q& [' n
------ Shared Memory Limits --------
' r1 H6 m  S# ]7 c& J. j, [max number of segments = 4096. k0 X. y/ z+ R8 K: Z
max seg size (kbytes) = 32768
& t+ {$ C# t1 x7 Imax total shared memory (kbytes) = 8388608  q# ?9 i+ d/ f3 @" e
min seg size (bytes) = 1" Q: r, e, D/ l( P7 I+ s
6 z9 E0 `% z$ `& X+ O- z
------ Semaphore Limits --------- R# Y. s6 O5 H
max number of arrays = 128
9 T. m  q/ X9 y( x4 smax semaphores per array = 250
' o' D5 ~0 T! Q1 Bmax semaphores system wide = 32000
" |9 w0 `; w/ D" Y, e4 V1 hmax ops per semop call = 32  u, F- W* M6 B
semaphore max value = 32767" T" D7 ~2 H( ]+ f, j0 \" Q

8 E2 k5 i" W( N- d------ Messages Limits --------
  H' Q$ O9 R" s# }0 H8 |! r; {4 {max queues system wide = 1780 T4 A" ~* ~, \$ |* Q& k; X
max size of message (bytes) = 8192, x  o4 K1 c9 D
default max size of queue (bytes) = 16384
* u8 \- x, \$ L" L+ `  z  @" H7 f6 ]6 D

. ~2 Q8 C5 o; D$ N但是,用ipcs -a : m$ ]- g9 F! ^! ~6 j; l+ U" g. P
root@tl:~# ipcs -a1 |% _" X. J- \% U' x' B
! i7 {; B* Z* \2 H* u0 S
------ Shared Memory Segments --------
/ y1 U7 F1 D) G& v2 e' ?key        shmid      owner      perms      bytes      nattch     status      # L+ U; u) I3 d  p1 A6 w
0x00000000 0          root       600        1024       1          dest         3 h( @  G) b9 A8 a
0x00000000 196609     root       600        1024       1          dest         & n: D( f3 X* T9 I' O6 a; x4 D$ v
/ L3 Y6 F1 |" Z" ~2 Y
------ Semaphore Arrays --------
6 t: W; ]) y0 M2 x# T  `: akey        semid      owner      perms      nsems     
1 N% [# K2 S; z) Z, b0x6411074d 0          root       600        1         
0 T; w9 _0 V% w3 f0x64110957 163841     root       600        1         
: R) _; H3 x+ z4 v) q5 w/ R0x641109a1 196610     root       600        1         : ^% O  h3 S* v- H8 i+ e
8 _6 V- V5 c, \; ?! J/ w6 f
------ Message Queues --------& s+ R3 I8 m0 ]
key        msqid      owner      perms      used-bytes   messages   7 u& k7 m, v3 b7 x5 x

" Y3 |% d! a4 W6 E0 V7 i% W: M# q, ]* n/ ]3 \& {6 ~# H
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?, S' i5 ?9 v8 |

& @$ w% |# N- C1 h$ j
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

积分
2091
沙发
发表于 2016-9-30 09:27:35 | 只看该作者
ipcs 查看的是 Linux 进程间通信的 ipc 资源,而 syslink 所使用的共享内存,并不属于 linux 的,它是 arm 和 dsp 之间的共享内存,通过 syslink 组件访问。或者 linux  下 mmap 也可以。但是 ipcs 无法查询。
回复 支持 反对

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

积分
2091
板凳
发表于 2016-9-30 09:43:43 | 只看该作者
如果是在 8148 上,可以使用 sys_top 命令来查看多核之间的共享内存情况,但 138 不支持。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-6-17 16:12 , Processed in 0.041219 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表