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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
6 Q' `2 ~: D9 N8 K! b$ M) Sroot@tl:~# ipcs -l4 m. ~- n3 c. H8 s' P) b& A

7 y3 o, a4 r8 n* [7 G: F2 X------ Shared Memory Limits --------) ~# ]  {0 k- C
max number of segments = 4096
4 }& i9 c5 P( p  ~max seg size (kbytes) = 327683 K4 v( N5 b0 r
max total shared memory (kbytes) = 8388608
3 J1 m" q3 _# D9 |# vmin seg size (bytes) = 1) h6 ~/ [3 l, ?2 P; o

5 c: ]1 m% j5 g! |5 C------ Semaphore Limits --------' B3 H4 t& U/ M# T; g& J$ M
max number of arrays = 128( C; C- k& E" g9 @% [
max semaphores per array = 250
2 V/ H' b, D6 L- B# ^! Smax semaphores system wide = 32000
) E* t$ |2 J3 e+ j- Q! d0 M! `max ops per semop call = 32
2 J$ C; l3 }: a: G" k8 o1 L- ~semaphore max value = 32767
" D) T( P7 q0 s  g( W3 p( m, h2 g" |  ~+ S
------ Messages Limits --------
$ I* a2 i  f# j6 Pmax queues system wide = 178
- u7 H9 G# K  M, N' ^max size of message (bytes) = 81920 o% _: h6 d" e, s# Q6 l0 k
default max size of queue (bytes) = 16384
$ B5 O) B" Y3 y( b( ^# }6 @+ }8 h- q. B
2 j8 c) {. P) I. V2 V5 z
但是,用ipcs -a   k+ Q$ ~: ]3 F% O5 ], k8 ^/ k3 ]" ?
root@tl:~# ipcs -a- T' {) D) _& L

* K3 `5 |  z1 J7 v5 L------ Shared Memory Segments --------
( U% \, x+ R7 K  K, v7 v9 D" Skey        shmid      owner      perms      bytes      nattch     status      3 R0 p8 x$ ]( R  ]
0x00000000 0          root       600        1024       1          dest         ! q! h( \0 K+ I& ^
0x00000000 196609     root       600        1024       1          dest         4 ]- Y! Z% W. `4 N$ Q& C

! S, `8 f/ K& f- W" o------ Semaphore Arrays --------7 F/ A0 m& ?4 r* f# I
key        semid      owner      perms      nsems     
& p; p- \- l2 v! @; A* p8 |" b5 E0x6411074d 0          root       600        1         : h& f) U# t2 o
0x64110957 163841     root       600        1         
3 q4 v' A5 Z' u: }0x641109a1 196610     root       600        1         ' L/ s8 e. ~" d* o8 y
( W% X: Q3 [0 d: P
------ Message Queues --------
5 r  v1 k/ A, Ykey        msqid      owner      perms      used-bytes   messages   
; g! I5 x% i- I$ i- Q9 b$ x1 b! H6 u; ]

, B6 ]5 e' a! ]5 q; @( {5 G1 V* M7 i请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
* X( C/ h( M& h6 N" |; J2 O: [6 A  q7 ~. N
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-18 05:22 , Processed in 0.036818 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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