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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:/ w, e& q! j+ T0 X' Z/ M& X* C
root@tl:~# ipcs -l
% ]5 o( l; l- m; q
! y2 F; m' T2 s9 }------ Shared Memory Limits --------, \! M. V* `+ _9 Z
max number of segments = 4096
( l" |9 S1 {! Ymax seg size (kbytes) = 32768
: {% v/ j: q* ~; @! l5 g; Omax total shared memory (kbytes) = 8388608
: T) F$ A8 t  F& @; }+ ?$ dmin seg size (bytes) = 1
1 v% Q: X' V4 i# y
/ v/ k- `0 X1 r------ Semaphore Limits --------
& p+ c3 g2 k5 d: S5 }' E' x1 B* T# amax number of arrays = 1281 s* s! Y, ?& n: W  V
max semaphores per array = 250
$ h/ B1 V6 [# R9 v  F2 o6 ~; Jmax semaphores system wide = 32000! S; b" B$ x% A( x% v. E0 A6 z7 S
max ops per semop call = 32
9 `4 k4 K6 w, S  I6 l/ O: ~$ |semaphore max value = 32767: {- Z8 x" u; ^, d
9 k2 |4 M) ~2 D5 x% y8 _. m' g
------ Messages Limits --------
. H4 {" g  Y: c4 l. z7 G! kmax queues system wide = 1788 w" ^1 Z: ?1 E
max size of message (bytes) = 8192' `4 D1 H, a2 O& T1 p' Q
default max size of queue (bytes) = 163849 k  d' c0 X* k/ P

4 z1 \% S* S5 J  w; F
/ T& Y- M! \& {1 o3 q  J但是,用ipcs -a 8 U( N; p) r/ k$ A$ m
root@tl:~# ipcs -a* X& c8 x; c9 h

2 h: V7 e7 |: W9 f+ i------ Shared Memory Segments --------
2 R2 {1 E) `8 ^key        shmid      owner      perms      bytes      nattch     status      
$ T- D8 C2 G( f# s9 s2 C2 v0x00000000 0          root       600        1024       1          dest         
; ^/ B7 f. N) f* X% |' b5 P" k/ g+ F. R0x00000000 196609     root       600        1024       1          dest         
! e8 H2 h5 \8 ^& N. O. c. f8 U' A
  D& b. Z( J% `& N# R2 c: A------ Semaphore Arrays --------  _; H# }1 v; M1 h& p
key        semid      owner      perms      nsems     
* v; ^5 f3 r( u" H+ @& z) e0x6411074d 0          root       600        1         / Y/ Y& E/ W9 g
0x64110957 163841     root       600        1         # k: ?3 T' L7 f& @% ^6 s& h
0x641109a1 196610     root       600        1         / K7 z, F. n/ U# Y% B* H* a

( K8 v- P' d4 z$ ]------ Message Queues --------; Q' d2 {+ e6 |+ _! C; G, }
key        msqid      owner      perms      used-bytes   messages   , }5 H$ t' a6 s! U) d) C: N
9 V' H8 _# W  M2 K6 I
; e! N, E% z4 l0 g8 t' v6 {$ F
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
. C% v  a. X& Y6 c8 T) r
  t1 s4 [2 [' w0 n
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2020

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2020

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 07:03 , Processed in 0.035786 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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