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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:, C0 U( o8 g  A2 n# d7 D
root@tl:~# ipcs -l
5 F$ {6 i- c# o1 J' Y+ {
: P7 M- l, ?$ r4 U; k3 }------ Shared Memory Limits --------8 C0 m  K7 d  t7 z/ w
max number of segments = 4096- A! x! w) |. [3 U- o$ ?
max seg size (kbytes) = 327689 Z( U6 m5 @% b) T4 x
max total shared memory (kbytes) = 83886082 C! m3 o& H7 i( s
min seg size (bytes) = 1
, e4 J  b# n( ^" f. i$ ]- V/ @5 y& \
------ Semaphore Limits --------5 s& e' B5 r0 E% ~) u
max number of arrays = 1283 C) L9 H6 v' e4 }
max semaphores per array = 250
& p3 z. |8 _, J* d8 Smax semaphores system wide = 32000
0 C7 B( `3 M& X2 R7 d, H' z1 d! w9 xmax ops per semop call = 329 ^$ |& ?7 \2 m4 y
semaphore max value = 32767
4 W( S% Z" f5 {6 R; L6 b9 J& O7 D- f# _% s  w! v, {
------ Messages Limits --------" \8 ?7 {* `7 m" K
max queues system wide = 178
. f9 N0 p  y/ X8 }3 C& Smax size of message (bytes) = 8192- S7 s" k4 n" f; `. M+ Q
default max size of queue (bytes) = 16384
: z; y9 a2 @. \% Y% K6 s1 `( q6 G- z+ o) F( w

5 ]" T' ~! r4 a: [8 d; G6 y5 a但是,用ipcs -a
8 c* U, m4 _( g  H+ D( xroot@tl:~# ipcs -a! w, X3 Q* r" M" }( B! ?" {

8 D2 _8 {1 Z' P4 ^, P------ Shared Memory Segments --------
* v8 [* X, `5 dkey        shmid      owner      perms      bytes      nattch     status      ; P1 v; f8 c8 v: i9 i6 \. v
0x00000000 0          root       600        1024       1          dest         
$ M/ r3 t4 K" C1 M% M/ n0x00000000 196609     root       600        1024       1          dest         % k5 }$ l$ }4 p4 N) E9 U
* c( U+ }* F6 \7 J$ S! ~! ~
------ Semaphore Arrays --------4 z8 A- H9 |* Y! M' ?9 }
key        semid      owner      perms      nsems     : G; O$ o5 c+ I. F* d8 j, |
0x6411074d 0          root       600        1         
  |( S: Y3 w! M) x0 Y0x64110957 163841     root       600        1         
; E7 z/ H! J) {5 }4 `  G3 g0x641109a1 196610     root       600        1         
/ o) R' d) X9 U4 r" M/ j" ]& ?' t
------ Message Queues --------: L3 @0 [: B7 s& I  P1 f, g& J
key        msqid      owner      perms      used-bytes   messages   - h1 I: z# }1 ?2 z8 T# v$ j

5 _' g, V% \1 d) b' q. J9 K( H( O& r$ i- B6 f' a2 B7 v8 }
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?& u, o4 `! z2 e5 E
! a4 }8 Q7 _, l% y& h% P" h
分享到:  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 05:44 , Processed in 0.037573 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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