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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
. L) R7 X8 [& Nroot@tl:~# ipcs -l
' x; V3 z. N+ p+ U
2 u, f3 O% a, s------ Shared Memory Limits --------! {7 W% q$ h% z8 o$ \
max number of segments = 40963 i4 S2 X* p+ o) i
max seg size (kbytes) = 32768( [; b- t- Y0 b4 L+ B% v9 F1 }
max total shared memory (kbytes) = 8388608, D6 I( `% Y: b/ o8 ^# o3 ~
min seg size (bytes) = 1
- }& R' @8 e$ G/ g; d- ?
- ]5 }/ G& t( {. j; v------ Semaphore Limits --------% n, R( Y+ N, d: Y" q6 }4 i
max number of arrays = 1283 m# r. u9 a+ M, k
max semaphores per array = 2506 d! [% p$ s0 F6 v8 a+ T' h
max semaphores system wide = 320001 L- Y* X* u3 t
max ops per semop call = 32& r0 J3 x8 b8 z' ]* G, a
semaphore max value = 32767
9 V5 Z( J& |8 J- }1 Y7 P" k0 ?$ }# f* ?7 G6 j6 E
------ Messages Limits --------! G  F& ?: a1 R3 c- ~2 Y
max queues system wide = 1786 D9 z' l! c2 u: a8 M; r, ^
max size of message (bytes) = 8192: L: g; ^6 w$ X! f
default max size of queue (bytes) = 163849 V6 r: S  N9 X. }; d% V, j5 V
+ D/ |, V, J2 v1 F1 ~' z

3 P  j& J; G& X0 H但是,用ipcs -a
( h9 I( r4 H+ t( Vroot@tl:~# ipcs -a
+ g1 L# n" Q& J! t0 W7 y- s5 L; q! T) d" K" a/ A* E, s7 |: n( x
------ Shared Memory Segments --------
5 T4 g4 S! \; s0 akey        shmid      owner      perms      bytes      nattch     status      
  p. T! f0 N$ C* P) v4 f9 F* P0 s2 W5 T" U0x00000000 0          root       600        1024       1          dest         
, G1 P/ V+ F: l& e0x00000000 196609     root       600        1024       1          dest         
! F1 A/ e- _- P" V# J8 Q9 z. K+ h- i  i7 G  A& j5 `
------ Semaphore Arrays --------3 S9 r. l( H0 y( n6 G# o0 e
key        semid      owner      perms      nsems     1 {) n+ H: X5 t1 ~+ [( f; a
0x6411074d 0          root       600        1         3 L+ z; P! z  J+ g
0x64110957 163841     root       600        1         $ g7 t0 J2 Q3 E* ?  s6 h7 E& Q  ]
0x641109a1 196610     root       600        1         : w% I- W2 {$ g, X

4 `" T7 p, p& |4 d2 ]. G) U------ Message Queues --------
$ l8 L: p) o' z% p+ d! M5 N: Lkey        msqid      owner      perms      used-bytes   messages   3 d: X% C3 n2 `3 F$ g

3 K8 X$ ~# V' s( h$ L. x9 A  h/ v1 f! V! ^+ }' P% ]0 I+ {
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
$ N" m9 g: m5 \/ d; u1 |: a
1 h* K# D' R7 x7 @8 ~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2125

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2125

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-16 13:48 , Processed in 0.037914 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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