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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
: G8 c% B0 X- s7 ^+ g5 Zroot@tl:~# ipcs -l1 r5 ?9 n$ Z+ X  @- m- a9 V

: S/ _0 v0 f. \------ Shared Memory Limits --------6 P9 @+ m9 Q) m: H1 f7 H6 e. x
max number of segments = 4096
5 z; z% l. m  G6 S9 l; s0 g. {max seg size (kbytes) = 32768, u. m5 b, K# @+ ~8 D
max total shared memory (kbytes) = 8388608/ ?1 F/ {8 F( u) Z$ a
min seg size (bytes) = 1
* w4 F$ f6 w# i% c7 e& j
/ K! M1 O- @, a4 j/ N, b' }9 N------ Semaphore Limits --------
% K1 H( U/ s1 Pmax number of arrays = 1288 ~* o! F/ I# g1 E( ^
max semaphores per array = 250
7 u$ g; ]' H  B: B# _max semaphores system wide = 32000
& V4 F- T( D4 w. j4 Amax ops per semop call = 32* f: I/ k0 g$ D" Z' I8 T2 I# M
semaphore max value = 32767
+ t3 a3 ?9 ]' O" \( x4 N( J0 {+ q( h5 _' n! D% }% L
------ Messages Limits --------
* z0 q# V% X! M9 qmax queues system wide = 178( M7 K- r! w; I1 k% u2 L( i
max size of message (bytes) = 8192
5 Q- W: k3 T1 p, a8 N) D5 g* }default max size of queue (bytes) = 16384
  C2 C" v7 h" C6 I+ t1 j% A& G
7 o+ x, p; S% B( C3 F( s2 f( A5 {& @4 I5 m. Q, {% R  E3 Y5 c' N9 L
但是,用ipcs -a ! z0 h9 ]' [8 {- a: k, \! |
root@tl:~# ipcs -a3 q4 a- w# X+ O# i. M( T

4 W8 |# m% U/ H2 m  M------ Shared Memory Segments --------* t& }5 q1 z" O' a9 T& h3 i4 M8 m* D
key        shmid      owner      perms      bytes      nattch     status        c& f  \2 y8 l. Y3 e
0x00000000 0          root       600        1024       1          dest         
  D( l1 v3 H7 G* ?. E0x00000000 196609     root       600        1024       1          dest         4 n+ \% d9 N3 Z8 |1 l1 _
* f5 V* f5 Z9 R8 s8 x
------ Semaphore Arrays --------0 e. T7 `  [0 v( R  q
key        semid      owner      perms      nsems     
7 F: f+ L: ?4 J0x6411074d 0          root       600        1         * Q% H& F! T$ @; U# d" K1 r
0x64110957 163841     root       600        1         
* U* m6 F4 a( r6 O' Y0x641109a1 196610     root       600        1         
: Z8 A) ^4 Y, J$ E  l
, M5 ^' d7 E, |; G------ Message Queues --------
0 P5 a4 {1 [$ K5 v: @5 ~% r! X8 e- N" vkey        msqid      owner      perms      used-bytes   messages   
' L; K, W7 _) G2 y4 {/ \, m7 }' L! P) b+ C* L. r

( N* D  G7 G' U; |# g请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
* E; q2 \' J+ Q( w0 ~( v0 K* Q  r  z. {  R' q# O- `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2018

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2018

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 12:00 , Processed in 0.037926 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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