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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:2 E- ~  @9 n, V7 \' m" k9 g0 x9 [: b
root@tl:~# ipcs -l
3 d* B& q% Y$ f
& \& L7 L( J  v# c------ Shared Memory Limits --------
1 \4 G8 {' N  z. A% xmax number of segments = 4096
4 p) f! m* l. `9 [5 Smax seg size (kbytes) = 32768
6 R" G8 N0 X* zmax total shared memory (kbytes) = 8388608
, |4 _  m8 @* Pmin seg size (bytes) = 1$ e* D4 m6 R4 E0 q* `
; x' R) `4 t/ x
------ Semaphore Limits --------
: {5 D, E8 R0 smax number of arrays = 128; R$ d4 u( y3 U
max semaphores per array = 250
0 @, D# ~; Y. S0 b) c2 xmax semaphores system wide = 320008 Z0 E& V0 R- Z9 }: T& I
max ops per semop call = 327 T4 U! J  o. A! c1 L9 d+ t( t
semaphore max value = 32767
. D, t2 [0 A9 w0 T; e3 V2 r& D5 X( J8 N$ D8 P5 ~7 c5 H
------ Messages Limits --------5 t$ _7 W/ M1 ]4 G0 f; I- l
max queues system wide = 178
' C$ ~' F" f; e9 j( jmax size of message (bytes) = 81927 I' s: `* e% M+ @$ h  I. M% ?: a. J
default max size of queue (bytes) = 16384
# M7 x8 s/ j. W( N* M. E4 l! b7 v( _# J$ L
+ t! i6 m: y8 {8 K5 ]% A
但是,用ipcs -a 5 k* l, M$ M, a/ d" T6 Q# l; f0 J
root@tl:~# ipcs -a: j1 K% N' v0 e: ?. E, A% ^2 V6 a3 U

1 |' L1 Q2 t9 [$ R5 g. Z7 B------ Shared Memory Segments --------# V' t% Y. d7 O
key        shmid      owner      perms      bytes      nattch     status      
! f8 r, d' O* N. X* V: M5 X0x00000000 0          root       600        1024       1          dest         
+ I* I; X& `4 A0x00000000 196609     root       600        1024       1          dest         
- L# e6 s* w& x. r& S  l% i3 }1 T6 Y2 K2 ^, M3 @6 _
------ Semaphore Arrays --------
. h+ h  X5 {; Z: z% l+ J  Fkey        semid      owner      perms      nsems     
4 ^. @( e' p' r$ [" o+ L0x6411074d 0          root       600        1           `0 c# q3 @" S4 T4 ]6 v( L
0x64110957 163841     root       600        1         % f! i# P  c( A# a: M
0x641109a1 196610     root       600        1         
3 L& r9 n9 P! Z# R, {9 ?1 J7 ^' m# r. O5 C% _! ]
------ Message Queues --------; V7 B2 u7 p& i0 ?3 q& e  n% t! L
key        msqid      owner      perms      used-bytes   messages   + W0 a# |- X& k

3 O+ J" C9 l, k& S% _" u! s+ l$ g) Q* a. Q! a. H1 N) t
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?( h1 e+ v9 ]+ D

8 o% ?" H5 S9 U
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2178

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2178

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-1 11:02 , Processed in 0.037855 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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