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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:# Z) ?/ {! G0 F
root@tl:~# ipcs -l8 V" {9 Y/ w+ e9 s6 U

9 o. k5 x8 B, B; P. M* Q# ~------ Shared Memory Limits --------
+ V' }2 f+ \! @max number of segments = 4096
' B+ w; R; _% C( Xmax seg size (kbytes) = 32768
  _- Z, P0 R2 Q2 \3 h  Qmax total shared memory (kbytes) = 8388608) S+ J) ?6 G7 N4 I$ F( \7 X
min seg size (bytes) = 1
2 ?1 }- l' k0 e/ Y$ i
8 Q1 U. b9 |' o$ L: v------ Semaphore Limits --------
% ~8 |% S; g5 |0 r8 g- {max number of arrays = 128
) J: o+ k; K( F. \8 K6 A( T9 qmax semaphores per array = 250
! u0 _* Z! X; `& |1 y& j: P9 ~max semaphores system wide = 32000
% m; n2 q* n0 D8 _' [max ops per semop call = 32
* A) X* d5 c! A5 L$ a9 |semaphore max value = 32767
+ F; t# ]; v, R3 U9 H1 \/ c  O0 r$ O+ V' `7 [& Y- t
------ Messages Limits --------
: q/ R5 U$ o, y9 j! E3 Jmax queues system wide = 178/ v& b+ |' `7 U# J3 s) w
max size of message (bytes) = 8192
" ^& U9 o% z) z) tdefault max size of queue (bytes) = 16384
$ |+ ^: ]7 J+ i3 D2 }$ {
7 o% ?# W( g" j: r$ i" F3 W# a
# Z% C# D, {2 i, h但是,用ipcs -a
( ^1 C  C# j4 ?3 F* N+ groot@tl:~# ipcs -a
2 o! a# a, J7 [, x! b8 k2 }5 F& `; e  q0 W$ D3 H5 p
------ Shared Memory Segments --------+ u2 A, h2 ~9 v# p
key        shmid      owner      perms      bytes      nattch     status      9 m* H! v! J+ B5 j! O6 m" n7 j
0x00000000 0          root       600        1024       1          dest         
( e: [+ Y% _# z2 V1 K9 B0x00000000 196609     root       600        1024       1          dest         2 l. l; D4 O8 u6 ]

8 r( E% ?4 h: k+ j------ Semaphore Arrays --------
- C4 x- v6 S/ _key        semid      owner      perms      nsems     
5 N) s' ?. B; c$ J0x6411074d 0          root       600        1         
% o, n6 @" u# g) u2 Z9 F7 D" |" m0x64110957 163841     root       600        1         9 X) y) ^' w5 j5 B  Q8 B
0x641109a1 196610     root       600        1         6 R& b( y& G- N+ q/ h, ?
: o7 ?% Q1 B0 p5 S2 L
------ Message Queues --------  d& N8 J! `6 ]- Z* J  c
key        msqid      owner      perms      used-bytes   messages   % [0 m9 S% o# {7 ~" m% ?2 q5 d
6 B: o2 `4 _# q5 R. h

6 x: _3 X) m% v, q请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
4 @7 H3 ^) o3 C
2 S9 |1 a  @$ j7 ~2 V% C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2025

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2025

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 12:39 , Processed in 0.036267 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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