如何查看syslink 组件使用共享内存的情况 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:9 C) A# R, o. J: ^& B: B
root@tl:~# ipcs -l5 |$ y! ~+ i, R

- G" \/ I8 D: e/ `% E- N------ Shared Memory Limits --------* Q$ t4 r0 a0 N* ^) C; m
max number of segments = 4096- _( m0 G  t8 J% T" n6 l$ K
max seg size (kbytes) = 32768
+ }7 P, z( l$ F! T2 \5 H5 A# Ymax total shared memory (kbytes) = 8388608/ S9 J6 @* G7 K0 q: r9 ~' g
min seg size (bytes) = 1
7 B, Q6 X8 a7 o$ o4 {# U/ l% S9 V: b6 ]: ^, j
------ Semaphore Limits --------/ C; N$ p% N0 C2 {6 P
max number of arrays = 1285 I+ V  |- h6 w! k* g) f1 k
max semaphores per array = 250
9 C/ }& A+ J. d  _$ p7 ?max semaphores system wide = 32000; L9 F4 Y0 M0 l$ m! S' N
max ops per semop call = 32
) E  U; J; f: v; A8 \& b9 e8 |* Usemaphore max value = 32767
' K: E+ Q0 B( S. l0 B0 g, a
  C- E' c6 B- t  W------ Messages Limits --------
* x( [3 g0 c6 @; l. X& H& Gmax queues system wide = 1781 I$ p: e& S+ G% ?6 o! r/ n
max size of message (bytes) = 8192' c3 Q6 }( ]$ {8 H/ s* z* f$ e) R
default max size of queue (bytes) = 16384
3 v0 X' j6 v! O8 Y2 @* ?! U1 |, K7 ]. m5 P' Z2 h) q
  `+ f! T4 v8 K
但是,用ipcs -a   Y' e: d+ @' b. T: G
root@tl:~# ipcs -a
# V8 T2 s1 X9 N' ?6 I% u3 ~8 K  ]4 q. X  ^, D/ k6 N
------ Shared Memory Segments --------( \/ `" J2 m! k& a+ a
key        shmid      owner      perms      bytes      nattch     status      
5 b0 X5 o. a( {7 r8 y+ M4 F0x00000000 0          root       600        1024       1          dest         
+ h! p& Q! u1 f$ ?/ M0x00000000 196609     root       600        1024       1          dest         
1 b; d; M3 K. @  Q* F; u3 f! m
# z5 b2 l( C5 W. K( x7 K# |1 J------ Semaphore Arrays --------5 C6 m8 j9 b2 y. s3 h) O* b
key        semid      owner      perms      nsems     * K. j% Q3 \- B, F2 M
0x6411074d 0          root       600        1         
) M( H( y2 Z+ C. A% Q0x64110957 163841     root       600        1         
6 W4 t* y2 w5 P6 Y1 d# R0x641109a1 196610     root       600        1         , W" N- O) j0 I8 \& D7 d8 \  Y
/ Z( A+ F; Q0 ?. W% D* c9 J. L
------ Message Queues --------1 A$ p" c2 O# _% W. e
key        msqid      owner      perms      used-bytes   messages   % R* u1 _& R# n6 O" o

4 u* g% W1 Y" V+ v- p& `6 A6 z; w( E5 }  y. W' C/ A1 H
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?0 `, I% [9 l+ g

9 w7 o) z  Y+ s& a( G) @' S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2178

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2178

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-1 08:12 , Processed in 0.043250 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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