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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:# L' |( z7 W9 X& z4 U( w' n
root@tl:~# ipcs -l
2 @) `4 I& _7 ?$ n" W( \5 p+ F/ f6 ?
------ Shared Memory Limits --------
5 H( J/ Q: l5 z9 V8 Nmax number of segments = 4096  G& p2 k9 T& n: z% f4 a+ m" g
max seg size (kbytes) = 32768) _1 c& Q) {3 ^8 }  m
max total shared memory (kbytes) = 8388608$ i- c0 C" J6 O! R8 j: R7 T
min seg size (bytes) = 1; L. W  G% @, W) j2 x
/ j5 ]% W0 H$ z
------ Semaphore Limits --------
% f3 {  v) v! g9 J2 imax number of arrays = 128: n1 ^( e0 Z6 q, g' A# B! c
max semaphores per array = 250" {: H/ l: _; k% z, W
max semaphores system wide = 32000, W: X. ?: n) y9 H
max ops per semop call = 32
; E  f$ K* L" Z, O! k! _semaphore max value = 327678 w3 k; m! t2 ]% e' f& Y: |( n( U

6 s4 `3 s1 x7 Y) {1 ]5 Y& u: o% n------ Messages Limits --------
+ S6 X* t. F. C: i+ ~max queues system wide = 178) ?5 d( a$ }& }# ~( C& O3 f/ i+ ]
max size of message (bytes) = 8192, O* t% h4 p8 ^
default max size of queue (bytes) = 163847 W7 E% W  _- o5 ~
0 S' m) V5 ?0 S8 J9 j! M% m- d
6 I' m" e- u; Q) k. p
但是,用ipcs -a 5 b8 u; g/ E& W8 n
root@tl:~# ipcs -a
0 d( [# e) X, ]/ h6 \1 |0 j- n% ?! P6 b, l3 V7 I  l5 f
------ Shared Memory Segments --------) D- y. N7 G5 M3 v, v
key        shmid      owner      perms      bytes      nattch     status      6 z( H- P& ]7 x1 J7 u; _$ Z: j
0x00000000 0          root       600        1024       1          dest         
/ [' ?0 r% q" z4 |6 J& G1 v0x00000000 196609     root       600        1024       1          dest         
% }/ Z3 r: J) w9 X
6 {# W. U& f. J# }------ Semaphore Arrays --------
/ _# E, A8 s1 f/ v1 V% |8 lkey        semid      owner      perms      nsems     & V% z: A( e; o9 o3 m
0x6411074d 0          root       600        1         * X" f; O- Y9 t( ]( {6 ?( @1 N
0x64110957 163841     root       600        1         + F% ^# R4 g3 k. h4 j/ L
0x641109a1 196610     root       600        1         , P1 ?2 t% ]7 S6 K2 _( a, M6 E. s5 u1 E
* K3 {5 b" X5 W4 ]- v+ a
------ Message Queues --------
1 N% I4 R. \6 N; s; Qkey        msqid      owner      perms      used-bytes   messages   ( V& ^* v  n  W
; T6 ~: \, z7 n4 P: S9 s7 s  d7 r
) M% o& B! S. o4 R! Z3 ~( h
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?  h* {: w7 ?* E8 j9 g

9 y% v- P# o9 r  I( D, j
分享到:  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 06:43 , Processed in 0.039283 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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