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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
3 r) Z# {. b8 V! ?root@tl:~# ipcs -l: h- R, @7 s' ^# v
7 h3 I4 W/ H/ h6 B9 J  q% L8 q
------ Shared Memory Limits --------; K3 ]$ U0 e8 n9 F( }: j
max number of segments = 4096
) p& o# s" W) n" gmax seg size (kbytes) = 32768
- x7 S; ]$ \" H2 Ymax total shared memory (kbytes) = 8388608- o* _& D# g1 c# f: f
min seg size (bytes) = 1
1 s1 ]4 i8 `. c$ A$ }, H3 L6 [" G( M1 ?2 e8 V
------ Semaphore Limits --------
3 a: I6 q. m% x1 j3 O! ]' Qmax number of arrays = 128
( b( l3 e1 b+ t5 d! ?7 Tmax semaphores per array = 250
" z3 q( W. n1 s7 c/ J+ U! `, Tmax semaphores system wide = 32000
% l% k: S# h9 F7 K6 mmax ops per semop call = 324 u: k8 A, T; ?0 V: ]
semaphore max value = 327679 {5 H' n4 `; }: D2 ^+ @
" i9 p. A+ n$ E/ h( K( U
------ Messages Limits --------
- }) I( o6 y7 F; ^8 b. o' k4 gmax queues system wide = 178- x/ f8 ~; n2 ?0 U3 i/ c& |: F  S
max size of message (bytes) = 8192
' U3 {0 G3 Z- f& v: i& j# b6 gdefault max size of queue (bytes) = 16384
" O* o8 Q$ R& L0 j2 l9 U3 ^! D; H2 s6 \* ^; M3 v( S

& r- [7 F  e+ c但是,用ipcs -a 0 D9 G* P: j5 a: j
root@tl:~# ipcs -a
% g7 L, x3 q; k7 G2 h5 v3 K2 [% g6 L
9 G$ Z# v7 ?7 q4 `% ]& e2 t- j2 f------ Shared Memory Segments --------! `9 L, P% n4 n! d
key        shmid      owner      perms      bytes      nattch     status      . k/ A8 O6 b  r+ {
0x00000000 0          root       600        1024       1          dest         2 o2 x" M7 j5 z- R) a- w
0x00000000 196609     root       600        1024       1          dest         4 M1 l7 J# j1 d9 Z7 M) T

  P7 M: `: F9 U5 M+ l1 x. n------ Semaphore Arrays --------- Y: z  j3 i0 N- O0 y
key        semid      owner      perms      nsems     
: G7 x9 A* x& e' G+ |" ?9 ~. |+ N9 l0x6411074d 0          root       600        1         
: Q  Y# v; n8 P$ D& T3 ^& S0x64110957 163841     root       600        1         & S% }$ A0 H  P* C! Q6 ^
0x641109a1 196610     root       600        1         4 w3 ?' O% e9 e/ Z
& D( X# p  O' h8 ~7 J, T/ {
------ Message Queues --------
1 q; Z6 U: ^- z; h+ [key        msqid      owner      perms      used-bytes   messages   
" M& C5 ?) C+ x$ `# K* e
, X. N5 W1 B& O* s( h  R4 ?, S  Z6 f
# i% a. I1 H5 D+ y8 k请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?* A) o6 ^; N' p; l

6 w& ^2 S, w+ M* F# N4 }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2178

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2178

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-1 09:50 , Processed in 0.038268 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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