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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:8 T. _8 V7 s! }
root@tl:~# ipcs -l
" Y7 f0 b! {; U( q* J& L& `" C* |$ h& v+ y& R
------ Shared Memory Limits --------
7 L3 O# h5 n" l0 wmax number of segments = 4096+ C. c  i: z& e6 S
max seg size (kbytes) = 32768
% i( u% |6 \7 a. I# e4 t3 i# ^max total shared memory (kbytes) = 83886086 Q! _9 J% N; l" |0 }) K
min seg size (bytes) = 1
7 b1 i# x5 S! L3 F. Z5 x0 x
- P7 |8 d. C3 v------ Semaphore Limits --------: i5 g! j& ]. t1 u
max number of arrays = 128
' a1 [. j2 [3 C. g/ H* O5 lmax semaphores per array = 2509 p. c$ |. \  m2 U/ X* C" q1 t
max semaphores system wide = 32000! q8 `% }$ z  Q& @4 {
max ops per semop call = 32+ J1 y0 G5 ]6 e7 o
semaphore max value = 32767
; I5 {6 h+ Q" d: R$ G- c2 h0 o" ?
------ Messages Limits --------  u  b& ?; W' _3 l+ w
max queues system wide = 178
: m6 t! g7 K( r7 S1 Omax size of message (bytes) = 8192
5 ~* W: x# G  p! u: g. Wdefault max size of queue (bytes) = 163848 n: H3 r, ?" d. q! T
. y7 T! q7 V7 Y% i* S" D& v) `
/ T& b5 W3 g1 @- F' b
但是,用ipcs -a
7 O; ?7 j. {/ W0 c) k  qroot@tl:~# ipcs -a
% S  }0 h& V, Y: r0 N3 g
3 i" ]. T/ V& |) V4 a------ Shared Memory Segments --------
  ]5 P+ e* i7 d9 {* \key        shmid      owner      perms      bytes      nattch     status      ; B& F4 f. I/ i9 L; m6 A$ A
0x00000000 0          root       600        1024       1          dest         & y- d& t* W- v% l
0x00000000 196609     root       600        1024       1          dest         # F& i- \8 I/ |: K( x

( R/ ~, j2 Z& X% ?------ Semaphore Arrays --------: i+ e2 m% `  S
key        semid      owner      perms      nsems     
/ \7 ~6 O7 n3 o) k0x6411074d 0          root       600        1         
" e' p) J/ X/ m( N2 C  x/ t2 g0x64110957 163841     root       600        1         3 ]. d' _+ q+ N. z
0x641109a1 196610     root       600        1         
; N0 H, N& h: Y8 H# e9 h  x7 P* ]; x
------ Message Queues --------
" }5 C. v9 N! o3 `key        msqid      owner      perms      used-bytes   messages   % \9 P, e( |9 u: `

* {8 @1 @5 V' T1 d- `" s9 Q; ^1 S& ]/ p$ ]$ j
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
! H/ {. K4 h( Q. }. L" \! i" V  ]( H: R! n
分享到:  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:50 , Processed in 0.040741 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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