在ARM端和DSP端都使用EDMA - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
7 ]9 f' I/ D7 i2 t$ b8 n/ `
分享到:  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" W, S/ W% L# J" s/ Y
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
' u+ P9 [1 |3 q8 I
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:  k6 H% G9 X2 k& L! ], ~+ f
% u& l4 i% _2 t8 p
static const s8 da8xx_queue_tc_mapping[][2] = {+ R( R  i  Y7 A+ n* G& |4 @7 c: V
        /* {event queue no, TC no} */
7 w5 [3 v+ T3 }1 {7 W( `        {0, 0},3 A1 I& @3 s0 ^0 f
        {1, 1},
" E, V# \2 f1 p# f$ C7 ~, a        {-1, -1}: Y' E' `1 W8 V" h+ {' I3 N
};  y. R5 ~4 P- H" G4 k% \7 V  Y
5 @: Y7 M( _6 h/ D
static const s8 da8xx_queue_priority_mapping[][2] = {
; G* q/ p" Z5 u: s- C; [        /* {event queue no, Priority} */
0 l% L- [: U  P: ^9 R        {0, 3},! r9 V; U5 p# ]  P, S# A/ D' b
        {1, 7},' y" g8 z+ q! \4 ~
        {-1, -1}
) S  d1 [. T' B2 x& D! D# X' [2 x};) n/ H7 N/ x% r# o' {

, Z# j  ~! e6 Y, o, A) \static const s8 da850_queue_tc_mapping[][2] = {, N1 m% d8 z! u7 G! _( [( I
        /* {event queue no, TC no} */! S# t$ @* p* p% |
        {0, 0},0 Z9 \* T# w( z3 I; \: W
        {-1, -1}6 H% [! Z0 d" @
};2 h7 k8 p$ r- P

. s/ q0 W( o8 k) o, O& Y9 Estatic const s8 da850_queue_priority_mapping[][2] = {9 r: ?- g  ]. J3 i* G
        /* {event queue no, Priority} */
# r% h, h. p" C* Y  e1 f        {0, 3},
' m2 ?: Y7 i# q        {-1, -1}
  O& D' y2 C1 K5 K1 A; `3 z};
6 m' b& K" U/ w3 q* Q; i
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
% ~% n, d9 ]) Q+ M  @2 V& G, n" Yarch/arm/mach-davinci/board-da850-evm.c; B+ V9 D- X1 G; C- \; N3 p% x( \
/*
* q$ I& w3 g2 U" E7 b * The following EDMA channels/slots are not being used by drivers (for
$ o( S1 c5 _' `7 k0 u/ l  f * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
0 M6 H* L$ V/ L" f% L * they are being reserved for codecs on the DSP side.; ~+ L" Q9 n2 i3 b! Z9 F, ^0 k+ y3 d9 N
*/1 I! K+ B9 g# D, @* q4 }% R
static const s16 da850_dma0_rsv_chans[][2] = {
9 q0 `2 L9 N" H: _$ k        /* (offset, number) */* b8 @7 c9 ^9 F0 O# M/ c9 l7 f7 [5 }( G
        { 8,  6},$ i4 V2 Z( n* Y& M) Y! O
        {24,  4},, M5 E' @3 z! B5 U8 l' q9 n! C/ L4 t
        {30,  2},
  A) c) B$ t. ?& W, z        {-1, -1}
) z( Z8 V) V& Y  x: {7 p: A7 J: I};
4 ~* W1 W, y. U6 P  j3 z; k
6 P' y9 T& |# g0 B- \- G2 xstatic const s16 da850_dma1_rsv_chans[][2] = {
( w( [6 T" a3 W1 i8 A        /* (offset, number) */
& o9 D& c' u( ?) ~        { 0, 28},+ _) o( n( z* R
        {30,  2},
+ x$ C' l( u" B+ {        {-1, -1}
9 ~8 p' K" z8 K3 ^) \1 a};/ C( r5 i0 o1 R! V  v4 `7 z
5 s8 p1 a2 j9 G3 g/ j9 G; f; r
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。7 k5 {! l2 u5 |* i- ~% X' `  l

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-31 08:13 , Processed in 0.039803 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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