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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
- B$ ~* V! {! e* S4 m! M  @root@tl:~# ipcs -l8 j, B9 v# {4 Y' V4 b

, B6 i" I+ D: ?! r) j- ^------ Shared Memory Limits --------
8 {* x7 W4 l4 Q  ?  Bmax number of segments = 4096
6 D& s6 L( U( T2 c7 A& T3 bmax seg size (kbytes) = 32768! e8 M" e7 u* Y9 [0 j% u7 `! E
max total shared memory (kbytes) = 8388608
5 d# `, H) h' y8 N+ U" r! [min seg size (bytes) = 1
) v) G! P9 Y+ z/ [) r
$ I  F2 N5 `' r, [$ ~9 B------ Semaphore Limits --------
: x3 {+ u! U, amax number of arrays = 1287 [- H! c( e9 h; r" K, Q
max semaphores per array = 250
! R; `' S3 I1 K! A. emax semaphores system wide = 32000  E. ?# I6 L$ ~) z! A6 p
max ops per semop call = 32% ?* i0 ]2 c' M
semaphore max value = 32767  g" s# L7 |  e

% u+ e$ p8 b+ L4 c------ Messages Limits --------
& t  D' C; @9 ^% F; D3 cmax queues system wide = 178! `6 R( n0 x( y- }
max size of message (bytes) = 8192
! ~: _0 O7 }% _default max size of queue (bytes) = 16384) j" u0 a+ \$ P. H
% x7 b0 X7 }5 [" z2 A7 s
) m) U' D/ {5 L
但是,用ipcs -a
0 Q6 x8 |- [2 z- F) s/ X# t- y  Jroot@tl:~# ipcs -a/ f/ y9 u' ?0 b) ?* C

1 |& k; Q. l9 _0 @/ \+ s" w7 L; E------ Shared Memory Segments --------
3 D6 u$ m6 w( J( G* l( ~3 b2 [key        shmid      owner      perms      bytes      nattch     status      6 W8 q4 a! j5 U) g$ O0 E
0x00000000 0          root       600        1024       1          dest         
9 T% y8 T; b1 I8 e8 o) k9 W" ^0 ?0x00000000 196609     root       600        1024       1          dest         
2 l# g9 f7 P4 M$ M/ w) u
& ^3 z8 {  `5 U* j. t" j' j------ Semaphore Arrays --------
$ u9 `0 Q8 W, ekey        semid      owner      perms      nsems     0 y7 q& W9 \- R9 z+ @/ M( ?
0x6411074d 0          root       600        1         
% ^; B: r, a; F: j! L: v/ u0x64110957 163841     root       600        1         
5 F. `1 i3 t" U' h% o0x641109a1 196610     root       600        1         5 O3 n' j& C2 J5 ~) x5 t( e+ ?

! e- P  S6 A( p7 x9 p' R------ Message Queues --------
$ O* B: b% u* [  ~- _$ x% H" ukey        msqid      owner      perms      used-bytes   messages     X4 w( a8 y- o3 S
( ~4 h, q; Y4 ]( `2 O5 u& E4 k! a" A  v
! E6 D  _. ^6 h2 Y# a3 j
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
. A, g$ x& i& E  w1 w! v! U. x9 _/ o' l! K# e
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2190

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2190

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 09:54 , Processed in 0.043878 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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