如何查看syslink 组件使用共享内存的情况 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:3 n% c7 c* v7 X8 I1 M+ m
root@tl:~# ipcs -l
) M4 a8 G; m7 R/ s' {3 n
3 _% E& P, C1 N- Z1 L6 c------ Shared Memory Limits --------# k3 C# v4 h  @! u9 h, Q
max number of segments = 4096  V" A5 G# h* J8 H% Y  {6 g
max seg size (kbytes) = 32768: K' L1 |  e5 V- R/ ^9 H0 _
max total shared memory (kbytes) = 83886083 f4 m% Z; K8 f1 V1 ?: a7 c, E) Y
min seg size (bytes) = 1
6 A6 b7 t8 H9 |1 I% Z& p
4 U, Z0 c# y- t; |5 _) u( L------ Semaphore Limits --------
0 G7 U" D7 Z6 R# H& Z; |' A- bmax number of arrays = 128( [$ H! w4 w9 ^8 ?3 a
max semaphores per array = 250/ Z5 |. \1 {7 a2 I9 E3 o& `* X  ^
max semaphores system wide = 32000# _1 U" u2 W6 f% c; \& x
max ops per semop call = 32. A$ n; Q% o5 _) q( q
semaphore max value = 327671 E  U9 |. N( q8 C6 r4 V
, p1 x' Q" t' O
------ Messages Limits --------
. F" I1 O( Q3 m3 E2 F* lmax queues system wide = 178
& ^# L$ C! e" `+ }% `( `  C+ B+ w& Q3 {; kmax size of message (bytes) = 8192; S" p# Q6 W# J% ]: u+ `
default max size of queue (bytes) = 16384# ^  [* y; e% s
$ a: E8 o' H! w6 R! z" D- A
$ f! p, Q1 g/ p( J+ b: C
但是,用ipcs -a : e: y6 Y$ m- e1 R
root@tl:~# ipcs -a2 ~; j! |! I5 r% \
# X+ m3 [5 B. \. Z( q3 a3 T+ Z
------ Shared Memory Segments --------1 y- F& g8 e/ d* u! U* i
key        shmid      owner      perms      bytes      nattch     status      
8 _1 H6 w5 ^0 Z7 b* f, l5 c0x00000000 0          root       600        1024       1          dest         7 c6 Y' H% R3 P( z, E- Q& h5 p
0x00000000 196609     root       600        1024       1          dest         . V9 t* M& ~3 q% t7 ~# }2 y' a* j5 y
; A- T$ R9 B. u& ]" I
------ Semaphore Arrays --------. G7 e$ }1 {" Q( x& u
key        semid      owner      perms      nsems     : O6 m0 [9 E- I6 f* Z1 ]
0x6411074d 0          root       600        1         
0 T; d* t' A- m; I" [0x64110957 163841     root       600        1         1 g" [' m; \' s, Z) J" n
0x641109a1 196610     root       600        1         
9 A5 q3 d  b- I5 ?
$ f5 J* G% R, U------ Message Queues --------0 ~5 C5 x' K: S/ R' [9 d
key        msqid      owner      perms      used-bytes   messages   6 l# g" j% h. l! S1 N
& s. C3 I9 d: M* E+ G5 f1 B; `: x$ I

3 f' ]3 i0 `) f! p) n请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?
; ?8 `2 ~* ^7 o" j
6 y' b4 H. f5 ?( r3 P" P' O) C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2191

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

0

主题

113

帖子

2191

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-17 11:21 , Processed in 0.037951 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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