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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
* U! p' Y( p3 Jroot@tl:~# ipcs -l
- H5 p2 }$ W5 c7 q- h
$ ?1 L9 J3 ?$ @9 Q0 J3 n------ Shared Memory Limits --------
9 ~2 P9 g; j$ R0 N! ~: i: C4 y) F; m9 }max number of segments = 4096
3 A$ P) y. b* f1 c# B  \1 Hmax seg size (kbytes) = 32768- {& l+ d/ l* X5 _
max total shared memory (kbytes) = 8388608( J* E' `" M/ g: p/ {9 H
min seg size (bytes) = 1! i: `( f! k! c! N: p. o6 P( e7 ^
7 X2 M- o  ?6 f! f1 V, k2 T
------ Semaphore Limits --------
- r( p- X7 B8 s0 h& G& m/ gmax number of arrays = 128
) {7 R& s& I5 m0 O  |( Ymax semaphores per array = 2506 b3 n/ `: a$ O' i0 k
max semaphores system wide = 32000; `  s  D4 B4 }8 t
max ops per semop call = 328 @7 Y) ^, L7 b; |# p( @2 P" d- H
semaphore max value = 32767
/ I/ }7 {  H! v7 S( q( D: Q# X7 h2 F; U4 C! X
------ Messages Limits --------7 g$ ^7 v! G% L' \
max queues system wide = 1784 g- T# y' T: B6 ?; C# e
max size of message (bytes) = 8192. f4 ]2 {8 K' z) \" [0 n- A4 f
default max size of queue (bytes) = 16384
. y4 r9 _5 X: v/ M- k7 q' n+ k' i% q  k  K! [& ]8 C+ T* k
0 i8 b1 e6 N3 `+ `1 R8 F
但是,用ipcs -a . m* y1 m2 R! F  `; e7 f; q
root@tl:~# ipcs -a
1 F0 Q& ~2 y! P3 J8 j1 Q+ S5 u7 n* \5 F; S- ^
------ Shared Memory Segments --------  v  x$ Z( Q) h- V% ~
key        shmid      owner      perms      bytes      nattch     status      ) J# @- h/ U9 h7 k
0x00000000 0          root       600        1024       1          dest         ' w* z/ `+ X# X! m
0x00000000 196609     root       600        1024       1          dest         7 G! `4 Y! E& B$ M2 p: D  z& l
& y. z+ p0 X% f1 }- ?- [. ~
------ Semaphore Arrays --------* w. J' F0 x+ ]6 N. \
key        semid      owner      perms      nsems     
/ b( f5 [4 @1 h& c5 D0x6411074d 0          root       600        1         . y3 r) L' Q" y+ J+ [- {
0x64110957 163841     root       600        1         & r0 @9 d, b8 w7 Y' w
0x641109a1 196610     root       600        1         4 y2 x' g2 i9 n, r8 [1 U

5 v' Y/ @9 h7 b/ t% d. r------ Message Queues --------% ]' g! y  g3 m5 t
key        msqid      owner      perms      used-bytes   messages   " a' b7 u7 A, p! r! D- o
  n( h8 x" G. w9 J
# J4 _/ m- ]% n! L5 \% I
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
* G- U4 m2 J3 k; ]$ H% h% C4 @# o# t+ F7 e, 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-6-12 06:01 , Processed in 0.037322 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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