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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
& a3 T! w- C3 }root@tl:~# ipcs -l
1 S( q6 {2 S6 C* x1 q' d* A% x% G1 a, R4 A( w' h
------ Shared Memory Limits --------( W9 a2 R6 r7 T% |* }( z
max number of segments = 4096% c1 u7 U' p5 ?/ M
max seg size (kbytes) = 32768
+ c# H2 b* Y& D$ f" o* n2 ]/ Cmax total shared memory (kbytes) = 83886083 {7 b" T( r0 Y( F. T' o
min seg size (bytes) = 1
; Y- l6 w+ s4 @/ P$ f1 g6 ~
! F$ N: _7 x) w3 [7 c8 ?) G------ Semaphore Limits --------
: |% @5 c2 H; K) w. kmax number of arrays = 128
6 G& t% Z2 b: B) ~max semaphores per array = 250
) y+ J' V9 ?, T$ ~# f/ q. j1 ?max semaphores system wide = 320004 J2 L+ T0 {% E$ r' z+ l
max ops per semop call = 32/ M* w& Y2 J5 P. r
semaphore max value = 32767
; P( R% ~! u+ w: W( |
* F7 i( @$ d3 d1 \& h) d8 y( U------ Messages Limits --------( \; T3 j  N1 x* Q+ |6 o
max queues system wide = 178. m: x/ `4 U7 j& k
max size of message (bytes) = 8192, {! a1 }; `/ b% Z$ Q
default max size of queue (bytes) = 163841 o3 V* Q  S  H- Q4 \
2 C. F# A: G6 M2 @' c" Y
) C2 ?6 G$ H0 t7 T1 r2 U7 f! l
但是,用ipcs -a
* a7 D+ H9 A6 u" \- Y, Qroot@tl:~# ipcs -a. E1 N0 k; C& {  R' w' w
2 B9 e' ^( e3 n% k
------ Shared Memory Segments --------
% I% B% {2 J3 l& \# xkey        shmid      owner      perms      bytes      nattch     status      
& R$ I) _% a3 X! ~2 P+ N  l0x00000000 0          root       600        1024       1          dest         
- E9 r* \) v% P9 l5 A* ~0x00000000 196609     root       600        1024       1          dest         8 A8 G+ |! m9 ?6 K! S5 }

: h. K8 |  ]; \" M9 M! Z------ Semaphore Arrays --------% q* }0 v2 x6 ]
key        semid      owner      perms      nsems     
. K2 n& s: }$ u" o9 V0x6411074d 0          root       600        1         
" o1 S. J6 o4 v0x64110957 163841     root       600        1         # c9 q$ \' y' V
0x641109a1 196610     root       600        1         
, Q5 a! O: m$ d. ^0 z
3 o8 U  f. [+ I2 H5 `$ u------ Message Queues --------3 e/ `4 Q' U! P, |  H( r
key        msqid      owner      perms      used-bytes   messages   ; `9 k$ `+ l" x9 Z4 A; N, C% C
6 K. V3 M  F( ?
5 X6 T3 d% Z  M2 Y
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?) Y% v4 V# M& a" g: c8 A1 C
8 T8 P- S" g8 [8 a0 E- d
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2125

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2125

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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