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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:7 v# O" R4 R3 p" t+ T5 E4 c% D) s
root@tl:~# ipcs -l# [) v  ]+ G2 ~: V& ?

9 Z4 a* |. P0 _+ d! u% Q------ Shared Memory Limits --------" o! C! e: J4 b+ f1 N
max number of segments = 40963 Q0 [3 {% E2 W  ^" I2 T; Z
max seg size (kbytes) = 327680 _# R6 S% D# e7 Q# A
max total shared memory (kbytes) = 8388608
6 g+ }* W1 H: |* `& C) [min seg size (bytes) = 1/ U* ?" j& z8 K" f9 T1 t
- ^! ]! A2 `7 }" L. ^- s
------ Semaphore Limits --------
5 Y; |0 P% g  N# @6 d1 emax number of arrays = 128* e( H* P9 c8 O0 d) z$ m( O: Y
max semaphores per array = 250
* K2 L+ t$ v* @$ t; F' c5 h/ @. smax semaphores system wide = 32000
2 W# t5 ^5 d5 Q) ]* vmax ops per semop call = 321 \9 N& Y- E6 ]
semaphore max value = 32767
& e0 k( i1 u9 x9 ^6 T" R
9 H; O; l8 X- o, C( f' P: ~------ Messages Limits --------
5 L: N' `3 a5 @max queues system wide = 178) q& b0 o# M5 y# Y2 W" k, f5 F8 @# C
max size of message (bytes) = 8192
) \6 Q3 B% K" \2 Zdefault max size of queue (bytes) = 16384
0 Q5 E1 V+ U; ?7 t. ~+ R" L3 N$ b& Q; X
' h& F2 a1 ]0 b. }
但是,用ipcs -a   u( l. `6 l) w& C, _
root@tl:~# ipcs -a
8 m. c  K1 L: |, o& F$ U/ f$ \7 C# G) J- s; N
------ Shared Memory Segments --------
4 @8 r* X9 H4 _0 Z4 skey        shmid      owner      perms      bytes      nattch     status      
9 ^' u+ a; y  w& u1 }5 q' y/ p0x00000000 0          root       600        1024       1          dest         
3 ~) A7 T+ Q2 B! I) [0x00000000 196609     root       600        1024       1          dest         
' \5 z/ L: r9 a2 I* Z2 }  }7 M7 T( {1 @3 o5 E5 V9 z4 H
------ Semaphore Arrays --------
+ t6 h2 y5 [5 g$ q6 O2 jkey        semid      owner      perms      nsems     . U& k  r  w4 J
0x6411074d 0          root       600        1         6 x: A, i1 ]. ]) U4 y3 L
0x64110957 163841     root       600        1         
5 k- D0 f: ?. `- D1 C0x641109a1 196610     root       600        1         7 P3 J4 V  A9 [% _

5 m# W8 s- w9 _, z- C------ Message Queues --------, K0 j8 ]' {4 o) S: y) R
key        msqid      owner      perms      used-bytes   messages   8 W& c+ d1 X4 t5 q$ _$ s

& [& E: }. [4 p$ c$ d9 v
4 k  n* ^5 M5 E1 G请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
/ ]! d' ]' {- u0 N
, v- q7 M8 K9 W* s. t# K7 a2 }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2102

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2102

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 06:59 , Processed in 0.035956 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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