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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:6 I; f/ s( v8 ~/ m
root@tl:~# ipcs -l& Q. B( u0 \' U4 r
: s8 P3 {1 a' K3 R: H
------ Shared Memory Limits --------; ?$ n$ I5 J, Q; ^& P
max number of segments = 40965 ^1 Q. ]$ o' `  L4 r$ e
max seg size (kbytes) = 32768
; u3 w" w% f4 omax total shared memory (kbytes) = 83886081 o6 ^3 I0 B1 {6 l" L; L, Y3 i2 G
min seg size (bytes) = 1
! b+ x1 R2 G  S
% r  d: ?2 i6 J  W0 ]------ Semaphore Limits --------9 `; U) h( M; Q0 Y5 d- G
max number of arrays = 128
8 F3 n) G# ^( U( Zmax semaphores per array = 2505 U, s* C& Y+ Z9 X: z  J& U
max semaphores system wide = 32000
5 f; t  W" |( Mmax ops per semop call = 32
9 n" [  ~4 P1 asemaphore max value = 32767. t7 r: A6 R4 r( q- l, V( D8 F
! g8 H+ T* C  Y3 n. k5 @6 [
------ Messages Limits --------
8 s3 o, K; d8 s1 V/ K8 Omax queues system wide = 1787 X7 j# l* k# Q1 a) h' |7 y# E6 S
max size of message (bytes) = 8192
7 i1 R/ D4 i/ ?8 u: bdefault max size of queue (bytes) = 16384
4 \4 j0 X! C: U' C0 y. o$ K( ?, i' R# f  i. V9 C
( R' U' X4 j6 G/ a
但是,用ipcs -a ! e+ h3 v  O' c0 X& u, [( A, O
root@tl:~# ipcs -a# Z4 h# I+ N3 K9 s
5 Q  ^. j9 _; p& \; X  k* c4 R
------ Shared Memory Segments --------
! N% K+ m3 ?- f( F# T& ?0 U/ W4 okey        shmid      owner      perms      bytes      nattch     status      
- G; E8 K: O4 L' J1 ^0x00000000 0          root       600        1024       1          dest         9 a. |6 {' }5 b9 x/ `0 Z
0x00000000 196609     root       600        1024       1          dest         
5 o# I4 H' y; D) b  R$ ^) X
# ~; {; d' U% ~8 @$ r/ h$ b  K------ Semaphore Arrays --------
& G! @- d* E) t2 L9 x' I# Wkey        semid      owner      perms      nsems     
' Z) A8 a; E8 u  W+ q$ Q* }9 }0x6411074d 0          root       600        1         
1 [# u6 l; m  l. g0x64110957 163841     root       600        1         
- W/ k" `6 [  @' `3 D+ f, C9 I0 k0 T0x641109a1 196610     root       600        1         
" _' \. ]0 ^( W- s! j6 E1 k% i! |* s
7 J: G4 u. O) f2 ~8 S% R% l$ j0 J------ Message Queues --------
6 }. v  h+ A) q9 Lkey        msqid      owner      perms      used-bytes   messages   2 J! o( l& Z! N6 W) G

0 o' c2 W( y  b4 {  C* f. b6 p% V8 H* c  A. r# n" q
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?! k9 O) D- e! v& e! L  X6 f( [* B
2 Y' r( o& c7 o) |+ ?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2018

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2018

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 04:02 , Processed in 0.037002 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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