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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:; ^" Y+ D# _- x
root@tl:~# ipcs -l
  h, l+ I: q$ }! P
  v, e) U$ ~% g7 i------ Shared Memory Limits --------5 s' t/ f5 L+ p" W% z: ]* d- D; V. i
max number of segments = 4096$ ^3 Q& W  r& h6 z' P' G
max seg size (kbytes) = 327684 W+ d6 g- s# v# `) B, w
max total shared memory (kbytes) = 8388608
. h, Y2 @. @$ B) y! J/ k  amin seg size (bytes) = 1
' M9 l. D/ ^; y' i( g; ~6 Y% i' n% z* f; y1 w9 N) B7 M0 i* L
------ Semaphore Limits --------0 ~3 l9 A9 C5 X4 q: e2 c" H9 C3 ?" D
max number of arrays = 128
9 r8 K  X. f- ]' E2 hmax semaphores per array = 250) g. s3 F: v' m; d4 S% T! s  v4 D2 O
max semaphores system wide = 320005 Q" G; z0 O4 b& L* {7 l5 P
max ops per semop call = 32
3 W3 _6 I" u+ \; D) jsemaphore max value = 32767
9 g7 w# n2 R; z* n6 ]- C( O. c1 [( B" k2 u( Q3 a" X8 i
------ Messages Limits --------
5 N( w. P+ u% j& z; z* d# R/ dmax queues system wide = 178
- N1 F& `9 H* s6 X% emax size of message (bytes) = 8192) m. c# Z8 U  B' B+ h+ {
default max size of queue (bytes) = 16384# s$ z, s; G/ L2 l0 c  V* t1 U3 r
" X" Q1 u+ P* E' c" g# a7 o. Y3 L/ Y
; b% j/ R1 ?: {7 U3 \$ U- z+ C
但是,用ipcs -a 8 X6 h1 z  q4 l" k. S
root@tl:~# ipcs -a* [+ T2 s5 @8 C3 w2 ?; D0 I0 o

5 D8 W9 V9 ?! B- D- q8 T------ Shared Memory Segments --------
  ], c+ V6 K9 j4 n+ B; ekey        shmid      owner      perms      bytes      nattch     status      6 p# ?- ^9 y/ R! ]$ {5 a
0x00000000 0          root       600        1024       1          dest         " F8 N2 {" }" w4 \- v. a$ B$ z
0x00000000 196609     root       600        1024       1          dest         
# v+ X5 f+ C7 @! h
/ t! R( @  {& U! T& N; h1 [------ Semaphore Arrays --------
% J( W3 z/ k' H: R+ r/ p; rkey        semid      owner      perms      nsems     3 C* s& a  p- A+ F2 n
0x6411074d 0          root       600        1         
# H: N9 _. M! a9 h8 b+ H, X0x64110957 163841     root       600        1         
6 P3 h2 Z+ e. a- h& i( f, T& `0x641109a1 196610     root       600        1         - ^, M9 x/ a, P. G

; V  @" ~) v9 x0 z( U) r------ Message Queues --------
3 ?( Z2 @5 ~) |0 Wkey        msqid      owner      perms      used-bytes   messages   ' `4 L, N) U: y$ a

* I" A4 y$ K% S6 J/ t9 X" |
% K8 o6 N# v( z8 }$ c请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
8 e8 j( U/ G9 v9 v$ F/ C  v& A9 \$ v8 _
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2121

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2121

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 14:48 , Processed in 0.035905 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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