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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:9 ^$ y% G3 p8 R' J- z
root@tl:~# ipcs -l
! A: s" Y, y) b1 R. F7 V
0 c$ u$ h* J: e8 c1 q. l! t------ Shared Memory Limits --------
7 `* Z; I4 F; r% Q5 xmax number of segments = 40960 L& c1 O% M: ]; B- s0 i* v* Y2 ~& t7 Q
max seg size (kbytes) = 32768
: M1 p3 q2 m0 T4 E( r% i, j0 Pmax total shared memory (kbytes) = 83886089 U- o6 K- g+ H8 Z
min seg size (bytes) = 1
' @% P5 K2 }; n5 K
6 ^! Y6 j" j( H4 O% }! p4 ^. @' n------ Semaphore Limits --------) j. d( [& h+ U- O  x0 ]1 U
max number of arrays = 128
; p0 u/ _5 |3 O0 k0 k$ R+ f7 lmax semaphores per array = 250
, z/ M, y; {0 n5 Ymax semaphores system wide = 32000
* Q0 L3 @( u0 {9 z8 s1 Q- [max ops per semop call = 32
9 N3 Y  d2 U$ }6 Wsemaphore max value = 32767
3 _% n0 _5 U& s
4 E5 F! X' z3 y! @( C" i1 p! P- A------ Messages Limits --------; i0 `6 @. [% h( x9 d
max queues system wide = 178
% P1 S5 v* N* X6 T5 o) f& Xmax size of message (bytes) = 8192
  J, G* [) ^+ j7 m; m# Ddefault max size of queue (bytes) = 163842 |+ C! E0 `; z' g
/ Y$ i- [: o6 V* V5 D; ^
5 g% r& V6 j* t; K4 H$ L# v% l) u
但是,用ipcs -a ; c) q1 o7 X2 Y  N
root@tl:~# ipcs -a
6 r% V( j" K+ @' u' e
7 P& F# w4 G& X0 u------ Shared Memory Segments --------
: ?( y/ j- g  z9 G$ qkey        shmid      owner      perms      bytes      nattch     status      5 H" }' t8 {% j
0x00000000 0          root       600        1024       1          dest         
  J  _) R! s$ o5 t; W2 n- d0x00000000 196609     root       600        1024       1          dest         
% u# o( T5 k( ]5 q4 d; t& @! x: o7 t9 @' {' S* G2 ~2 L6 n
------ Semaphore Arrays --------9 \% t* A. _! K+ t
key        semid      owner      perms      nsems     3 q3 S1 Z$ z# R8 d: r
0x6411074d 0          root       600        1           G3 s* v/ ?+ n
0x64110957 163841     root       600        1         ) G4 F* L! `% _, s. b/ h" ?
0x641109a1 196610     root       600        1         
" k1 X7 A2 q/ N; C3 e4 D( H, A6 ]2 {2 `' c
------ Message Queues --------0 M* |5 G) l, H! s4 R
key        msqid      owner      perms      used-bytes   messages   ( q( y( O  v9 {. {4 R

$ s2 J1 e! Y/ ?4 _
0 O, t1 W8 v8 [: Z请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?( s- Z% h2 `! u+ ~

$ y: r) u& i$ @$ U  X8 L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2191

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2191

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 12:42 , Processed in 0.037914 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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