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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
+ g, e2 X1 F# M8 _, S: rroot@tl:~# ipcs -l
9 P$ c3 f. ~7 M4 X9 [" Z+ f4 F0 |: }) {
------ Shared Memory Limits --------4 C& W9 J( e+ d6 |) X
max number of segments = 4096
: U6 P# t  m3 j; Nmax seg size (kbytes) = 32768, q& D' C5 z' O2 F! v1 E
max total shared memory (kbytes) = 8388608, F7 L2 x' |2 w
min seg size (bytes) = 1
3 f$ p2 X8 a+ ^3 ~; k& O: h; K7 |9 A2 A( K# ^9 v$ `. R% z8 h) F
------ Semaphore Limits --------
- Q4 L; ?" l- S2 i* q! F: {% Wmax number of arrays = 128" S& y& O: X( l$ v0 H3 k& ^
max semaphores per array = 250$ ]6 ~; C$ Z- d% B) W
max semaphores system wide = 32000& `0 H2 s8 w! S% o% c. k$ x1 Z: [
max ops per semop call = 32
- g. w" b' K0 H( @) s8 Ksemaphore max value = 32767
: z; |9 H" Y8 L4 ^3 c% S; O% v$ u4 K7 k: }4 U( W' q! v
------ Messages Limits --------
7 e- f' }" |% P5 M) B- ?' x; K; Omax queues system wide = 178
  v# y2 E$ S6 X; Pmax size of message (bytes) = 8192
5 p2 f3 o7 E2 X3 \: wdefault max size of queue (bytes) = 163846 k2 U; m4 ?8 h6 A2 K

5 z+ p7 Y" k/ @  N1 E, A0 n2 I3 e' s5 K8 `
但是,用ipcs -a
, o  j0 M- u% E: I' t  eroot@tl:~# ipcs -a
9 `- D) V& L+ E
) {8 b/ K" M! h* i  H------ Shared Memory Segments --------
! D* x, @7 i1 R) F, |key        shmid      owner      perms      bytes      nattch     status      
: R1 C0 \3 S4 q: k* V' Y3 g* k1 h0x00000000 0          root       600        1024       1          dest         
% k5 q$ ?0 {7 K, T/ [$ g7 ^3 j# d0x00000000 196609     root       600        1024       1          dest         
2 h. T, Z/ t* m# }4 m9 r$ b
( L# y6 z9 j/ l, M------ Semaphore Arrays --------5 k3 O$ z' r' o
key        semid      owner      perms      nsems     
# u- i8 u! p  S7 I3 r0x6411074d 0          root       600        1         
5 e. p# b; O  a, n! v# g  k0x64110957 163841     root       600        1         
: S' B, w6 R! ]' b" ?0 v- y0x641109a1 196610     root       600        1         
$ f6 H7 l+ P! v1 S2 V: m* @' Q8 p+ p1 x3 ]# _3 q
------ Message Queues --------9 Q/ |! \8 R" D  p6 }
key        msqid      owner      perms      used-bytes   messages   + [. M' v7 d0 e9 x8 X
; U/ r( z5 H; W
& r* G6 L  \+ j2 H
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?% L! _, H7 L) t$ K1 D

  l( ~5 D) s; F  [8 V' E  {
分享到:  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 01:29 , Processed in 0.049349 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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