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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?! U. w9 N# n3 ]/ _5 r( @; F
分享到:  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
; v: O  A1 ~* x# }可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
, [4 F( k! t, j
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:2 q" o7 _0 c& C" {0 S1 S
+ R& ~# }3 u, k: M/ _
static const s8 da8xx_queue_tc_mapping[][2] = {
) ~# U3 G# g' ^        /* {event queue no, TC no} */
7 A! `8 _# I! r9 x1 e. j        {0, 0},
; e1 d! i6 D" q1 N: Y; z% H; ]        {1, 1},
. t9 N9 P$ D5 H0 `4 J- f5 ^1 A        {-1, -1}
9 L, D+ R- ?+ z4 @};' Q  J% V6 T+ @. i
( V. U% O; ~! R* Q2 s1 R
static const s8 da8xx_queue_priority_mapping[][2] = {2 m: P9 d; G5 W. r* U) e5 _( {
        /* {event queue no, Priority} */& t: _6 i4 ~& q7 q1 O3 Y( a
        {0, 3},
. V' e+ i( q. b1 a        {1, 7},$ I4 P; D; l9 d; E( h7 l! f
        {-1, -1}
' S( Z/ }$ e2 ~& w7 ^6 ?};
5 h$ H1 I+ _* s/ a" q% }: V/ x1 t- A' q9 f3 b
static const s8 da850_queue_tc_mapping[][2] = {
9 D# V' T% {3 e" Q2 f% K3 l! d        /* {event queue no, TC no} */* a' @8 x3 y+ @0 _9 L0 {, I
        {0, 0},
% h( a% E3 f" v: c: X7 c        {-1, -1}! Y# j% }* J" I) O  h2 h; c* r+ r
};5 Y2 G8 j+ I5 W7 q. P3 z
1 h/ W/ F7 @9 \5 [
static const s8 da850_queue_priority_mapping[][2] = {
+ j! h5 d, P0 z; x9 p4 F, u        /* {event queue no, Priority} */
* U$ J4 t3 A6 T! \2 x6 s        {0, 3},# a) d5 Z7 w* D; ?
        {-1, -1}
6 i/ H. ^5 V. m# W# x! y0 k};
4 t) ]. `6 B, P( u" I9 R
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
* j$ d$ M8 b. t  {8 jarch/arm/mach-davinci/board-da850-evm.c
, l; m. h8 ^4 I% x1 M  C* o6 L# W" N0 e/*
$ r9 Q; M4 W9 ]7 Y# ?; X$ z5 | * The following EDMA channels/slots are not being used by drivers (for
6 e/ d: |, D; A9 z * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
# N5 t' c( {. k$ n. R * they are being reserved for codecs on the DSP side.2 r+ h" t8 A; k6 ]- \1 y/ |6 f, L
*/4 R6 }( \1 J1 p- _' b+ Y( n2 ^
static const s16 da850_dma0_rsv_chans[][2] = {
2 `- I$ n. Z$ N4 r: {/ Q& S0 @5 q: W        /* (offset, number) */
  Y- D( U4 ~3 f$ ~6 d3 g6 _; D        { 8,  6},7 e$ A3 \; \% I) W$ R. Y" J
        {24,  4},
$ r& Y& e7 K) h. u, k% i$ ^        {30,  2},
) u# {% X6 S- i3 {, f8 L        {-1, -1}
8 Y. J+ s3 s$ z2 J: f' }0 l7 y; k};
2 ~- `- Q. l7 ~2 Q. [" G: s2 m$ L' T: y+ N7 B
static const s16 da850_dma1_rsv_chans[][2] = {6 c! @* _, m* F6 H
        /* (offset, number) */
# p+ k7 Q4 g. ?+ V2 ]4 M        { 0, 28},$ Y" O; |; s+ q( @3 \' |
        {30,  2},
$ O% P5 u& ^1 r  A2 A8 e        {-1, -1}
3 p  V; W# R* |, n& a, H6 q};
5 }2 v0 S+ L0 t4 Z' p" H" P( w# f! ]$ M# d4 w5 {+ P8 v+ w2 y
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。9 C$ _) m9 T) U0 L3 o4 Z; z

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 08:01 , Processed in 0.039460 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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