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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
/ h4 ~9 ~! H  C# Nroot@tl:~# ipcs -l% w* x/ R% p- P- d+ z, ^
& _, `" I& J% T/ [9 i! h. {) `% [
------ Shared Memory Limits --------+ m1 P& c9 s" |
max number of segments = 4096" b  R1 {3 p1 t: @+ o, T6 O( E
max seg size (kbytes) = 32768( x) T: D5 u0 @- {- \3 w
max total shared memory (kbytes) = 83886086 I  W1 K' ~4 R) @% I
min seg size (bytes) = 1
+ b. P5 f# x8 f: w# x! P
6 N1 `& n! Q7 r% L  |' `9 C------ Semaphore Limits --------
7 h2 [" @: ]; Q5 _0 Imax number of arrays = 1284 l8 p0 L9 a+ X1 [
max semaphores per array = 250# k3 o- w9 t  c
max semaphores system wide = 32000
" q+ G0 K: d4 A  K, Q3 Tmax ops per semop call = 32! ?, @4 Y1 u( o& ~  J2 t+ O& r5 W
semaphore max value = 32767
* R0 M& n* F3 J0 o1 r9 O/ I  E% }. |. H- l# m
------ Messages Limits --------& t4 _* l5 D! }- ]
max queues system wide = 178
1 X0 u; v0 B% bmax size of message (bytes) = 8192
* p9 ~6 n; i! u+ [( T0 Odefault max size of queue (bytes) = 163845 k5 T$ d7 K0 n& D8 e

) D( a6 m0 x7 E
6 N8 c* n! M$ @  T- @0 P但是,用ipcs -a
1 w9 R6 F0 I" I4 k+ i7 U8 r) n9 ?root@tl:~# ipcs -a0 A+ ?9 f7 B7 d" ]: w: U: m

: Y/ N+ k9 t5 j, ?5 s6 [------ Shared Memory Segments --------
$ g7 Z, T" e/ K" Xkey        shmid      owner      perms      bytes      nattch     status      , u; O8 T6 a% }7 z7 f
0x00000000 0          root       600        1024       1          dest         
5 d9 Y/ r+ B* V) `; ~0x00000000 196609     root       600        1024       1          dest         
9 @; [9 L! `  I5 p; p2 l8 T  H8 |' N9 y: t3 A3 ?6 l# u$ t
------ Semaphore Arrays --------
, y2 F$ a7 K0 O3 i4 Ekey        semid      owner      perms      nsems     - T4 \$ \: ?8 Q( ^
0x6411074d 0          root       600        1         ) x  u, I/ V. y7 ]+ A
0x64110957 163841     root       600        1         
* o$ m- j* }4 H# M0x641109a1 196610     root       600        1         & e, ~( k- ], n$ [

: |) M" @- G, R3 }# m- J' W------ Message Queues --------
$ L- N7 J' O! q/ T0 Mkey        msqid      owner      perms      used-bytes   messages   - z2 V7 G, F" Y* w) }

- K3 I$ R5 d5 Q$ w* _8 e" u0 A: Z* v7 |0 w& [! a+ u! M- s7 I# v
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
/ @  v% }& C; b) o. [* X9 }4 p# |: n: I0 Z! z
分享到:  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 15:14 , Processed in 0.051361 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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