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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:8 ^  l! k# N7 S% Q, o
root@tl:~# ipcs -l
% x6 W2 N; Q0 C6 H  j
' z3 M8 y/ J4 P2 {  N------ Shared Memory Limits --------1 F! v5 _7 C( o3 K+ \1 Q. b
max number of segments = 40967 G; W' E. d7 @. V
max seg size (kbytes) = 32768
, \) {) c6 j  ^0 K' U; K; |max total shared memory (kbytes) = 8388608
. l/ E6 u  W: e, B) o+ E) `/ Zmin seg size (bytes) = 1
* M* L8 k( B! h' F7 x0 X( R4 ?- G9 ?0 }( e. I3 u* `
------ Semaphore Limits --------
; o  z0 u; S5 b" emax number of arrays = 128
6 F5 ]: C" k2 v# e; Cmax semaphores per array = 250
* j$ }2 Q1 Z- \, x+ o: n! Dmax semaphores system wide = 32000
- u6 {& X: v  z9 m( Vmax ops per semop call = 32
. t/ a3 p/ S5 j1 A/ T8 Usemaphore max value = 327676 t* s7 ~; p9 Q7 R

( b& m2 g* l+ m$ L7 P% X( _9 }------ Messages Limits --------3 A& G, u! Q3 \* j
max queues system wide = 1780 m: t" J. Q4 }, A4 @! _
max size of message (bytes) = 8192
% C4 u3 t- e8 a5 }! a& udefault max size of queue (bytes) = 16384
2 ?9 l+ ^. ]+ R) V9 t+ N
3 w( H2 W5 e& K! X3 \9 B  w
( s7 u% g1 a$ Q1 v但是,用ipcs -a
" R) z, F3 m0 o& ^+ oroot@tl:~# ipcs -a
& d" X& B, o( t5 H  t5 g5 N0 s
$ ]5 W& R0 f- ?$ g$ I) }6 a% Q------ Shared Memory Segments --------
7 `" v5 Y# L6 ?9 i+ k! ^" {key        shmid      owner      perms      bytes      nattch     status      2 q; p1 R1 T3 l* [  Q3 S9 p$ u6 H& \. {
0x00000000 0          root       600        1024       1          dest         2 x3 I- _2 {" V$ \$ T9 o( i
0x00000000 196609     root       600        1024       1          dest         
& Q9 K1 ^3 z4 Z/ |, h, y2 W# J1 r4 l  T+ N
------ Semaphore Arrays --------
; B/ h0 h8 J3 ?key        semid      owner      perms      nsems     
# B) s2 G) ~& b5 q+ M2 t0x6411074d 0          root       600        1         1 v8 F5 A; ~5 B
0x64110957 163841     root       600        1         
. V6 ~1 m) w+ h0x641109a1 196610     root       600        1         ) E2 [7 s; ]3 T

3 j+ y- P: L" \" R0 [( W) K0 q. Z------ Message Queues --------  d$ x4 N! Z- k/ v6 ~5 h' T& @* c
key        msqid      owner      perms      used-bytes   messages   5 q5 {5 m' S. F, R6 z7 y

4 x7 D, V7 |7 L5 `" \  S, g: }3 s" X
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?) W- N" F9 I- f: L* |, d! W# ~
0 b# s+ m  b! d. S( i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2071

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2071

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 00:52 , Processed in 0.037575 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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