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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
& Y1 ?2 G) B; f5 Z) F  a1 @/ n3 Proot@tl:~# ipcs -l1 f% M0 M  i- ?4 M, Q" m( k; m: H
: d% l7 N4 S# z1 E: L! _
------ Shared Memory Limits --------
" M* ~% Y! X9 rmax number of segments = 4096, m+ x$ Q/ n9 |. w
max seg size (kbytes) = 32768
, [" C3 G5 N/ s3 [max total shared memory (kbytes) = 8388608( d: Y3 d: d0 E1 P% c
min seg size (bytes) = 1
3 S% F5 Z( }' p1 Z2 y  p) l
) A; o0 k: D4 h$ U: B3 ?% T: e------ Semaphore Limits --------: [1 ]* l! s0 B, R0 l1 j1 q
max number of arrays = 1289 X( M+ X. l# @: H
max semaphores per array = 250% D8 }0 V* m9 q, V0 o( ~* ^7 {
max semaphores system wide = 32000; j0 B7 o$ @( l
max ops per semop call = 32) r6 Z1 l- ]4 z$ @7 \$ G9 R' _8 }
semaphore max value = 32767/ s! G3 p2 L) ~4 I) O. `4 z

8 O, Z  [  L. u* F------ Messages Limits --------/ y# e* k6 R6 n$ a
max queues system wide = 178
1 j: F2 {& F* H+ m1 Imax size of message (bytes) = 8192
& _4 h9 @. k+ K9 U2 y& Cdefault max size of queue (bytes) = 16384- h6 d- `! s4 _" _# ?3 D
, r+ k6 n. k; R8 k

( t& O" z  r* Z) d8 P4 b+ j但是,用ipcs -a 2 v' d9 O/ V# R1 |
root@tl:~# ipcs -a
% p$ H- T' R. D" a
8 y, L" Q- g! a3 i/ H1 x# B------ Shared Memory Segments --------2 l+ z6 ?5 G: v; ?
key        shmid      owner      perms      bytes      nattch     status      
/ B& _4 T4 K8 T0x00000000 0          root       600        1024       1          dest         . Z) I" w7 c9 y( M' t6 E
0x00000000 196609     root       600        1024       1          dest         % D2 ^: ^( D, P3 i# S
. `1 {6 D6 v8 i0 P% @! f
------ Semaphore Arrays --------, W7 J, A5 P! a3 r
key        semid      owner      perms      nsems     0 E+ v. J' q/ T5 `$ S: M* S
0x6411074d 0          root       600        1         
) T' Q/ @( K! M7 k; I5 I% G/ d0x64110957 163841     root       600        1         3 ]5 v( ?# T0 M3 O9 s6 o
0x641109a1 196610     root       600        1         * f6 `* U7 C) ?% W/ B- D' q2 C* I" s9 U

  a1 u" p8 C5 x------ Message Queues --------
7 ?. C* P) F/ |4 nkey        msqid      owner      perms      used-bytes   messages   
# [3 q  P% C1 u9 z4 C& Y6 Z
7 b' Q, Z+ z/ [4 x' g6 i6 N0 I& I* t6 o8 J! V3 b1 @3 m
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
2 W# E& R% _" K) J. X2 X: N" p4 N' _" I
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2023

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2023

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 15:40 , Processed in 0.036019 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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