如何查看syslink 组件使用共享内存的情况 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:  f4 e6 ?+ K2 S+ C$ t
root@tl:~# ipcs -l. z$ ~" d0 r0 H. B+ M
# q2 A& e7 s, v, o6 g
------ Shared Memory Limits --------
* v* S4 W/ y/ T' pmax number of segments = 4096
" Z& n; X- L# Jmax seg size (kbytes) = 32768
0 a) A% N2 [7 J# jmax total shared memory (kbytes) = 8388608
# y# ^. m+ C& f, e; t3 H+ Pmin seg size (bytes) = 1( W7 q) O! |  U& [* t/ U/ r) W

' ~) V5 G, U5 q, a4 Y# z------ Semaphore Limits --------
/ g) {0 F9 ^  o, Zmax number of arrays = 1288 G1 c0 x, V" U3 L; u1 X% D- p$ ^
max semaphores per array = 250
; `6 N' }: X# @# @/ S% B5 Gmax semaphores system wide = 32000
6 m. q- D7 w$ R, p3 w7 Omax ops per semop call = 32, j" {. v( e: S5 q
semaphore max value = 32767' Y9 ?! U6 @! K% F6 k4 J

% g1 B1 t9 o8 y- F: {7 Q7 Y: X( h------ Messages Limits --------
6 Q: s+ o# Y' X4 S2 u# Lmax queues system wide = 1782 s% _" I! J, n& p( V; F) V
max size of message (bytes) = 8192
5 L4 i1 o/ \7 |# _  Gdefault max size of queue (bytes) = 163840 ^! U  R1 V. T

' `- H- d7 q7 A9 J& f3 D5 E
! ?- j  Y5 k) E7 L8 K但是,用ipcs -a 4 c1 R4 N# B. m
root@tl:~# ipcs -a
  F) ~% L+ U& Q" J. H; [; m2 Q! {/ l5 m: `8 d0 F7 n- U* R
------ Shared Memory Segments --------" C, u' ~- A7 Q4 o3 v2 b+ b
key        shmid      owner      perms      bytes      nattch     status      
4 D6 q# o" A6 o3 R0x00000000 0          root       600        1024       1          dest         
% I( m* @( U8 |- _$ c4 t9 m0x00000000 196609     root       600        1024       1          dest         ' e9 q4 B& u. i2 V+ o" E2 \1 |

+ d7 @9 l9 Q" q2 b/ p8 r( t: b------ Semaphore Arrays --------
' U! d( T& s, H6 Ykey        semid      owner      perms      nsems     ! D! f$ O6 V' Q$ [$ M
0x6411074d 0          root       600        1         2 B: b9 L) Z7 z$ g+ }0 _2 L
0x64110957 163841     root       600        1         
( U, J8 U4 I4 H* D* D4 B0x641109a1 196610     root       600        1         
! Z4 v$ @& ^: P: n( [, Z1 h7 y* Q$ M
------ Message Queues --------
. e- @6 p2 v& r% z( lkey        msqid      owner      perms      used-bytes   messages   
% n6 B& t# d& @/ x  B+ {; m8 {! S
. ]( e2 p/ b) n) ^( q2 w5 e- q- r% ^  A
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?1 _( g, Y, j" a" ~- d# k

. q: {, r& r0 x" M' Y0 ^
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2145

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2145

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-1-15 07:19 , Processed in 0.044448 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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