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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
& Y8 X9 v3 b/ f( _& aroot@tl:~# ipcs -l, u  Y$ o% U+ X1 o) y# @
" R. O* A' l% X9 c7 y8 X( U
------ Shared Memory Limits --------
: {1 S& E% U0 O& e- w: t: ^max number of segments = 4096: d9 {% Q+ _* m' V: F
max seg size (kbytes) = 32768
; d2 d4 K8 B$ d4 Y  {5 amax total shared memory (kbytes) = 8388608& a3 F7 Z; \7 d+ O
min seg size (bytes) = 1( b. N4 ~  [8 f( n) j0 [
! v% }, A3 A, m5 E
------ Semaphore Limits --------
8 P$ v3 T! c3 amax number of arrays = 128& T! O( ~: T$ }! P6 b
max semaphores per array = 2509 S9 Z8 n, w% y: Z2 f
max semaphores system wide = 32000) b2 b. ~- M! D: H
max ops per semop call = 32
; }3 i; g. l, c$ w! h% Bsemaphore max value = 32767
; \" t% l- K- P$ [% Q$ n
& k  c' c: E$ b( C9 o: U& |------ Messages Limits --------8 U8 c/ M* W9 m2 E( w
max queues system wide = 178
7 x+ V4 O% B" n0 c  a( t  F, omax size of message (bytes) = 8192. \  x8 T" Z4 N9 e% L5 d' t) _
default max size of queue (bytes) = 163844 I7 l$ F6 ~( @* k  a! f

3 S# Y9 O) T, O, b3 N  s- o2 s
9 D. L! d& {6 a/ f; R但是,用ipcs -a 9 c7 q, s6 `% p# i% r7 Q- Q
root@tl:~# ipcs -a& a) d" w0 }" H" s+ o

+ l* R5 `/ {5 Z------ Shared Memory Segments --------( C, t# F  C& K
key        shmid      owner      perms      bytes      nattch     status      
; U2 B( [* _" R+ f2 i1 n; W0x00000000 0          root       600        1024       1          dest         7 ~; t, J9 ?1 J
0x00000000 196609     root       600        1024       1          dest         
- {8 r& V0 D8 U8 v5 F# n6 U7 n8 Q( p' R, @5 A+ G
------ Semaphore Arrays --------) P  H9 M+ K, _/ G- ]
key        semid      owner      perms      nsems     3 ^( p' s7 d% t3 W$ _% \; ]
0x6411074d 0          root       600        1         ( L4 M8 b' U5 O6 k3 x" j) E. e
0x64110957 163841     root       600        1         . g; @0 i5 S8 s. D+ e# e: T$ n
0x641109a1 196610     root       600        1         
4 m# l2 G1 `! o+ V
  f; \+ _7 {: }3 b5 g4 i------ Message Queues --------
3 x# y7 }5 R. F0 c& e/ @key        msqid      owner      perms      used-bytes   messages   
, n- F2 w0 [. v2 z& o! d  [" M8 k! T2 K

! D8 p1 P, b" k" t' ~) [" }* _请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
2 C% C3 l9 `1 L7 Q% t+ n" W) K8 |0 P3 f, s4 k# C+ x/ n
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 23:59 , Processed in 0.036712 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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