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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
6 k3 ~$ A! D/ b2 x% _root@tl:~# ipcs -l
# j! p; \( i: X4 [1 S0 i* `* s6 s
, |- E  v  p$ F. `5 }------ Shared Memory Limits --------
2 K6 d: t- O& o" d  A; C) S) Umax number of segments = 4096
+ z% h0 `- p9 A% \6 Umax seg size (kbytes) = 327686 D* g; h, r9 l5 }; M
max total shared memory (kbytes) = 8388608
% {9 A5 Y% u( G8 t/ jmin seg size (bytes) = 1( g5 S* P9 B, d6 z2 ]/ |6 R, a

! ^2 R8 c% |% g9 X- W1 v$ D- W------ Semaphore Limits --------
3 r8 a- e0 c& G. B" U. K% wmax number of arrays = 1285 T0 A4 Y! V1 I/ L; n, @
max semaphores per array = 2503 }& {; n5 C; |* g: }( d
max semaphores system wide = 32000
: d/ O: A( }; y  lmax ops per semop call = 32! Q) @4 A  E8 q: g" x  p  F$ }1 @
semaphore max value = 32767( L0 k& _4 X1 `1 d* [+ G: a
0 `% Y9 S. w' e1 G* V
------ Messages Limits --------
% t. n( X4 g9 a7 \; ?- qmax queues system wide = 178. E0 M' ]4 Q. N5 f* P" M
max size of message (bytes) = 8192
7 X3 E9 ]- ]2 t) U- N$ A* u( Bdefault max size of queue (bytes) = 16384
% o( }( M" Z) \% {3 k5 b* e; P' @2 i; E3 g" N( }; ^

( }! e5 {3 H/ F/ R  {% F- z9 R但是,用ipcs -a
1 B2 q. A4 u- a% r: t) L5 Eroot@tl:~# ipcs -a
$ _' V2 J* C: Z& E* l, o
) |$ o: i* a( c7 a3 _------ Shared Memory Segments --------
" d- }+ a+ e) N& {; T1 Ikey        shmid      owner      perms      bytes      nattch     status      
3 t. q, z% X5 a0 E2 f) B2 r. f0x00000000 0          root       600        1024       1          dest         3 G  k* W! O4 l3 S8 f6 a( Y$ B
0x00000000 196609     root       600        1024       1          dest         
9 T: M/ J8 r$ ~+ m) A+ T; g& f3 k/ _0 T) {- ?
------ Semaphore Arrays --------2 t9 S3 L. o3 Z; R& g8 H% G7 m
key        semid      owner      perms      nsems     3 b* t9 Z5 |6 u) K$ G
0x6411074d 0          root       600        1         8 h' R4 S1 \( b, Y5 F
0x64110957 163841     root       600        1         , M+ S  i1 {' I/ J- K
0x641109a1 196610     root       600        1         
" X& d( ~5 e# m5 f0 d8 W/ @
0 x" f( j+ e: {/ z& V------ Message Queues --------
' y$ P9 Q' ?& l) Ikey        msqid      owner      perms      used-bytes   messages   ' T! p( f( E+ Q; o2 p& C3 y

; {# M7 |) W, c' Z. I8 n& Q# Y) M
: y: p, f. p& z1 ^% c2 F& u请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?+ W3 n. V! Y: _, X

1 f; A, `( ]  r; [% @; F  T
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2070

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2070

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 20:20 , Processed in 0.036816 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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