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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
$ X) J  R# i0 H) S3 o7 S) ?root@tl:~# ipcs -l
+ z; L. j, ~* |7 m. F$ x
( E2 t/ G' E7 _9 c* {; E5 G' e0 u5 G------ Shared Memory Limits --------
: u+ Z  E9 i: a% `: {3 v# lmax number of segments = 4096# \+ `4 {0 p5 D- }- u
max seg size (kbytes) = 32768
4 W& U3 W) [2 T+ G( z1 H+ k) |  @max total shared memory (kbytes) = 83886085 I: Q7 S$ c2 o( K% y4 l& u
min seg size (bytes) = 1
6 d) ^( U7 n9 Y* _' \; Q
: e& w) Q* ~) W+ x------ Semaphore Limits --------7 B+ o) D+ B% p2 L: E$ j
max number of arrays = 128
7 A; O+ g8 B" J7 wmax semaphores per array = 250. n: s4 l2 r# B4 Y
max semaphores system wide = 32000
* y$ x: i  M* o4 hmax ops per semop call = 32
/ b- ^6 H4 B& k: w. {semaphore max value = 32767
' F- }4 |( t& O( g( v( y4 b$ j) u3 F" J% {! J, l) j# D* u& y8 n& G
------ Messages Limits --------
6 S1 D& z; }6 E) i' U: K4 _max queues system wide = 178
, g0 c4 @0 F. A% k  emax size of message (bytes) = 8192. f+ u) ]  E  I) A0 J9 b5 D6 J
default max size of queue (bytes) = 16384. b0 t9 _; l  m$ j, G, e/ O; G
5 R  B; v1 L4 P( Y$ U+ A7 b, b! E% P+ C
9 H/ K7 d' n1 Z
但是,用ipcs -a & T+ d+ j5 Z" m7 i9 \. c3 E# U
root@tl:~# ipcs -a
# }5 W* p" q8 l
0 k- s+ B' a7 D4 a2 Y0 i------ Shared Memory Segments --------
4 a  O* `1 _9 p: o/ I. Ckey        shmid      owner      perms      bytes      nattch     status      $ S4 [' \+ s4 R8 F
0x00000000 0          root       600        1024       1          dest         4 `% c' D. u. z9 n1 J
0x00000000 196609     root       600        1024       1          dest         
3 m* M! o7 o! G8 Q7 \
8 D* A, ?& B5 \) H' P/ R3 `% V------ Semaphore Arrays --------* q! U: E) D- L+ p
key        semid      owner      perms      nsems     
: G) R) `- x3 Z5 e$ ?9 x0x6411074d 0          root       600        1         " |8 q% }% [9 `: R
0x64110957 163841     root       600        1         - u) D1 i6 D% m, I
0x641109a1 196610     root       600        1         
4 P, A* h9 |9 `: {6 k4 O
* n) P9 K8 X) B- Q" [8 r3 |2 ^' q------ Message Queues --------
) d& X5 U/ i0 q: z5 m: ^key        msqid      owner      perms      used-bytes   messages   , h' s: p4 m  v0 k3 z2 N

, `0 ?; t  q! n* u" N' I  ^5 m6 i# l! F9 z+ I5 B
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
  Q+ {7 \& D9 ?0 b/ v  `' ^& g) T
8 C' i% _0 u1 h, ?$ M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2091

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 20:10 , Processed in 0.034862 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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