如何查看syslink 组件使用共享内存的情况 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:) E" a, [8 p& n" k* O
root@tl:~# ipcs -l
6 K* L( M* \0 X6 {! G/ h( q7 V3 o+ P$ m8 b2 a) U2 }; \4 J; h3 M
------ Shared Memory Limits --------
' p# ~. V, F. Y" T& h& P# ?" }max number of segments = 4096
" g8 u3 ~( B/ t+ rmax seg size (kbytes) = 32768  G; h4 R6 N4 N) \- f
max total shared memory (kbytes) = 8388608; T, m/ \) ~; {9 n
min seg size (bytes) = 1
% c4 ~0 Q+ u  z5 t$ w, o. @5 e& [4 B1 u; t/ t3 D3 S
------ Semaphore Limits --------
- T0 D/ D# Y* Z6 [. P. imax number of arrays = 1285 I$ J; N8 k$ Z' ~; R0 L) x, p
max semaphores per array = 2504 ]; s: Z! ]8 T" m# j
max semaphores system wide = 32000; a0 F9 w( w5 `/ B& t; O1 f. y) }7 g% p
max ops per semop call = 32  T( J! w4 ^5 Z2 ]' q
semaphore max value = 327676 ^2 {  u# v! l
! L; ?! M- ^& A4 y; g8 n9 p1 U
------ Messages Limits --------7 {3 Q$ y( ]/ S/ `$ M  ~2 Z
max queues system wide = 178
7 [9 n1 t3 q6 a$ d; S5 B5 F9 Mmax size of message (bytes) = 81921 v# s) X* |- @( M2 I. f+ J
default max size of queue (bytes) = 16384
; a/ O# R+ Z3 P0 b( t3 [; K1 w" q5 m; Z8 d

+ O; e8 E- o' E0 ^! {4 U1 y/ d但是,用ipcs -a
! Q( o$ f) k8 _% y# Q! x* S% Droot@tl:~# ipcs -a: X1 L" A/ H* [9 W0 P9 ]

  {  Q" q/ \/ s/ g------ Shared Memory Segments --------
' ?3 M& n$ J% V1 `9 ~( s; S8 ikey        shmid      owner      perms      bytes      nattch     status      6 |0 K2 Y0 p4 b3 h! H
0x00000000 0          root       600        1024       1          dest         
7 V5 U, O) B3 L! ^; G' Q7 `) `0 q6 ]0x00000000 196609     root       600        1024       1          dest           B8 E  t& q% ?* r0 c; s

7 u. u; C6 e# h0 S; Z. D2 V: x0 S------ Semaphore Arrays --------
" K( q. H" `% }* N/ zkey        semid      owner      perms      nsems     
; A2 v+ ~8 ]! r" T, G; U0x6411074d 0          root       600        1         ! _/ ]" O4 }0 {2 }/ q7 ]1 G
0x64110957 163841     root       600        1         
3 {, h7 p! \4 T; [0x641109a1 196610     root       600        1         
3 H- ~" ?9 I1 i1 B' y
' I/ e: R) Z6 ~, n" k------ Message Queues --------
0 |' s: i5 I5 Mkey        msqid      owner      perms      used-bytes   messages   
& H) B, t, ?5 }4 m# L# G) z
7 ?5 q+ C6 @) H
7 T6 H; s- H' ^( g请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
4 C' ?1 I9 y: i5 Y) _( e: o
( e+ H9 S2 o% |: ~5 [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2046

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2046

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-1 07:06 , Processed in 0.036808 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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