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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
( K; I  X0 }) A; d' @$ v7 I0 k2 Eroot@tl:~# ipcs -l
( G/ e+ o$ r% b) b; K: ^8 t( I/ z# L
------ Shared Memory Limits --------
1 f+ p& R9 n# K+ C" a! e3 Wmax number of segments = 4096
9 ]7 ]! d0 @) g& D5 i: p7 Imax seg size (kbytes) = 32768& e0 f0 t% g; h
max total shared memory (kbytes) = 8388608
: H$ W. B8 {5 R1 j6 M/ |min seg size (bytes) = 1- h( I. s8 |6 C7 T! w$ V9 Z2 L

3 u6 h8 W8 N1 z/ x: L$ L------ Semaphore Limits --------
* q- ]( _! m/ C* d* ]9 fmax number of arrays = 128& t. Q2 k% v: d7 {. v8 w- b& A+ F0 N
max semaphores per array = 2502 z6 g  ^  n% Q7 ?3 M4 h
max semaphores system wide = 32000. M3 |7 q4 G; U1 m1 p
max ops per semop call = 32
2 C; n6 P4 g% ]5 z: ^semaphore max value = 32767) b5 G# e" {9 s  J. z

: I& G. {4 t) @8 y1 u- K1 K: K------ Messages Limits --------9 H, u: d5 O8 l( _3 Q7 m
max queues system wide = 178% F; C, m* r; q: ~" y% U; X
max size of message (bytes) = 81926 z# D3 \& p0 w
default max size of queue (bytes) = 16384
# j+ ]) g( }1 j+ R, N4 A
# z- i) C* @& ?7 e+ G; Q4 t/ ?: a- Z4 @; u% g( L5 }
但是,用ipcs -a 2 q9 D7 X" r: {" U  k8 T/ D
root@tl:~# ipcs -a+ I. O$ m# u5 R7 c
2 K9 J7 _; r/ T0 ?3 ]8 P8 A/ y( y
------ Shared Memory Segments --------" X7 `. Y. y" W' _. t
key        shmid      owner      perms      bytes      nattch     status      
' g( c. d" O9 K9 l' L( W* l3 i0x00000000 0          root       600        1024       1          dest         
8 d& D2 p( Y, z! k0x00000000 196609     root       600        1024       1          dest         
6 g4 {+ H2 P( b& o: p* j9 A4 g( }
4 b& I$ J( ^* ^  T------ Semaphore Arrays --------
1 ^3 x2 L" z/ ]' n: ukey        semid      owner      perms      nsems     . `. }4 ^1 M1 Q, M5 Q" s' f5 I
0x6411074d 0          root       600        1         % ^0 Z* `5 k% w0 O& G" ~; K
0x64110957 163841     root       600        1         * h/ q( L/ L; y; S* B
0x641109a1 196610     root       600        1         % n8 ]0 P. F& o

! j  \1 Z) |7 P) ]8 }------ Message Queues --------
6 e9 d1 Q0 a2 w7 l' C' d- Ekey        msqid      owner      perms      used-bytes   messages   / N0 c) E7 a' Y- R- C  n# M9 [1 f9 A

  r. ^% `& O- ~8 p" u2 v: E5 `9 p: |) q; \  Z: W
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?( J( q) u( A1 A" a$ r
% V1 F' Y5 _& \/ m$ l+ w
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 23:28 , Processed in 0.041196 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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