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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:  i5 o, T* G; T3 _& ]5 x
root@tl:~# ipcs -l
3 @" C, X# w3 O3 L; T' t/ v! N9 a0 S9 [
------ Shared Memory Limits --------7 W) M) i" b/ J- m) N
max number of segments = 4096
3 H4 k% Z+ p$ w' Pmax seg size (kbytes) = 32768
  W1 ?9 K$ S7 z( }; r$ Dmax total shared memory (kbytes) = 8388608' [! ?% r6 J2 a# {+ K5 c
min seg size (bytes) = 1
: g6 k  K. o/ T# C* [" O  h2 o; u9 n* [: r0 g2 B
------ Semaphore Limits --------
) M( c% n7 k; B% U2 |/ zmax number of arrays = 1283 T( ^; U, d0 _" b  Q6 E% t, C/ q
max semaphores per array = 250
9 z( c5 J" Z, l+ j$ o3 s% I* d" pmax semaphores system wide = 32000
0 O+ [( h' n3 Hmax ops per semop call = 323 x" ]8 `: }: v0 R
semaphore max value = 32767: ?" m) A. y8 ?  ~1 w
$ {8 C, F5 [9 I( n+ w, h
------ Messages Limits --------
* w% X, |, |8 N% N+ _% [max queues system wide = 178
6 A3 W8 ?4 {. \# `max size of message (bytes) = 8192- j$ p! B' y( c* I
default max size of queue (bytes) = 16384: n6 v7 q- y' s" n6 l

' H3 r& {' U9 N6 e3 z) I1 Z2 N6 q/ ?! O& ~. U
但是,用ipcs -a 1 y- U. g4 y* `5 M  n+ e
root@tl:~# ipcs -a
/ V  S" |7 E# i3 i3 S! ~3 g' L8 k. Z5 y* {! u4 b: D4 ]6 d
------ Shared Memory Segments --------
- z8 S/ o, L9 \( ^key        shmid      owner      perms      bytes      nattch     status      0 G8 ?0 N! M& _  V" x) O
0x00000000 0          root       600        1024       1          dest         - d3 d: O2 q1 ^( Y2 S  q
0x00000000 196609     root       600        1024       1          dest         * u2 U0 Z/ j- T5 |3 E( K! ?# O& {

7 C) S& {, U& @6 x1 x------ Semaphore Arrays --------, c: I* r* p8 f
key        semid      owner      perms      nsems     . q( g# i1 _9 @& c( }3 g
0x6411074d 0          root       600        1         
4 ^4 F+ y6 X/ ^# d) k" w0x64110957 163841     root       600        1         ( A" k4 z1 }- F
0x641109a1 196610     root       600        1         
% ^- g0 Q  G- a1 k  R* }/ a4 u! F3 U3 o% ?+ b
------ Message Queues --------
4 H! E6 O6 D# a! g6 x' Nkey        msqid      owner      perms      used-bytes   messages   
% U3 J% v$ Y1 c! ]# W
+ Q* n6 Z/ S/ s, r. {5 y; a- G7 c/ T* I* h7 [9 q6 ^9 H3 V/ e
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?: B' G4 _' n0 S( C, ?2 ]
7 P9 P" ^9 p% b6 F0 e
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2100

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2100

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 15:09 , Processed in 0.038166 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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