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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
+ d# i9 I% L9 H( h. H, _" \" Groot@tl:~# ipcs -l
. G5 I' N  f( m" g; G
# C/ N1 J! F; ?' A, m7 |------ Shared Memory Limits --------
3 A8 F! }/ N: I: n1 Amax number of segments = 4096# v6 I, v4 F4 s
max seg size (kbytes) = 32768( A; a# x: A4 L9 I7 [4 |
max total shared memory (kbytes) = 8388608
( ~7 {  C. `; Rmin seg size (bytes) = 1
/ C! ~8 C3 Z8 @* G+ r& t+ j& Q2 J# R% S8 p
------ Semaphore Limits --------
- |- H! S5 o( L9 Imax number of arrays = 1287 r- |0 p) Q+ Y, r
max semaphores per array = 2505 n: U3 j: {2 c
max semaphores system wide = 320006 e) }6 U6 I0 [4 }7 Y9 e
max ops per semop call = 32
" k, w0 g% N; Z" z, Osemaphore max value = 32767
$ }( T& J$ \7 k% E9 ~  Q9 S' x! y* y6 Y; B% V' k5 [
------ Messages Limits --------
8 i+ t7 I4 d- E" V6 @2 M- w: k8 M. Dmax queues system wide = 178
! ^$ v% A; t' O6 @* A. I2 bmax size of message (bytes) = 81921 V' ]+ R4 T5 O1 ~! Q" A$ d* S) K) {
default max size of queue (bytes) = 16384
1 L; W+ J; m6 |: O6 F6 w: _/ {3 F  H5 e" l' _" [, y% }7 D# L

# [6 F, W& k2 c, V但是,用ipcs -a
/ U  o- o, D, x( broot@tl:~# ipcs -a, t7 q! u9 f# d% i% @$ t) ?4 R
4 U) S% s+ a+ h* I' s
------ Shared Memory Segments --------. P% t. r! k: L1 d
key        shmid      owner      perms      bytes      nattch     status      
, T- }% k( q" p0 I$ r5 B0x00000000 0          root       600        1024       1          dest         3 V; X5 D+ s* l- }- Z
0x00000000 196609     root       600        1024       1          dest         
% D6 w* X( |( Z1 r3 P' |) C
+ B1 a% Y1 k9 n  D( N------ Semaphore Arrays --------4 w- i. J0 c  _8 R4 U
key        semid      owner      perms      nsems     ) p/ C( y. @" E* A* j% }
0x6411074d 0          root       600        1         
- S  t' A9 u5 [/ [& e) _) u0x64110957 163841     root       600        1         & x' ~9 `* e( x8 ^* G/ m
0x641109a1 196610     root       600        1         % l: U2 }, O* [8 M0 h

  H9 `3 P4 n8 i( a7 G------ Message Queues --------6 ]. F8 U8 k6 s9 V/ ]
key        msqid      owner      perms      used-bytes   messages   ; K0 a3 a! t' E

% Q' E8 {, Y; r2 {- b4 I( h  Z; [6 s# Z" L1 m* K
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?2 ]0 `2 Y: r/ ?: R4 }
5 P: X, P5 G( ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 23:25 , Processed in 0.036430 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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