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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:7 |0 M. B  q# v( m* @( r8 L
root@tl:~# ipcs -l
6 K" R- h0 k; e0 P8 [7 S2 z) p9 B  w  {1 j2 q: `" B
------ Shared Memory Limits --------* L( Q9 }# P! w' p! X. x4 T& U
max number of segments = 40963 }, k* Q3 ^: y5 Y. [7 l- K" H
max seg size (kbytes) = 32768
/ t7 b% h2 D2 M4 ]# vmax total shared memory (kbytes) = 8388608  K2 ^. o) ^5 ?  c
min seg size (bytes) = 1* k) V& K) }6 H, S$ g# t3 n
$ y0 A. {9 a8 _+ }
------ Semaphore Limits --------
7 D& }4 M0 D" N1 o% [, Kmax number of arrays = 128
2 V: f6 q, u) M# t( Y) G, X3 Ymax semaphores per array = 250
; a# Q" Z1 [' E/ tmax semaphores system wide = 32000
+ [: C. q; f: \) \% ^max ops per semop call = 32
' W  p% M9 ~* w' C, y7 tsemaphore max value = 32767
/ }6 e2 |1 A0 z% D9 R! P! B
# V+ @+ R* e! }0 P+ j$ t' {------ Messages Limits --------$ o& U4 ~; h8 l( u+ m# x) s! c
max queues system wide = 178* N# u- X( F4 A. U' }9 `- v
max size of message (bytes) = 8192- k" Y- R7 k% P$ c
default max size of queue (bytes) = 16384
$ P6 O. u8 `( ~0 `7 |: J! T7 m' c+ y6 V1 ^

1 \, r8 B  I- t- S' c9 O+ m; f但是,用ipcs -a
9 Z, C! M& T- Zroot@tl:~# ipcs -a0 Q; A! Q3 }; ?5 f2 P4 J$ U1 [

0 h7 t6 T/ Z8 \3 s------ Shared Memory Segments --------
3 o% @; Y# B+ E: xkey        shmid      owner      perms      bytes      nattch     status      4 o; t1 @' U+ G: B( s3 p
0x00000000 0          root       600        1024       1          dest         
$ X8 |3 `; n5 z) V) i4 d0x00000000 196609     root       600        1024       1          dest         0 M& z) i% C3 Y. C, ~$ z3 {

5 B# U( Q6 C9 A( W1 g* A, }------ Semaphore Arrays --------
: E& s2 B  [) Q. @# Xkey        semid      owner      perms      nsems     
3 w3 Q, T1 S8 n# z0x6411074d 0          root       600        1         
7 P. [6 L2 e1 u4 V; Q0x64110957 163841     root       600        1         
4 \6 y+ r/ K, K" H4 O! ]0x641109a1 196610     root       600        1         
  ^6 V" N& I' Q1 a6 y; X5 j/ a  I' O$ `" y. D) {. D
------ Message Queues --------' ^0 h, U0 K& n3 ?9 p
key        msqid      owner      perms      used-bytes   messages   . |% a: J, E5 l( u7 G: {
7 g! A- }5 a! i$ A& B9 Z
" Z, ?& p& d  f
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
$ J2 {! e7 C6 E- p: G5 ?* J% x% z9 `1 q# R0 d- r
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2145

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2145

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-15 05:40 , Processed in 0.038954 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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