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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:+ e# o5 I$ K4 l" [! C; h" q
root@tl:~# ipcs -l
$ T+ R+ `0 i' V1 ]# {. V" W+ J9 v/ Q; Y! W+ F: X
------ Shared Memory Limits --------
+ L5 }8 c- m1 M5 m# _max number of segments = 4096& z) B( i9 e* F) b" Y! B" |( e
max seg size (kbytes) = 32768( Z# Y. D) i0 S6 ]8 j
max total shared memory (kbytes) = 8388608
  _' b5 ^8 X" O8 P( rmin seg size (bytes) = 1
( T! G* ^+ a! m* e- i7 V7 `
5 D; Y3 \: `& M0 l# ~------ Semaphore Limits --------
) u) ?* ]# K7 Y7 z; W9 U& zmax number of arrays = 128
1 a2 H" z8 c; V" \! H+ K! i0 Gmax semaphores per array = 250
" h7 r4 x0 ?+ }max semaphores system wide = 32000
  W2 i3 l: a2 Q- Kmax ops per semop call = 326 j  S) G0 L9 e2 S2 @( |) y7 @
semaphore max value = 32767
1 d4 w" B3 P# J2 T6 O+ {
- s! {/ n( {# f0 p+ u6 n  \3 U------ Messages Limits --------
+ i* Z& W+ T" x! ?! b* _2 v3 L' Bmax queues system wide = 178
! c2 v/ S  ^6 d- @9 P, a& Tmax size of message (bytes) = 8192: I/ Q; B' K- t+ S
default max size of queue (bytes) = 16384
3 X$ {* v/ [# A( R% k1 K1 ?/ t, n$ v
% l$ g- x/ j$ s! o: ?
但是,用ipcs -a   p' O0 ~( y1 F4 x+ {+ C/ _( I
root@tl:~# ipcs -a/ m6 t/ g- ~) H; ^; h
3 `% F; D; |# o( z$ \" p
------ Shared Memory Segments --------+ I+ Z' Y2 S9 D. i& n5 \
key        shmid      owner      perms      bytes      nattch     status      & y/ l2 j6 e  G: D% A& c) C. `
0x00000000 0          root       600        1024       1          dest         
2 \& D1 _3 u0 t0 z0x00000000 196609     root       600        1024       1          dest         5 V+ U) a# H' n* e' {( c
* E( o  \  g7 `0 T
------ Semaphore Arrays --------
% F5 v" v2 Y8 Nkey        semid      owner      perms      nsems     
5 r+ n/ w, c/ A' {2 y( s2 H* O0x6411074d 0          root       600        1         
% X3 c+ K: I7 z% E" {* V+ S- N) O0x64110957 163841     root       600        1         
4 _) F; K/ E+ L1 `! {. f+ k0x641109a1 196610     root       600        1         + N. y/ j, `4 n1 ~
! E) Z4 M, {; P3 V
------ Message Queues --------
$ W8 h9 m3 F; |* Q" _) o: y1 Pkey        msqid      owner      perms      used-bytes   messages   8 {# h6 q, w! T. F' n% ~; o6 S  O
2 y* c8 H: j$ L& A! a: w; r

* m' {, b# V( G& i. f请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?+ h: k' w3 ~0 S

1 {3 o. a3 T9 b1 P, F& _/ f& c. j5 a
分享到:  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 11:01 , Processed in 0.041953 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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