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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
  h0 o& x& d6 A) [2 t/ Yroot@tl:~# ipcs -l9 j  ?* x) F, o3 z% S9 r; E4 z& ^
! l% x' A3 \. ], ^/ f( R5 f( }
------ Shared Memory Limits --------
/ B6 }' F% s" f2 R% Fmax number of segments = 4096/ M4 J) n# G* V+ ]4 e
max seg size (kbytes) = 32768
& [! g) |; w. V7 m1 G$ Z. Vmax total shared memory (kbytes) = 8388608( y; H6 X( s) e& C
min seg size (bytes) = 1
, H' H  A- J' Q' O. J6 s, X8 U3 k! P* Y$ h, f- M" ?7 y8 m
------ Semaphore Limits --------+ _" L4 \$ ~! `
max number of arrays = 128- I' v  `8 C4 A; [: V3 Y
max semaphores per array = 250
5 Z: K$ k) {& w* _  S9 bmax semaphores system wide = 32000
9 R$ s; A9 K+ e3 B* ~! Hmax ops per semop call = 32
' z% f: p( Q8 i+ S% nsemaphore max value = 32767
6 i* W+ q% @7 b7 M8 O+ E8 c2 q8 }" R
------ Messages Limits --------
1 y5 x5 p' v$ }: S- {: Wmax queues system wide = 1780 \. `2 M, r( c5 F% h
max size of message (bytes) = 8192
( X/ w6 V% y7 H5 `default max size of queue (bytes) = 163847 t( {* o7 R7 }# v; B: k
% ?( X0 Q6 u. t5 F& X4 F" w% c

' @! G7 L) n; n* N& @( ~& _1 o) U但是,用ipcs -a % G7 x- x  Z2 `  x
root@tl:~# ipcs -a. F) r5 n6 f0 K
- s* o4 l# _) o2 b1 o1 ?
------ Shared Memory Segments --------* U9 g. I" f# K) B+ v, [# K
key        shmid      owner      perms      bytes      nattch     status      ) V# I2 V6 U* V/ o5 f1 c
0x00000000 0          root       600        1024       1          dest         
" ]9 s4 t' m5 g, s: K0x00000000 196609     root       600        1024       1          dest         
" V; a. b2 C4 N
2 |& |" }7 D6 t: S, @; B) X------ Semaphore Arrays --------% t# S9 e( ~5 v6 N( ~
key        semid      owner      perms      nsems     1 a+ d$ }2 {3 K+ o7 c. r- Z& L6 F
0x6411074d 0          root       600        1         , A4 r" p. u& h% M
0x64110957 163841     root       600        1         " {2 B4 D6 c$ N+ B8 Y' R& L: E
0x641109a1 196610     root       600        1         
/ @7 k" I6 G# b5 u/ J
/ d' E& x# o0 l( ?/ G3 A$ ]/ e------ Message Queues --------& g9 ?/ J4 Q/ H' t6 o$ Z/ H% \
key        msqid      owner      perms      used-bytes   messages   ) T+ I6 d8 s# S. r0 w
6 M- y2 k$ ^. M, V" }& j3 h
* w  T$ w9 Z5 @( H+ w
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
! z2 k% Q. ~6 N/ p3 X1 b
: k. t6 d- v1 J, [5 k7 j% d! P
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2137

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2137

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 20:36 , Processed in 0.036345 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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