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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
# E* _$ J- d) Froot@tl:~# ipcs -l
* |; j  X: t1 c% e  C' G3 v. ~' G7 b8 i
------ Shared Memory Limits --------! |+ t: Y6 P  z1 `+ i
max number of segments = 4096# u4 r/ a. U3 B9 C. g5 k
max seg size (kbytes) = 32768
0 L! N* H: Z8 `2 _4 m" M( M; o% amax total shared memory (kbytes) = 8388608+ k1 C* L% u% J+ {" o
min seg size (bytes) = 1
% p" C" h# l+ k& I
. Q8 h: U, \5 M3 t+ M, V# y9 A1 _------ Semaphore Limits --------
6 |) F! W" W: n& t' c, G4 r9 Gmax number of arrays = 1283 d9 L$ b: F% S
max semaphores per array = 250
: i8 ]/ S! T2 Y1 H, omax semaphores system wide = 320000 {' O) t  T7 u9 p9 V* U" p  @+ |
max ops per semop call = 32
. I( y: w% ]4 g9 W, s! Ssemaphore max value = 32767: X& K4 P) R  u( f/ a+ C0 |

+ l- f) N- |% E------ Messages Limits --------2 A" z3 @( _3 M/ k0 O
max queues system wide = 178$ `/ G4 B# q0 Q- d5 c$ Z
max size of message (bytes) = 8192. q3 Q6 B6 b+ j$ \
default max size of queue (bytes) = 163847 W. \5 a8 U7 G7 X* K# @7 H9 P' t. k

9 }+ V. I0 Q& ~4 U! k& P; ]+ l  R- h5 d" j; `
但是,用ipcs -a & @1 _. ^, j& G+ d# B  k5 }
root@tl:~# ipcs -a
3 P! p, t& A# f- O# Z5 k) ~$ J
1 G) {) z' v" n. k* Z/ M------ Shared Memory Segments --------) p. Y0 d1 d; [2 L, w6 j
key        shmid      owner      perms      bytes      nattch     status      
, I* G$ e5 i8 J! R; K2 n  ^7 s% v0x00000000 0          root       600        1024       1          dest         4 [! Q4 o4 @( W1 j7 W$ r8 S
0x00000000 196609     root       600        1024       1          dest         5 h( t! {; n4 G

# ]2 a9 N8 W/ p5 Y0 S& U------ Semaphore Arrays --------
5 M+ c; o7 C  Mkey        semid      owner      perms      nsems     3 Y2 X. C0 r0 U. Q+ q% }1 B4 @
0x6411074d 0          root       600        1         
! C5 y. F0 }7 }& ?# s* m! Z0x64110957 163841     root       600        1         
; \! O/ x8 A4 a: a, a1 T: ^0x641109a1 196610     root       600        1         
6 O3 p2 V# p+ w( t$ E9 F) e
% `( }+ R3 |% O, y------ Message Queues --------, j2 E* [4 B, D" w
key        msqid      owner      perms      used-bytes   messages   8 G! V: u! j- x) n/ V( z. k

" o8 Z. t8 h( w4 ~; F3 w, t, [2 ]+ W% w4 K( N# |7 p
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
( m4 E$ Z* `1 _3 \, A& R9 C+ m! V. A( t5 t- e# @
分享到:  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-3 04:54 , Processed in 0.032843 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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