如何查看syslink 组件使用共享内存的情况 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:6 P5 |  }+ w: @
root@tl:~# ipcs -l' H4 b8 F1 ^( H( R; a- m2 ~

. H8 g1 |0 I& Z: |. R! S------ Shared Memory Limits --------
1 m9 N# l! h* I( Jmax number of segments = 4096
/ @( g  M  D7 w9 _8 R( L2 ^1 \max seg size (kbytes) = 32768% M5 H! a( |4 ^! ]& |* J' t
max total shared memory (kbytes) = 8388608+ [  I$ S( ~- s; j3 C
min seg size (bytes) = 10 K& ?* I0 S1 W+ V) M
1 A# r" s/ A) g- E! c. T
------ Semaphore Limits --------
1 E; j( l  Y5 F. smax number of arrays = 1287 \: d, j$ {& i% B
max semaphores per array = 250
2 r: \+ {9 [% z% y1 r2 h- q' Q- }max semaphores system wide = 32000
- R2 I& K2 I# \5 y+ r  S( q8 ]max ops per semop call = 32
; }$ K: s' u: x1 Gsemaphore max value = 32767
4 t# {2 W+ D. J5 z# X$ ?" G  K4 ?% k$ I% @: s
------ Messages Limits --------
8 o$ k: N1 n4 N7 U$ l4 Emax queues system wide = 1785 G# Z1 F. }0 ?9 W
max size of message (bytes) = 8192
! n+ p" p  X+ h9 `default max size of queue (bytes) = 163841 L$ O( x% E" l) _4 B
! c0 p' g. I  Q+ U

- {4 K! E8 A, F0 Z) P8 ]! V5 L但是,用ipcs -a : W. D$ C1 T8 G% k. ~' r
root@tl:~# ipcs -a
( i$ m" |5 v' `5 V8 s# Y
1 A5 y4 l: T& c& t8 ^------ Shared Memory Segments --------
2 T: |: c0 [- a. b9 E8 ^key        shmid      owner      perms      bytes      nattch     status      
4 x6 A6 G1 U  Z0x00000000 0          root       600        1024       1          dest         3 C/ T. J- R' ]  N' d7 }# @
0x00000000 196609     root       600        1024       1          dest         
3 y( \) P( `/ T) v& A' r- d5 {* L1 l6 H/ N. n/ c8 C  ]
------ Semaphore Arrays --------2 L" a+ t- k+ E: @9 G
key        semid      owner      perms      nsems     
0 Y4 e2 {$ a# r5 [0x6411074d 0          root       600        1         8 c6 U8 ]8 m8 }  E9 E
0x64110957 163841     root       600        1         
5 t; e" T; D, X' ^" w# j, Q0x641109a1 196610     root       600        1         ( R8 Y/ ^# m5 t( {% ]9 a; ]1 W4 b& K+ @

5 F% _$ y) N" k7 f------ Message Queues --------
% ?9 P" K- P' ^! i; @key        msqid      owner      perms      used-bytes   messages   
- P' v" q, v" v3 \1 X7 c. e. m1 j
4 p& {9 d5 _/ C: e8 L
, k* K& K9 z9 F- Z' J" V: t5 K: ?9 u请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?) g* D* ~3 R2 L" a' l

( K# @" y8 d8 H2 q8 U
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2165

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2165

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-1-31 08:43 , Processed in 0.040801 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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