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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
+ t8 t" [4 X3 H( |3 }root@tl:~# ipcs -l$ @# S* B  r# e- _( |; }5 @& w' \
: p# h- |  L% E" X( X
------ Shared Memory Limits --------% K' T6 R  \4 V/ w% U
max number of segments = 4096
. X( w" I6 g, L" o! [, xmax seg size (kbytes) = 32768! S1 c0 i8 w- G, i8 m
max total shared memory (kbytes) = 8388608( z6 i' \- m* l5 N  }) ^
min seg size (bytes) = 1
+ L. i3 D7 Q) G1 j( E+ y) U7 o% X' {7 I! a/ L! s
------ Semaphore Limits --------" g  y5 n7 v4 ]
max number of arrays = 128; z/ }" U5 q5 E1 H+ `
max semaphores per array = 250
8 x7 j$ y- [' Dmax semaphores system wide = 32000  {1 v# F2 N7 M! m. F* ~
max ops per semop call = 32
3 V4 i" R6 E3 N0 W- O& B: Zsemaphore max value = 32767
: {7 S; w: G1 k* c# m, I/ d- X5 x9 C9 W9 [( u' E
------ Messages Limits --------
) o6 D. x& j& L8 \2 bmax queues system wide = 178- Y! @0 H$ e8 @. r
max size of message (bytes) = 81928 I% [  {# L3 R, I. t4 q4 c: ]
default max size of queue (bytes) = 16384$ `1 }- H% `; I$ ~3 q
; Z( Q) G- D- c7 F
: S6 @( ]; @6 r* j: P0 [' b5 d
但是,用ipcs -a
1 J' g4 w/ b% l0 j) F* P9 R+ x' P% V6 {root@tl:~# ipcs -a1 S3 n7 P4 l/ [2 c$ b: P7 T4 Y
/ {7 p9 U4 o2 w+ [
------ Shared Memory Segments --------5 i5 E# O9 B& _1 i# i: X2 m( b
key        shmid      owner      perms      bytes      nattch     status      
5 Q; ]9 o$ U/ [) o% u9 y+ g# x0x00000000 0          root       600        1024       1          dest         
6 Y, n: D; x3 ^4 K0 U: d; ~0x00000000 196609     root       600        1024       1          dest         8 I/ `% \' X6 h" g! F- P

! K# L* O( m) R* F+ m------ Semaphore Arrays --------
7 `8 E2 N: c" A# y+ m! [, M, rkey        semid      owner      perms      nsems     0 f9 X# `) w4 b' M/ C$ e: |  i
0x6411074d 0          root       600        1         : r& ]6 B2 c5 x+ J8 f
0x64110957 163841     root       600        1         
5 i$ g5 H; v+ t/ j! M" W0x641109a1 196610     root       600        1         ; @! B+ o( J8 U0 m1 M0 L
( F  G9 M) Q8 D4 }7 w% t0 q/ \
------ Message Queues --------: j3 R) A/ z) F+ B
key        msqid      owner      perms      used-bytes   messages   
, t& R/ k6 M; I% g; x; X- q9 V, l. E( B3 Q

% z5 \3 h# W% e请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
' T3 o! v4 Q0 q( O( D: l9 n) l8 j- x" k& B& p$ ~. K
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2178

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2178

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-1 09:53 , Processed in 0.041921 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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