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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:6 r# M3 F, a. V
root@tl:~# ipcs -l
7 P) l; H6 ?7 x; @4 H7 r  A$ v! D# {! z2 k% e; a
------ Shared Memory Limits --------
  B9 M9 o) j/ r1 {max number of segments = 4096
& \- B& v. X$ F- t9 R; Amax seg size (kbytes) = 32768
9 w! r* ?# r: Smax total shared memory (kbytes) = 8388608* o% D" B8 _: ?) V9 l' C2 b. }9 T
min seg size (bytes) = 1
9 _, a5 ~1 p- e  K  G; Q1 H* n! K1 S; }0 t0 C; H' o4 u0 k5 t
------ Semaphore Limits --------
. o& q+ U; \1 emax number of arrays = 128, W, H8 T: T. M) e5 G
max semaphores per array = 250, Z" q$ l+ z# [, I8 ?: \2 H
max semaphores system wide = 32000
7 z' l7 y5 V$ R6 q2 Umax ops per semop call = 32
* [* M) x2 t% _semaphore max value = 32767/ c* X+ L3 ?) _/ [' j+ a2 n6 J
% a! M  n# U- j. I& E9 U  F
------ Messages Limits --------
8 Z# v+ d  ~6 [: {max queues system wide = 1784 z8 f' k" H4 A6 U$ R* J3 i0 ~
max size of message (bytes) = 8192
" Z' t/ O" Q' y) f1 Gdefault max size of queue (bytes) = 16384
7 L9 \* F0 |: K; Z7 d5 C7 A6 I
# b* y! o' r+ ~! \9 W2 Z7 P. o% N, z0 K" H; O$ \' a
但是,用ipcs -a
3 X4 X4 {  J3 I8 a, X; B' |root@tl:~# ipcs -a3 c& g5 j, m, I
4 p! ?8 R5 a. v* \6 S
------ Shared Memory Segments --------
% t$ E+ n3 S9 y- {. \key        shmid      owner      perms      bytes      nattch     status      1 K# d& o6 d. v5 `# L" D) Z
0x00000000 0          root       600        1024       1          dest         % {2 y; w( A% _& {1 D
0x00000000 196609     root       600        1024       1          dest         7 u6 r3 g: a* O! D$ n; i" L
( d" O7 }# U, L" N; Y% R
------ Semaphore Arrays --------+ M  ^1 l; O1 y4 k; b! K; [0 r
key        semid      owner      perms      nsems     
3 B  T4 a9 w( f- }# ~1 I0x6411074d 0          root       600        1         3 p# L8 W- w: a0 F3 h
0x64110957 163841     root       600        1         
9 }. N: F  a* n/ j) q. F  C7 ]4 @( P5 t0x641109a1 196610     root       600        1         
8 P" O$ y3 k' S$ w: K) k2 C! V( S9 n; P; x
------ Message Queues --------6 a1 A. G9 u, a2 Z2 k/ z: H1 @' `
key        msqid      owner      perms      used-bytes   messages   
, t8 V  ?. b* _4 r  P
& s* T; x1 Z( b
/ P4 a8 z# O/ z7 {' R! j. d6 U请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?% y+ o& [# P4 y3 b; G

* U! U: P  P" \9 x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2110

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2110

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-18 22:27 , Processed in 0.037262 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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