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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:- ~4 t: o6 P" R
root@tl:~# ipcs -l
; L0 z6 W* o5 U9 _( ?( t9 n
7 f2 U$ ^( `# d7 Z------ Shared Memory Limits --------+ q- e* x6 `8 H" O* r
max number of segments = 4096; x5 N' P1 w- f, H
max seg size (kbytes) = 32768
7 D! r$ p! }' O: g5 K, {9 p/ }max total shared memory (kbytes) = 8388608
# \7 k' C& ]1 f0 T5 Z) pmin seg size (bytes) = 1$ G7 }, \5 y- w5 {. h

7 I& s' j1 {8 e! F( C8 V7 ~; [! _------ Semaphore Limits --------
3 v& m# w. e" C7 q# U' umax number of arrays = 128
' L6 i$ W5 D: `( {/ j( wmax semaphores per array = 250+ K' A! e& y/ t' h
max semaphores system wide = 320000 U! c) K& S) X! ?" h# m' W
max ops per semop call = 32
2 T7 k" K+ _; z: Isemaphore max value = 327676 B( a0 u& I# A7 R3 g

* p" _6 W+ E2 M( M* d------ Messages Limits --------7 a4 c8 e5 {" J
max queues system wide = 178+ H2 @/ m; F4 g3 M; Y5 C
max size of message (bytes) = 8192
8 R" w* o. f3 X7 @+ B2 M( T9 ydefault max size of queue (bytes) = 16384
9 N% g/ l, O$ i$ f
" P: u( w. F1 v3 ]* w& I2 o: x$ D' B4 M& s2 t# c  A
但是,用ipcs -a
- {1 D0 w) Z4 D5 nroot@tl:~# ipcs -a
, K5 l4 {8 S6 L8 @; G7 f% w# i( i' d+ p( V5 H2 |
------ Shared Memory Segments --------
- y2 T- X# U4 ?0 dkey        shmid      owner      perms      bytes      nattch     status      6 G" u$ l$ N$ ~8 M+ z4 E
0x00000000 0          root       600        1024       1          dest         
1 D9 G/ i5 R" l* |/ {: {+ U0x00000000 196609     root       600        1024       1          dest         . d9 L/ p5 U$ D* z7 L; E2 [- Q# `
: ^  ~8 @- L, s
------ Semaphore Arrays --------
) [. L! o; @  \+ V* Z: m) Rkey        semid      owner      perms      nsems     ! M4 h: k: w- Q. r* `0 G! S
0x6411074d 0          root       600        1         
$ ?, n3 p" V7 L4 Q+ X3 b0x64110957 163841     root       600        1         
, a, Y0 U' G% o6 L0x641109a1 196610     root       600        1         ! S; S+ V# g" B8 g; M

8 j; s/ ]' j; r# P9 p8 e8 T------ Message Queues --------7 A8 Z( [, E" p9 J) K
key        msqid      owner      perms      used-bytes   messages   
+ O" X6 c5 b1 i* C& L, i9 j6 X- C5 \3 Z- F7 \1 j

; C0 E$ L, g% C& B( e, {& F请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?( X6 P5 q$ a, N
, R2 \1 |8 _5 O3 a
分享到:  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-19 01:15 , Processed in 0.036319 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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