在ARM端和DSP端都使用EDMA - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4652|回复: 4
打印 上一主题 下一主题

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?* k* q- ^) l9 V+ i% g& p7 k& ~/ a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2016-3-22 16:26:11 | 只看该作者
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。
回复 支持 反对

使用道具 举报

26

主题

40

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
板凳
发表于 2016-8-18 14:41:54 | 只看该作者
teddy 发表于 2016-3-22 16:26; i( p" _0 y7 U  b+ g7 n- v5 b" k7 m" ]) `
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
1 r7 V" b9 u) S1 L
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
" q  E% b; F: p/ s; ]! I2 c, ?, j
6 z/ Z8 @1 X/ E. z/ Cstatic const s8 da8xx_queue_tc_mapping[][2] = {  T" @- T7 _* X
        /* {event queue no, TC no} */
; V* F" D8 ~0 V/ q: u6 L) l        {0, 0}," L) m0 N( |. x- z5 r. b; B8 x5 H: }
        {1, 1},
0 _0 ^$ S/ l# U4 T        {-1, -1}" j: |0 c. W) z+ J( e5 h
};
* G) ?; o! x3 U0 i
# u8 a* U0 n7 R* V* o4 X+ x5 Rstatic const s8 da8xx_queue_priority_mapping[][2] = {
% s0 a. X2 s7 M/ r        /* {event queue no, Priority} */
7 m! w- f' `3 Q- G3 d        {0, 3},
" l. }5 u- U6 b( v        {1, 7},
1 D+ b. P+ N& h! G        {-1, -1}4 t) e# J% r2 O9 w+ G+ |, x
};
4 f: [% v3 W* h5 m& |" ?$ |
; w$ O, I* y5 Y/ d! Wstatic const s8 da850_queue_tc_mapping[][2] = {
- s! q; r' T3 r: Y# I# E) @4 I$ n        /* {event queue no, TC no} */( G) X% t8 H. k& q5 {% s/ H
        {0, 0},! t4 V% ^. }  T6 S( z- |# V# |
        {-1, -1}0 z1 K  W2 r. h2 u2 ?
};
: {  J: s% q" K, U3 Y% }3 V9 H8 C  m# i
static const s8 da850_queue_priority_mapping[][2] = {
+ Y3 ]6 R" r+ U" N. j; o  Z        /* {event queue no, Priority} */
5 |6 {2 w3 d9 \        {0, 3},# L3 a- `5 C) ~. D) h6 P& ]1 }
        {-1, -1}( `; D" }# W5 v1 X! Z$ T0 M6 U
};2 h6 o6 v7 b& b& U- q. A
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。( l% |  \. z+ C4 G
arch/arm/mach-davinci/board-da850-evm.c
; c7 ^% L0 b2 ?* E; T' a/*
2 K( J4 A% S' Q1 E) x' N * The following EDMA channels/slots are not being used by drivers (for
2 i- a/ c1 ~! z6 I5 {2 ] * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence; v! j0 ~" `6 s3 w
* they are being reserved for codecs on the DSP side.
9 K# ?% s0 M3 }" Q3 d( V0 r */5 `+ H4 ]  Q3 L( ]5 K
static const s16 da850_dma0_rsv_chans[][2] = {2 v( Z9 ?4 p0 Y9 W" }
        /* (offset, number) */
+ h, E( z. ?  a# k# G        { 8,  6},& O/ \' I, z* g6 H) _5 H( D
        {24,  4},7 Q$ z% |* I) {% n( E" V: b
        {30,  2},4 @6 C/ F6 R9 e+ f- y9 c5 v6 J, r+ Q
        {-1, -1}) R8 {) z: E) B) d) R
};  c" G# K5 \/ m- N' f6 I
; w; q2 v* O) g: h+ }
static const s16 da850_dma1_rsv_chans[][2] = {
4 m0 [% \& w0 z# ^. L        /* (offset, number) */7 O( ^9 u' C/ k  v3 a- t0 o1 P, W
        { 0, 28},
! R* ], A) f, D( U+ Q0 f        {30,  2},, L3 S( a: d' x; [7 t
        {-1, -1}
6 T/ f0 I  w& |" ^8 U};8 S6 O% K, H* S) k/ [9 l# E1 s+ M

* x% ]! D% S' [9 g上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。% m# o1 l+ a; o) Y  c

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-16 02:12 , Processed in 0.043710 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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