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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:; k' K' \" {2 K0 c" g+ x
root@tl:~# ipcs -l5 F* G4 v! f/ ~' ^/ S4 p
5 }4 D8 T$ R4 z! f! P% ?
------ Shared Memory Limits --------
7 C$ C9 e# h3 J1 A- zmax number of segments = 40961 g" F0 u1 N  `
max seg size (kbytes) = 32768! M' B" R8 b) V5 |& Q5 q& H+ m% \
max total shared memory (kbytes) = 8388608
: E# b$ G' o  Y7 amin seg size (bytes) = 1  S* p( o5 |7 @2 o
- U+ `: U1 c/ V, S: |+ N( n% `1 q
------ Semaphore Limits --------
' z9 Z/ g( B# G+ pmax number of arrays = 128. R4 U& z5 G0 O6 s
max semaphores per array = 2506 O; m7 ^; P' z, t9 G1 J1 S7 |
max semaphores system wide = 320001 G. R$ {) n4 q( X' B% J  K: B
max ops per semop call = 32# H: r  [9 S( G3 t( ?$ x+ Y8 o' P
semaphore max value = 32767. X& B! K- @( i( |& y

: k/ R/ y2 e, |, y; q------ Messages Limits --------
; x$ D# _" u% I) a% \3 Fmax queues system wide = 178: a  E8 |; Q/ \( z
max size of message (bytes) = 8192
1 w# A' M' \$ B9 qdefault max size of queue (bytes) = 16384
+ J! h3 x" m" S# H6 c
# b' v* d$ k! e
* \' l$ Z- ?+ t6 o# J+ V但是,用ipcs -a # K8 u* q2 `1 }5 r/ p
root@tl:~# ipcs -a
' o; p* B, z% p( E7 s% l* J4 D. X$ `3 ^! L4 c
------ Shared Memory Segments --------% p' o1 v+ q9 t4 E
key        shmid      owner      perms      bytes      nattch     status      ) H5 ]" r: p5 H( e* J7 D" `- Q
0x00000000 0          root       600        1024       1          dest         & L( U2 W6 P) {: ?6 f
0x00000000 196609     root       600        1024       1          dest         
. c# o  [/ `0 x4 @9 R; `  s; J9 |0 f- u% S" X0 b
------ Semaphore Arrays --------5 b2 F7 ]! t  O) l: Y5 W5 P
key        semid      owner      perms      nsems     % m# v9 Z  Q3 s+ ]
0x6411074d 0          root       600        1         # A' U# j0 p$ M( w+ t
0x64110957 163841     root       600        1         # |2 i7 {0 T  J% r0 k2 Z5 a. N
0x641109a1 196610     root       600        1         
( B4 f6 k2 ?) G; I$ g( c+ S0 @8 W0 I9 g
------ Message Queues --------
0 C( i" Z0 m6 \& T& |+ Y+ q, u; Okey        msqid      owner      perms      used-bytes   messages   
5 K# W; J/ m  [9 z# a9 ~6 T7 O. r8 n' h1 B
+ h8 i) i# o0 t' z
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
9 K+ O3 x. p+ s
7 F, e6 `8 [( Y1 l5 w; N
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2110

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2110

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-18 23:52 , Processed in 0.036370 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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