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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
0 s# ~4 ~& m) J1 L+ v! Eroot@tl:~# ipcs -l9 G! y9 g. s7 e* M
4 A# l* _2 q( i2 z
------ Shared Memory Limits --------
% S. |' K) j/ ]6 xmax number of segments = 4096- O" D  t6 D- c; \- W
max seg size (kbytes) = 32768
( x8 s. W( u: Imax total shared memory (kbytes) = 8388608% a7 L0 W8 M$ {) e3 I2 Y
min seg size (bytes) = 1
; \* x$ b3 L' k* Y5 _" I9 C* A. R6 i, k/ ~8 G* P3 I5 Y& W
------ Semaphore Limits --------
4 f, Z- k  j$ g1 d+ \* k6 r2 amax number of arrays = 128
! e+ ]: X6 [8 d9 i  C4 Zmax semaphores per array = 2508 ?$ ~* w4 g' o3 g7 n6 `, d5 V' F
max semaphores system wide = 32000
9 n" ]' X/ g2 d  L/ X" \  T: u3 gmax ops per semop call = 32/ U+ _' A% g) t, N" r% C
semaphore max value = 32767/ }) s0 I6 S7 i. E4 G( E5 G

9 H, Q% j- _' q------ Messages Limits --------
' z4 P& e3 y4 I3 ~1 @5 @& i* q  cmax queues system wide = 1786 G# |; S4 e6 k+ T8 T  O" @/ E
max size of message (bytes) = 8192  ~% {; U2 B" r6 Y
default max size of queue (bytes) = 163846 B8 f4 \, M6 `' S1 g) P9 F* L* B

% ]8 L* e' ^8 O; F- d' G4 J+ @
: ~( r2 h0 T1 [3 [8 |. M0 z但是,用ipcs -a
. x4 R' y8 H: n. H% D* X- jroot@tl:~# ipcs -a
) Z. s7 E$ [, W( q
* f7 s* l4 n9 f. @------ Shared Memory Segments --------" q& W3 X8 y3 k0 V
key        shmid      owner      perms      bytes      nattch     status      
6 }& D" D* |' o2 `9 f' M7 @& e" B" `0x00000000 0          root       600        1024       1          dest         
- n- M$ m6 i' x! M: `0x00000000 196609     root       600        1024       1          dest         
& R: q. ^6 {3 ]
9 i8 Q4 e; x7 ]& A0 e) K+ [------ Semaphore Arrays --------5 y" }4 s! ~6 H0 W6 G
key        semid      owner      perms      nsems     & E2 z5 f# J# A* c: |. `
0x6411074d 0          root       600        1         
; E) [. L' f) s8 W* ^1 x& L* Y0x64110957 163841     root       600        1         
8 K+ I2 T" C7 t0x641109a1 196610     root       600        1         
- G0 N3 t+ i; ?1 T5 Z' r' i. M
$ s6 R7 V! I2 e: _3 [9 I% N------ Message Queues --------' n: S; ]! O& [% I5 H; [
key        msqid      owner      perms      used-bytes   messages   
& Z4 n4 e2 `, J7 d& i& s+ _  }. N/ `) _, n
8 c7 i, x4 p6 z, S$ C0 v
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?9 x: ?& p; [! c3 Q
4 s& a0 H, x3 ?  G# W: Z% g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2071

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2071

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 23:47 , Processed in 0.036381 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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