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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
: a) L( k* q9 P2 M. r. Y; I+ Troot@tl:~# ipcs -l
/ m! Z8 O' i( C9 _/ @
; A6 n8 {0 s/ f9 N% e1 j; n------ Shared Memory Limits --------
5 o' S' ^) ^, F% lmax number of segments = 4096
+ p- q7 R& w$ Qmax seg size (kbytes) = 32768( l( b, P; H2 {* F: B) o1 L9 e
max total shared memory (kbytes) = 8388608) a5 H1 [$ {, S5 {
min seg size (bytes) = 1
# {, Q& Y2 w( @. _% N9 ~9 L$ _# @, Z! l
. z5 A' v% _3 {4 J------ Semaphore Limits --------4 D* f, g. V* o* I  t" `
max number of arrays = 128
# N' j$ j. ~6 K6 R5 B- P4 d2 g9 T% Gmax semaphores per array = 250. p7 h' A: m; |" `3 m! t
max semaphores system wide = 32000
) k" ?2 N# [6 Z( D* dmax ops per semop call = 32! f+ \1 Z0 o  [! c( S
semaphore max value = 32767
, S& I: \$ N" S' A  W: P5 y. L8 N
------ Messages Limits --------
/ |- C2 u  X/ c' Cmax queues system wide = 178
% L( l# b" ~* J* V' J9 zmax size of message (bytes) = 8192
' k6 ~* w8 [6 a' t7 Gdefault max size of queue (bytes) = 163844 A2 J: [1 P1 K1 Y
& C; _* P/ V( `  S

4 B) i9 h" ~# v3 U0 A3 a' Q但是,用ipcs -a 0 K2 ^3 X4 g$ ?& \1 I
root@tl:~# ipcs -a$ e$ r, p5 f4 h8 u' [8 [- F

! x3 f' Q( h( |8 j- P6 d------ Shared Memory Segments --------- B. B) z( Z" y. B6 L7 J- w9 K5 f
key        shmid      owner      perms      bytes      nattch     status      
8 v+ g7 O/ Y  q+ i( H( K) O0x00000000 0          root       600        1024       1          dest         
# D1 m, W) _+ Q# Z  W9 b6 G9 z0x00000000 196609     root       600        1024       1          dest         ' U& e+ [# c" R8 a2 ?: F

( _9 A2 z6 [3 h------ Semaphore Arrays --------1 o$ p7 q: e3 m  C
key        semid      owner      perms      nsems     
* Z5 w" R" u5 }: T0x6411074d 0          root       600        1         1 _7 E9 ~% y: z  d7 J4 Z
0x64110957 163841     root       600        1         
: ~4 ~1 ^1 U. \0x641109a1 196610     root       600        1         
0 V7 [  ?1 e3 K7 Q+ Q6 q0 ^
9 P: S, S; p# [. f, ~6 g+ J------ Message Queues --------
4 m1 w* I# @+ k; k+ Mkey        msqid      owner      perms      used-bytes   messages   1 E! {+ Z- h+ `4 ~6 i. @

( e" Y. b* |1 r  _; y; i1 g8 A) m! n9 `0 D+ |
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?1 X* k9 R# Y" h/ J4 v0 p1 G9 Y

! i+ e# j3 H$ E2 }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2020

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2020

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 09:41 , Processed in 0.037056 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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