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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
0 e3 v, G  E. hroot@tl:~# ipcs -l; G, S6 z, F& g: F
# R: G; U8 [* j8 Z/ {
------ Shared Memory Limits --------
3 R: \0 y* l. A! E* `max number of segments = 4096
' G$ i) N& R$ s9 R# C, e; Qmax seg size (kbytes) = 32768
% M  q1 l0 n( j+ @8 p$ Q6 P" Amax total shared memory (kbytes) = 8388608- B$ i9 d  u$ G# Q7 e4 Z
min seg size (bytes) = 1
) H: I$ r' x% M- }7 x' Q5 L% P
, ~  G0 o: F$ v) o% E------ Semaphore Limits --------& [, M6 e6 ]$ c$ J! K6 v+ Y1 \
max number of arrays = 1285 P9 k, B/ G, N* M
max semaphores per array = 2504 d( [( e7 T* H3 \7 E) J
max semaphores system wide = 32000" O5 K- V1 L( P' m. f' X5 l! q. [
max ops per semop call = 32
/ Q' t1 M' ?6 x+ w/ L1 Xsemaphore max value = 32767
6 d$ _+ ?- e: |# q" b3 }: u- `% `
------ Messages Limits --------: \% q; j% F7 T- m+ h; `" c% T6 Q" T
max queues system wide = 178
) l1 J( T# Z) [5 r6 Z; L* M& Imax size of message (bytes) = 81923 O) R) B; ~3 s+ L
default max size of queue (bytes) = 16384
/ u6 g; L$ E3 r! S/ r) k  L  S
, K- R* m; F. D6 l1 @7 Q
% }* V! A" P' f1 q  l1 L3 `0 O但是,用ipcs -a 3 C4 b: g& E+ Y0 N6 B, H3 l3 Y
root@tl:~# ipcs -a
& m( d& M7 E9 O- ~5 [1 V7 ^9 a  ]6 O2 a9 y6 p8 f
------ Shared Memory Segments --------; ?# v8 L# y$ \. L0 @0 p' c& e
key        shmid      owner      perms      bytes      nattch     status      
! E5 v6 e) @7 Z9 x0x00000000 0          root       600        1024       1          dest         4 v/ b( b, _, Q* l, M6 Q2 P
0x00000000 196609     root       600        1024       1          dest         7 |1 u  ?- [3 L# C7 [( g: W! p2 P

6 |- I7 Z5 p2 P, w: q8 A' M' P------ Semaphore Arrays --------4 K# v1 H, \5 o6 V/ }8 o5 g$ ]; v
key        semid      owner      perms      nsems     * E, R% y. R% ~, v2 A
0x6411074d 0          root       600        1         
$ R$ t1 p6 u( E! E1 g) \0x64110957 163841     root       600        1         
( Y, [5 v1 ?/ }! C0x641109a1 196610     root       600        1         # X( g/ J: g, _8 ^9 B5 a
/ y5 [* U0 |" x
------ Message Queues --------, e" F" W  n: {7 ], L9 O. q
key        msqid      owner      perms      used-bytes   messages   ' F" m* ~3 q; L% t8 k& u( `
. |  t: p+ j2 j! k( V- ^
# J& v  W; p0 B- J% Y  d: f
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?3 R* J, e$ v/ h; |  I

- O( x5 G  f% h$ y! o2 s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2027

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2027

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 12:31 , Processed in 0.040987 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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