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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:1 [1 R, ~/ c# C8 W( r
root@tl:~# ipcs -l
# Z4 t# z/ y. R+ j2 D# \# G- O6 O! \7 E9 Y( X. w& R' N. B
------ Shared Memory Limits --------
$ x6 X$ d  l( q" j* l4 q1 R; @& jmax number of segments = 4096# U2 V/ f, I4 {1 [( |8 S
max seg size (kbytes) = 32768
* ]9 P9 X) Y& M" c5 v0 q. ]max total shared memory (kbytes) = 83886086 r0 C3 y7 Q+ M3 g1 j
min seg size (bytes) = 1) m) z' k7 G$ H; {* B" S" y
: x; L+ [! O; P% K$ W4 [$ O  Y* o
------ Semaphore Limits --------
3 w, T6 Q# M- f7 \- S6 _# d4 L: emax number of arrays = 128
! n& |7 f# K+ x7 d7 smax semaphores per array = 2506 {7 N- I3 L6 _  E7 B: c$ b( h
max semaphores system wide = 32000; L# A! v( z& d  h& P
max ops per semop call = 32" R% c# S/ v! u( ~
semaphore max value = 32767# Z- O! h3 I( t8 f

+ F: `$ J) X9 G' M0 L------ Messages Limits --------
+ i9 \% C, B" v3 Z- |max queues system wide = 178
* @6 t  h7 t  h9 {2 m' M0 X4 g9 Dmax size of message (bytes) = 81928 a; \9 F" ^8 q! Z! L1 Z1 p) Y
default max size of queue (bytes) = 16384
  P% p+ L7 C, H+ J* Z% @' w0 Q% u% W, ~" z8 m2 y

3 \- [3 C* z; l& V  V% }, Q/ G6 j但是,用ipcs -a ; o( c3 t# }0 I
root@tl:~# ipcs -a
8 g7 e5 y$ I* K; `7 ]8 R% C3 {9 i# ^% ?% A  K
------ Shared Memory Segments --------- E; ?8 S3 h8 `" Z8 t
key        shmid      owner      perms      bytes      nattch     status      
* v! u; o1 {# _4 J6 j  _0x00000000 0          root       600        1024       1          dest         
( O* ?$ S( {4 z' f  {0x00000000 196609     root       600        1024       1          dest         
. E) X, r& K9 e5 e' g# D* Y0 r3 e6 J$ U/ A+ Q7 r/ E4 M  R
------ Semaphore Arrays --------* ^' W2 P1 }- @7 W. S) Q
key        semid      owner      perms      nsems     ' ~$ I# ^8 y; d
0x6411074d 0          root       600        1         
9 x9 C8 H0 w1 s4 ^& a0x64110957 163841     root       600        1         
: I8 k4 t* c4 Q# ]1 }6 V0x641109a1 196610     root       600        1         
0 Z. {5 e/ V' y7 U: k. V' Y3 K1 R, \
------ Message Queues --------; e  v2 C( h+ ~5 |* k
key        msqid      owner      perms      used-bytes   messages   
  O! S  @' _" g7 F. i+ }4 H1 R, m) t7 A: O  x1 G1 a
; _! ^6 I& T' f# U9 D9 G
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
4 i9 b% m, r3 p/ {  u  T  M1 X+ J& @/ n# O; E
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2020

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2020

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 02:58 , Processed in 0.035588 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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