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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
1 z8 x, L! A' B: droot@tl:~# ipcs -l
0 ^* P! [. E0 O/ b. V
' h/ y) f: H+ E, j$ a4 x* _8 D------ Shared Memory Limits --------
$ P4 y. F9 j+ v* smax number of segments = 4096
! N$ A4 x0 n; |% t; nmax seg size (kbytes) = 32768
6 I6 j7 j9 H4 y2 Zmax total shared memory (kbytes) = 8388608* s7 R+ E) o+ O* M+ ?( m$ e) d+ }# T
min seg size (bytes) = 1
: u, E* C4 ?; D: y& V0 r3 y; |8 L( \' G/ X% X% ]
------ Semaphore Limits --------
7 \" p" C3 E7 j& M+ Y/ s+ x0 h& |  ^max number of arrays = 128
8 J" V' p$ \( U* z8 Y: @max semaphores per array = 250
  _# I2 Z6 N7 e6 Mmax semaphores system wide = 32000
) z9 h+ `- B* F) x0 F5 tmax ops per semop call = 32! ?, O* a0 J  I  s# |8 J4 q
semaphore max value = 32767
" ~6 Y, y- ^" F# F( ^: }3 Z# f+ \: f. P  Z: I
------ Messages Limits --------( f" g8 |0 Z2 g0 X  G
max queues system wide = 1781 g9 w2 M/ z3 G: j
max size of message (bytes) = 8192
# S- g7 v$ b7 M( b6 R! X$ j! k3 e9 ]default max size of queue (bytes) = 16384
' g* U! f, x* b; ?* x+ ?% h( F, i( f
9 `4 w: L- X+ F+ k- N
1 H) G0 R2 f% |$ O但是,用ipcs -a ; Q( O+ ~+ U  ]% e5 Y6 U
root@tl:~# ipcs -a
% r% y( t% m9 a6 j$ T& [: j, Z# R% F' g" i( u$ I
------ Shared Memory Segments --------- X# c7 S. f- Q3 p: m. V: t
key        shmid      owner      perms      bytes      nattch     status      + p0 _4 c2 u6 P0 B$ D4 N+ G& d
0x00000000 0          root       600        1024       1          dest         & \" l7 M' a/ }
0x00000000 196609     root       600        1024       1          dest         
( }9 ?+ ~; O- P# ~( p. u; ^+ {- g4 y
5 p0 |4 C8 j! H+ [2 a, Y------ Semaphore Arrays --------
& x- J) H  @9 Z9 x8 T. B. @key        semid      owner      perms      nsems     
1 `6 |9 |1 `  m2 s) Z. d0 [% W0x6411074d 0          root       600        1         
. s9 \) ?' q3 o4 L; v" p. F  E% O0x64110957 163841     root       600        1         
5 {; L( G" N: s) G' `* @: v0x641109a1 196610     root       600        1         
0 z- Y7 ?. _5 I$ H$ J/ y/ f9 n1 T* m8 w% J& X8 t8 Q" n
------ Message Queues --------
# J$ W) K) g: r$ ^" Zkey        msqid      owner      perms      used-bytes   messages   
! Z5 K/ i" H  K
' Q$ |; w) I' I9 _1 Y  n+ v
# n- ~6 n; [( U# n& M/ L请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
6 R: a" K" G6 z4 w: \% ^, ]
- Q* f  s3 R4 \! `5 m. l
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2100

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2100

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 12:27 , Processed in 0.038995 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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