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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:- G4 v7 B& \4 o3 }* G4 G
root@tl:~# ipcs -l1 V& K+ g* O- B3 Y) V: l
! h* o; ?3 D) B9 F9 k  b
------ Shared Memory Limits --------1 ^: b1 G$ E* u' E1 F
max number of segments = 4096
: Y$ J% T, A6 N+ }6 ]0 {max seg size (kbytes) = 32768
7 ^8 q/ w1 U- S# T3 g( Tmax total shared memory (kbytes) = 8388608
# @7 u# A6 _4 X5 P" u$ f+ smin seg size (bytes) = 1
: e: D! x: S* G9 n8 B' i
& @" K, g8 }5 h$ h6 j# J  Q' Z------ Semaphore Limits --------
; j3 d/ N# g( q# i. g' }- Tmax number of arrays = 128
2 F) L0 v) Z4 F$ [) B' M) N* Cmax semaphores per array = 250
3 K- I8 ?# \) I3 Bmax semaphores system wide = 32000, M3 K2 a7 d* X0 G) c$ O! u$ }
max ops per semop call = 32
6 S2 G. T4 B* Vsemaphore max value = 32767
' t% q+ d2 o0 ~# E! a5 Q& C# M1 @4 H: R9 c/ U! [* M+ C
------ Messages Limits --------+ Q, |- D; e0 C6 d3 ?
max queues system wide = 178
; D. _- x2 q7 u* Y: }% Mmax size of message (bytes) = 81924 U3 ?6 y6 A, w2 t1 C/ @! `$ `& O
default max size of queue (bytes) = 16384
. \  \4 \9 o( d+ K: i; i6 T" I2 T) I( K0 ?

* Y$ l" ^4 T5 K4 I7 }但是,用ipcs -a   d- k3 z0 Z6 `# z% ^2 e" M1 ?
root@tl:~# ipcs -a
- T1 V" s4 X9 @1 B6 X- H. K6 n1 Q2 `7 n' p. K
------ Shared Memory Segments --------* Q( \/ X4 X( b7 J; j# J
key        shmid      owner      perms      bytes      nattch     status      
0 k. w) N& Z" ~0x00000000 0          root       600        1024       1          dest         & o  g( C5 p! x( t3 B% F. R- S/ V
0x00000000 196609     root       600        1024       1          dest         
2 l8 h! @' P! A# k) a( T, j8 L$ U' o2 A4 k6 B; z$ k) `
------ Semaphore Arrays --------7 F0 u+ M2 T! g4 K
key        semid      owner      perms      nsems     ! i! u9 C+ q0 w4 O3 Z
0x6411074d 0          root       600        1         
1 ~( H1 R) `& d; U7 v0x64110957 163841     root       600        1         
& i; [  z* \6 z- ?" P0x641109a1 196610     root       600        1         
) i7 h; X# a) o1 j" ?+ D* ^+ }' X2 |  E) b
------ Message Queues --------8 O5 s4 V7 I1 y
key        msqid      owner      perms      used-bytes   messages   ( C* a, f7 h! Z
8 L+ ^2 ^; P/ I& l- W6 |

! Q6 E8 h1 u4 M2 w0 ^3 e! I5 n请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?* ~7 V4 T" B9 D& |1 I' l

) |( Z; R4 ~6 V4 `/ x3 h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2071

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2071

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 23:41 , Processed in 0.035757 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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