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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:( u3 R1 M% k/ S' a) Z" Q
root@tl:~# ipcs -l7 P) I5 V4 M! O( b1 [- b
5 J- Y3 ^) ]7 \# d5 R1 B
------ Shared Memory Limits --------
. V, d8 U- `  T4 P' E5 ]max number of segments = 4096
# m5 f; b3 c4 o5 L: kmax seg size (kbytes) = 32768- X1 I, Z' I; ~0 C9 b
max total shared memory (kbytes) = 83886087 D' Z. V/ k1 [; n
min seg size (bytes) = 1
0 l! Y" T. Y) l4 Y; y' e
% u: K3 C6 _  E------ Semaphore Limits --------
& Q- T% [) `) Q2 P, ~" Umax number of arrays = 128  Q5 D3 u; f( g% [2 q
max semaphores per array = 250) R  C( J: m# e- x7 H
max semaphores system wide = 32000
/ o8 y/ t+ y" A! \. V6 i; pmax ops per semop call = 32
) [' t0 k1 `" c' }7 U* G: tsemaphore max value = 32767. K1 k: H. o/ k  y
8 n: V: }* s$ {1 A
------ Messages Limits --------
3 _: {2 K3 D. a! r* J! i1 cmax queues system wide = 178+ e" _$ b2 ]0 X6 l2 H7 V: {; v
max size of message (bytes) = 8192
% V( l% c0 b, H7 @( s3 L! l1 C/ fdefault max size of queue (bytes) = 16384" E1 }, S. c, @5 R. \/ _$ ^3 q- z

2 h7 s+ G6 V" [5 M+ n* S: c1 H: y, x1 a  f' u8 Z+ }- x
但是,用ipcs -a
8 ]! t) Q2 h) s) A: e3 v4 troot@tl:~# ipcs -a/ [% d* Q2 O3 K2 q9 Y

  n, J+ U0 G& ], `( @' c, E3 n------ Shared Memory Segments --------" p, m) k5 d+ H& _1 |
key        shmid      owner      perms      bytes      nattch     status      
6 I9 Y8 @, c2 {4 m8 I0x00000000 0          root       600        1024       1          dest         3 z# {7 x. j7 }- F4 h1 }
0x00000000 196609     root       600        1024       1          dest         9 H% Y5 J; T6 x. B4 Y4 d- J) s8 ~

5 T) `' u9 l3 F/ P1 j2 V2 u- O0 ^------ Semaphore Arrays --------( F$ ~( ]1 K8 z; E
key        semid      owner      perms      nsems     
; h: v: Y% u( s- r0x6411074d 0          root       600        1         
6 H( p1 v( a5 |7 j& M0x64110957 163841     root       600        1         2 n3 Y% F) a: D# l1 R* Q3 `
0x641109a1 196610     root       600        1         $ }' U1 ?" R+ H1 J; v4 @* I" x

. K* H" e9 c' Q/ b+ n( y+ T------ Message Queues --------. @; f; u. i4 E9 B1 u+ \/ W, `7 `
key        msqid      owner      perms      used-bytes   messages   ' @- k# W; g! a  O0 C6 O1 |2 O8 t
- o; B, i( u! e8 U3 i' x
& b, k% R% P/ w6 O) n& ]; f6 z
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?% B% R' N  ]6 W6 Z

- A4 ^. |. v8 \# L# [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2020

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2020

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 11:08 , Processed in 0.040858 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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