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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
" `7 C' ~/ E; W! D  R4 yroot@tl:~# ipcs -l
5 U( a& l6 N0 {% Y5 H+ w- \
: A0 j5 E) u9 X, j) S- k# i* H% X------ Shared Memory Limits --------3 n6 `& p8 [  q4 s
max number of segments = 4096( l3 X; n* c4 P9 v% z
max seg size (kbytes) = 32768
* {" A( B' V9 e4 S5 `$ e3 ]* P' c0 dmax total shared memory (kbytes) = 8388608
* }6 i& h% n4 i% ^1 X+ Fmin seg size (bytes) = 1
$ z, w% e1 m! V7 F9 a4 |& ]* t3 F
------ Semaphore Limits --------
- I! o/ e( w  O2 mmax number of arrays = 128$ Z( q' y9 N% @( c7 {) V0 @
max semaphores per array = 250
$ |. N% ?( A$ r$ F* M2 r  Bmax semaphores system wide = 32000. W1 r7 Q& w* Y. M
max ops per semop call = 32
& |6 G0 `2 y6 a! d8 [1 i/ h' C+ rsemaphore max value = 32767
3 {/ b$ u* o  y# Y+ W) M! G! U$ [' t+ u0 @- p, h8 h" ?# n
------ Messages Limits --------
2 @2 {# Y& R3 X; N# N0 `6 i+ Dmax queues system wide = 178: M' I- i* K, H1 P* s' v
max size of message (bytes) = 8192  U% P8 C4 V" [7 C: k
default max size of queue (bytes) = 16384
! D; A0 v  e5 E$ X, h
! b6 J! Y% m5 z' U& S/ [% c& J# Z6 `& F4 E* _
但是,用ipcs -a ! H. W# z) M" @* s
root@tl:~# ipcs -a
' O$ X3 |8 V7 P; b1 A
9 c6 ?2 c9 w5 i+ |1 p5 c4 x------ Shared Memory Segments --------% }+ Q9 ?( q  b. F: N, D# Y4 W# g  y: _
key        shmid      owner      perms      bytes      nattch     status      0 G! _( A( [% ^) m' P3 }- r* R0 j# D
0x00000000 0          root       600        1024       1          dest         
4 E0 p; g5 p& ?0 ^0x00000000 196609     root       600        1024       1          dest         
, x- T  p4 Z# s& e# J3 i& w) U4 b+ m2 F
------ Semaphore Arrays --------
5 k+ ~7 k+ g% t( [( vkey        semid      owner      perms      nsems     
0 G7 M# n5 |% R& \2 @! v9 @5 F0x6411074d 0          root       600        1         
5 M+ I9 e, c7 m1 k/ T0 z2 t  _0x64110957 163841     root       600        1         5 ?5 @, [4 X9 D4 D* m0 k
0x641109a1 196610     root       600        1         
4 Q0 p4 U  Q& y$ t9 D) o' K/ K+ d8 b& g
------ Message Queues --------6 X" a6 L. o& A3 F+ D1 T$ M
key        msqid      owner      perms      used-bytes   messages   3 y1 s$ k* L9 k7 w/ x# T! X) I

3 [& O+ V* }& W* L( b. Y7 \: Z6 @' Q6 U; W
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?8 p7 T( J  ]4 J

, f7 G' i; K5 w
分享到:  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:08 , Processed in 0.035597 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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