如何查看syslink 组件使用共享内存的情况 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:7 a+ C' v& W4 Z4 @: u1 w6 V
root@tl:~# ipcs -l
) m2 I- w( G' D1 ^: E8 L* t+ u9 N7 G% x( M
------ Shared Memory Limits --------& ^% F- J" L+ n* Z. f) S
max number of segments = 4096
: e' I$ L) H& @* Fmax seg size (kbytes) = 327681 A5 Q9 E6 {" @. h) w
max total shared memory (kbytes) = 8388608
* v5 X) \- @+ G) c( L; |" vmin seg size (bytes) = 1# i# K1 A( n: M* L# |4 ]5 h
% p. ?% H- s3 ?2 p' E
------ Semaphore Limits --------
  I& Z4 T2 x  [! S4 W5 S2 gmax number of arrays = 128* B) Y; x% G- t: Y2 X, r8 Y; d; f
max semaphores per array = 2502 u3 N8 I3 {6 H  L2 [9 n( H- K
max semaphores system wide = 32000/ ~2 G/ ?' q8 t
max ops per semop call = 32
0 i1 ~3 f9 I4 [5 A8 r: rsemaphore max value = 32767
% \' }) X. L* x0 I4 y3 |( a2 ^
" K  u2 }8 N. U3 k------ Messages Limits --------
6 s, V/ \0 H: o  Y! Zmax queues system wide = 178
) x. B+ [; F6 j( }9 pmax size of message (bytes) = 8192
1 X7 u) A' k2 S* j; Vdefault max size of queue (bytes) = 16384
, \$ A1 u: B  h, h% u, B1 z8 I
8 F  P2 E! d( N; m$ {. C
4 g/ v! r3 w9 v" t但是,用ipcs -a 9 U0 D6 X8 F( q
root@tl:~# ipcs -a& i! N$ [- p0 k8 l) ^# D

# J8 p8 E5 V0 U: k) n------ Shared Memory Segments --------
/ ^8 I: o5 h/ V- r! U8 s$ C' D. ^key        shmid      owner      perms      bytes      nattch     status      " r- W* r4 \5 I' e0 G  K$ G
0x00000000 0          root       600        1024       1          dest         
" t  P9 r+ V/ f& p& A3 t* N; \0x00000000 196609     root       600        1024       1          dest         2 `- @& [" K6 F& {& y  P
9 Q& x6 x/ d/ P& w4 {& e6 E; p0 d
------ Semaphore Arrays --------
5 `- E6 {+ F2 ^. T2 ikey        semid      owner      perms      nsems     2 T5 n% R) P* G; f8 h- Y& b9 }
0x6411074d 0          root       600        1         ; G" F# l  ]8 l/ L5 F  H
0x64110957 163841     root       600        1         % y( K7 c$ [; E: N- w/ C
0x641109a1 196610     root       600        1         
0 s% U3 S& L( f3 C3 g: J( m; S: s: i8 g) y
------ Message Queues --------  D+ ~# m# v# k
key        msqid      owner      perms      used-bytes   messages   
6 n. m: L2 ?' s* ]0 n3 j
0 I* v/ B& N( A- ?& r
" Z  \# j* S/ K& W6 P8 h$ N请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
* g% o" ^( s4 C& ?5 F5 [9 ?5 `  ^8 |) q* m. h, Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2190

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2190

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-17 09:52 , Processed in 0.038801 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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