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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:" V$ D& g6 Y+ m$ w# }/ X; E' V
root@tl:~# ipcs -l
. P" r2 s$ m4 C8 q- G1 H# f3 Z' |3 \2 p
------ Shared Memory Limits --------. O2 s! b/ [- Q; U3 j6 N# z( u3 C; J
max number of segments = 4096& q" h( h3 Y1 ]* e- M6 H  N& Z
max seg size (kbytes) = 32768
( O5 J4 W) j3 b7 r( H  ]max total shared memory (kbytes) = 8388608
0 e- w1 L3 r# h7 z/ Y, j" Ymin seg size (bytes) = 1
8 {7 D6 G+ k: m7 H& V
, X; c' g4 C8 r------ Semaphore Limits --------! o4 @& _, Y3 G8 W; |6 _  j
max number of arrays = 1287 M4 b; N3 }' I9 V' X0 _) C' u) G& [
max semaphores per array = 250
9 ?& k5 A. c- E3 K: V* p. _4 amax semaphores system wide = 320007 Y! i+ h4 J4 z2 M. M" V$ J* z9 `
max ops per semop call = 32
3 Y) N/ y/ Z$ K: k( K. I2 i2 bsemaphore max value = 32767
& D' }4 T: X8 r
2 p  s6 }0 X0 G: u9 l. R------ Messages Limits --------6 C$ J% G% S, M9 ^/ u9 T
max queues system wide = 178
" j  R0 r0 N. j2 x1 l/ Y+ `4 n, j! qmax size of message (bytes) = 8192+ r2 O9 D/ P* x
default max size of queue (bytes) = 16384
2 \" ~# N& r  T$ k, x4 l* @
$ T) d& U' K& W: ]( z
: h# c* b2 `5 D$ E) h但是,用ipcs -a
/ a) N" H1 U3 ^% B) G4 zroot@tl:~# ipcs -a
/ M9 z& Z5 M, E5 f* b/ Q3 T( h' e* _
------ Shared Memory Segments --------
8 i) z" F! z: _# _! xkey        shmid      owner      perms      bytes      nattch     status        n/ {0 @2 C, A- D8 t
0x00000000 0          root       600        1024       1          dest         
7 G1 }: u* F! ]$ o7 c0x00000000 196609     root       600        1024       1          dest         
/ X5 |* P, U% ~! R8 S  y  N) i: Q) L3 M# J
------ Semaphore Arrays --------
4 m, T4 y2 V, H( a" ?! f) t- L( zkey        semid      owner      perms      nsems     
2 A1 r% f: U* a# v  Z3 Z0x6411074d 0          root       600        1         ; M! p2 q& B5 @- j
0x64110957 163841     root       600        1         8 ~) a5 _: ]) o0 g( k9 ]: w  }
0x641109a1 196610     root       600        1           l+ x1 X' I" q3 g, x1 F& ^

) L- }' [0 M7 [, C5 G0 g1 Z------ Message Queues --------
& o: S  h9 o- @4 J- U( Ckey        msqid      owner      perms      used-bytes   messages   : t" w) j. l7 r7 E8 o" {# j6 |
* G( |, R& z/ b, E% L4 G8 y6 X9 b/ F
% F+ d- P( E& B: W9 Q0 T" b1 [
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
* H& O) w  `& V4 `2 Y' h4 W& L8 X  U" {- v2 u
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2125

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2125

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-16 13:00 , Processed in 0.038701 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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