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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:" k* Y; {# ]$ G( B
root@tl:~# ipcs -l
1 Q1 d4 V, y, S) V( a2 a7 u) r/ o# h6 `
------ Shared Memory Limits --------6 P, x3 n* p: K- B) n
max number of segments = 4096: c$ ^7 |( q3 `; k. \" l
max seg size (kbytes) = 32768
" C9 _/ p5 N2 w; jmax total shared memory (kbytes) = 8388608# T. I0 x: S, ]% B: Q& B. v; [
min seg size (bytes) = 1  x2 G$ ^& ]/ j) r2 H% ^, E+ {5 [1 s
! r& R+ L- q7 L$ C4 @
------ Semaphore Limits --------; {) d2 l; f: P0 x2 w3 X
max number of arrays = 128" S- x) ]5 M) m8 {2 F+ r
max semaphores per array = 2505 M1 |3 v& N+ {6 a. y: E8 h
max semaphores system wide = 32000
: W) {* G4 M. @" L0 f3 Y5 dmax ops per semop call = 32
7 ]4 p# ]" J3 k! [3 s9 D* Ksemaphore max value = 32767( ^7 M" S, i2 I7 h

9 ~; y+ V' N- @------ Messages Limits --------
) K8 M4 h9 N2 }6 imax queues system wide = 178
6 C: c) q2 n7 R% P9 Lmax size of message (bytes) = 81923 u6 m$ P$ n! @5 S' Q
default max size of queue (bytes) = 163840 R5 X; g, _0 s) {$ D5 P
6 ~  @3 F+ [# z( |* C
7 Q2 Q9 G: k. R4 H
但是,用ipcs -a
$ h0 s% K! C: P3 I$ croot@tl:~# ipcs -a0 L3 ~7 o1 {" w* W" t

9 B( x5 ]3 @/ m$ B- R------ Shared Memory Segments --------
$ n0 p. t, E- k% I- ^key        shmid      owner      perms      bytes      nattch     status      
8 f$ b# ^" I$ l- N7 Q$ ?3 x6 ]2 g0x00000000 0          root       600        1024       1          dest         # R5 v' `2 m4 ?, O: U
0x00000000 196609     root       600        1024       1          dest         ) \% O& }4 P# J6 ~; g2 c; q

+ K  l( |" l4 W* p6 s- q------ Semaphore Arrays --------
1 \- J6 |4 x# G* O& u$ Y+ Tkey        semid      owner      perms      nsems     : A1 ?# J4 C8 G* g5 F1 N! N+ s
0x6411074d 0          root       600        1         ; p% W/ [$ c" a
0x64110957 163841     root       600        1         
" x5 m* |! \% M/ M! ]3 c" i* H0x641109a1 196610     root       600        1         2 I% r6 z, P, v1 ~4 p  g
8 q7 [+ [" X% H
------ Message Queues --------! T0 M! Q3 c) @  p: i: f
key        msqid      owner      perms      used-bytes   messages   
. r9 a8 Y" d0 z4 {4 ^* F% N1 [7 P4 \: E

5 R, Z& u! u+ p9 }0 e6 q; R请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?. D: ]* ?5 q- y& E8 f$ ]! K
9 g/ A( }& t6 J( t
分享到:  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 11:24 , Processed in 0.042334 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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