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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:/ G# `4 P, ^' @
root@tl:~# ipcs -l1 G) r: b: _2 x' H( B
* W6 M$ z: ?: L
------ Shared Memory Limits --------
( o4 Y- J3 i4 [+ m/ I* D& emax number of segments = 40966 |+ R) [& N2 h& o) W
max seg size (kbytes) = 32768
- h6 M/ J3 [9 M/ c$ e" mmax total shared memory (kbytes) = 8388608) i# l! E0 r$ Q: y
min seg size (bytes) = 1/ @" m$ ?6 X& p  W( v

2 S, x+ c' _5 j& g------ Semaphore Limits --------
( Z4 n8 m% T4 I7 z$ L6 Qmax number of arrays = 128# x3 q1 s/ L" m, }& y9 l
max semaphores per array = 2502 K* a. u8 e7 i7 x
max semaphores system wide = 32000
# g- Z) A2 p, }* Dmax ops per semop call = 32
" p2 E8 ]7 v1 d+ R, Xsemaphore max value = 32767! `: b' C! C5 _
6 A1 c$ F2 ^4 u; Q& `! V( }! X
------ Messages Limits --------" [  M# b+ c( E2 h0 B
max queues system wide = 1783 P3 x% u3 C; X" [8 ^! L
max size of message (bytes) = 8192+ h+ q  `  v- m& l
default max size of queue (bytes) = 16384& _/ P! V- m$ L$ ]- z

% q. u3 @9 ]+ h2 |( j  r- i6 B$ L
) l  \) q+ d- ]/ o但是,用ipcs -a
; G1 Z$ Y. ?7 q7 r# L& M0 S" \/ v" yroot@tl:~# ipcs -a
" j" U7 h7 B  C' s2 G" X! k8 M
/ h+ ?: [9 @, m9 m! |7 V------ Shared Memory Segments --------
. t8 e0 \: {4 z3 b' y: Nkey        shmid      owner      perms      bytes      nattch     status      " K, g, O1 W3 J  W) [2 G. R
0x00000000 0          root       600        1024       1          dest         + c7 }3 `% U. Q7 R3 |
0x00000000 196609     root       600        1024       1          dest         
) S; B$ h. {7 G, c7 \3 U: J9 U" W5 Y/ ?+ u2 [, b, _' V0 C' V
------ Semaphore Arrays --------' e- p+ }+ |& G* D9 l/ Y
key        semid      owner      perms      nsems     : z3 X2 v4 E; W# F9 F( U6 d
0x6411074d 0          root       600        1         
- y; [4 b7 }/ m0x64110957 163841     root       600        1         
( I9 j, u. n2 s2 z5 c, _, W0x641109a1 196610     root       600        1         
+ \0 u! H- \7 |" g  f7 Z* @" {, g& l3 O# `
: @$ S# ?0 O" f! z* {------ Message Queues --------/ ~! W* C5 R2 T9 u6 e# ]
key        msqid      owner      perms      used-bytes   messages   7 ]  h5 v- [: l) H4 K2 o

* E9 Z: j( U! _% `6 D) P' l6 u$ B2 B7 C9 B3 |9 U) G) K1 _
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?7 x( K  @% H3 G$ _" k

) J- s3 l% [8 s+ c& V4 `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2101

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2101

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 03:04 , Processed in 0.041387 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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