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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
4 g) `# R$ c0 L" Proot@tl:~# ipcs -l
+ l8 R; V- k8 X2 t# W1 j- ^5 b1 E9 t6 j" Q! \8 c
------ Shared Memory Limits --------
0 N' }# `) s! J1 _& i$ b, nmax number of segments = 40968 y( z4 T' K' h, O- M
max seg size (kbytes) = 32768
( e- S5 b- I3 @4 c: S9 G6 bmax total shared memory (kbytes) = 8388608
; X- S/ N1 ~3 K8 ]' Kmin seg size (bytes) = 1
5 A/ f  |# z0 Z6 P; ]9 G: R# i7 B+ Z  o# B) v0 a
------ Semaphore Limits --------9 x# }8 t7 ~  A  m
max number of arrays = 128
$ f5 O  Y/ G3 m5 }max semaphores per array = 250
; a6 Y8 F4 l- j# _1 Xmax semaphores system wide = 320004 k- h& i$ z+ T& Q" ~
max ops per semop call = 32( C/ @/ k4 q, M& b8 q4 A5 P
semaphore max value = 32767# H1 h& l& a4 @
/ C3 h# i( e2 D0 T; p- i
------ Messages Limits --------8 y" {; B# A8 E5 M0 b" _
max queues system wide = 178
7 u4 c6 h) [- @max size of message (bytes) = 8192
( ~6 m9 j: u" E& Z7 s; d4 Xdefault max size of queue (bytes) = 163845 e4 ], a7 F+ B# N/ T2 `% V! a

# ?; M# g$ m5 B! K! F' c+ T# j3 W3 y7 q
但是,用ipcs -a
( y4 r2 A6 z: N  ]2 Q, X1 |4 i- Froot@tl:~# ipcs -a
! A3 L0 A% ]/ R) {( x
8 p9 ^/ K& n3 l$ a" I# |/ r------ Shared Memory Segments --------& I' ]- _, t/ G. ~
key        shmid      owner      perms      bytes      nattch     status      1 |% V6 y+ j; s! w) R
0x00000000 0          root       600        1024       1          dest         5 Z6 m0 G7 C1 C0 N1 t
0x00000000 196609     root       600        1024       1          dest         3 R  M# o0 M  [3 L
) m* D. Z+ B; V0 d5 H% j0 j
------ Semaphore Arrays --------9 q" j2 B% n9 ?& Q4 R( z* @
key        semid      owner      perms      nsems     
7 Z7 X$ o" U9 X0x6411074d 0          root       600        1         
. S: A8 n6 w8 u4 \0x64110957 163841     root       600        1         
. F& g5 c6 g) e' ]0x641109a1 196610     root       600        1         . e  ?* |' s: r9 j' B* v

# D4 c& D6 k# D9 R" J1 ?  ^------ Message Queues --------0 l0 q1 c7 i0 a* h* E" M
key        msqid      owner      perms      used-bytes   messages   
0 t$ H+ p5 z, Y0 }5 j- V! }5 [
8 ~. L; W/ W! P: h$ f/ [% \( V3 G( O4 ]/ a" j3 T; y6 z
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?6 h5 |" ?* G7 Z/ ~

# `2 W5 ~. ^5 T) v2 S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2110

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2110

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 00:17 , Processed in 0.040803 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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