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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:0 {4 S  X% x8 v1 @% E% W
root@tl:~# ipcs -l
7 _, `. @7 t! i5 y' `- V! p* j: n7 o
------ Shared Memory Limits --------
& ?2 v7 m' H! Z( K, v! z) Emax number of segments = 4096; e5 ?: G& d# ?( X; c2 ^
max seg size (kbytes) = 32768, L9 f3 {% a1 i9 `. `
max total shared memory (kbytes) = 8388608, C! ]5 H5 r8 _" O% o* m, L0 D
min seg size (bytes) = 1, S" U5 B. g8 {" g

$ Q, Z4 ]* ]/ x, Z7 j------ Semaphore Limits --------
0 i9 @$ }& @  Cmax number of arrays = 1287 Q- d5 b  Z0 j2 A0 m+ z1 W  ~
max semaphores per array = 250' C" s4 A$ m( N' [* W
max semaphores system wide = 32000
5 U( v( m7 q& d7 N( hmax ops per semop call = 32
6 b" g, I& l# v1 t7 @  Dsemaphore max value = 32767
' x/ b  B% o" @4 I4 V  V* Q! A4 g) `" h  ~. l# h3 t
------ Messages Limits --------
1 S# ?& F$ k% y; d3 |' imax queues system wide = 1788 X3 y( `6 q( _2 }( |
max size of message (bytes) = 8192
, W" f6 M2 F  W+ l" _4 @default max size of queue (bytes) = 16384
8 v# c( E! _; R; [5 R) Y8 n' i; i* ?# g  k0 n2 k: J
; q/ L; z( J* a! _8 o( s+ q
但是,用ipcs -a
) I0 b% H0 z  G/ z; b+ Xroot@tl:~# ipcs -a
; w2 Q3 H% T4 Z! e( M* {. R
! U+ `9 @, f0 `------ Shared Memory Segments --------
" h' }& \, v1 w0 @* Rkey        shmid      owner      perms      bytes      nattch     status      " G; D2 S" ?7 }1 j5 d/ j6 l% N
0x00000000 0          root       600        1024       1          dest         0 e2 ^; T/ t3 r( O6 i
0x00000000 196609     root       600        1024       1          dest         
9 z( {8 c: |! Q; s, K/ k7 u) d, y' e& e( G
------ Semaphore Arrays --------
: g9 P4 W" c+ T9 S9 X5 _key        semid      owner      perms      nsems     , t; @( Z5 G! q6 ]6 G) j, m7 J/ ^
0x6411074d 0          root       600        1         $ ^: {! b9 G) i5 `* y( d& {  h! H
0x64110957 163841     root       600        1         ; I. e' X! @  Z# @  O: i# ~
0x641109a1 196610     root       600        1         . I2 E, O1 R. q8 W  {% k! c- b
$ v3 ?: ?6 t6 Y( W$ {8 c5 e9 p
------ Message Queues --------
# e6 J3 M4 O3 t, ckey        msqid      owner      perms      used-bytes   messages   . R' m. @) g4 N  i% B

% v8 b& v. t$ N0 `+ Q' X5 z
, f# o$ z# w: b- d0 `请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
$ E0 L) g. P% \* d2 ]+ W5 N6 i  j0 K3 j6 Y; s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2138

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2138

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-16 02:11 , Processed in 0.081513 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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