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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
( [+ Q+ g/ t9 A* D4 ?9 d6 ~/ Z
分享到:  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
0 A* i; T7 n) S; i8 ^可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...

% A3 h" p% M4 ?具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:/ b2 W/ R, V/ N! K" z; O4 Q% b
1 [/ M- w# r: V
static const s8 da8xx_queue_tc_mapping[][2] = {: }. V3 y2 X3 j4 O% B2 F" z' v
        /* {event queue no, TC no} *// ]$ C* O7 E: N- Q) }
        {0, 0},0 {& ]' m+ N% n, j
        {1, 1},# A) y: B2 t6 ]* {8 s4 d7 s: t
        {-1, -1}
: [. t& G- m9 X& A+ I};! f2 t; |; i1 G8 u, u$ Z

  M! `( d* r" H1 g/ q* \5 F+ J3 |/ J  zstatic const s8 da8xx_queue_priority_mapping[][2] = {
( U& @% o5 S. w+ A" w        /* {event queue no, Priority} */, I7 ~" j: i/ m! z4 @- f( h% b
        {0, 3},( m/ X% e5 |( ~% w- `' k# z/ H- X* b
        {1, 7},- x2 U7 e# E( n/ m9 [
        {-1, -1}
0 p# g! W9 e3 E) s7 n6 N1 S1 a};0 G3 k3 v& _+ s) r: x8 A
4 S' G$ H3 y+ l& }/ Z* x* r
static const s8 da850_queue_tc_mapping[][2] = {
( V+ {+ G$ k' P. h        /* {event queue no, TC no} */
, p7 p1 s! s: Q2 C8 h        {0, 0},: R: ^; D$ C+ Y4 K) C( {3 O
        {-1, -1}+ L3 d+ \9 _1 V6 [2 s. ?/ Q
};! u1 [' O: R. z1 E& ~5 U
. r2 L; b5 l' ~$ F, y& V
static const s8 da850_queue_priority_mapping[][2] = {/ u  m' W1 \, O* [3 Q% b+ ~% v
        /* {event queue no, Priority} */
7 l4 w8 W1 x; t; l        {0, 3},
" x" a& V. x( n* S/ l# t        {-1, -1}/ ^* s) S8 z# b* {0 T- P+ ]
};
) k) A/ l0 I2 U
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
) B2 N  N% c8 Y* X, ?5 X* Harch/arm/mach-davinci/board-da850-evm.c+ u# t' d; x2 D5 ~7 K/ E4 D' B
/*
% B& W8 ?% D6 W) R6 m. t% h * The following EDMA channels/slots are not being used by drivers (for* h9 _8 m! W- ?* o7 I9 ~
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence, u8 |+ P$ |' E+ _  L
* they are being reserved for codecs on the DSP side.0 Y5 F3 C3 P/ ^8 J' o0 F: L
*/* _& w+ M& @5 {( |0 N. j) w! `/ P
static const s16 da850_dma0_rsv_chans[][2] = {5 a  l$ l, |+ h" ~- ?& W
        /* (offset, number) */' C6 c  v$ I8 N- c; l  }
        { 8,  6},
% M- a% c+ K! h        {24,  4},
! }- W- w- ], W, i* S& e  P- V) F6 F        {30,  2},
% `8 C! n0 A* R$ m5 y# e        {-1, -1}, k: q9 E. D( ~" H. m0 p$ l
};
/ t1 B9 e, r- ~+ J+ M" \
/ `" i) R6 Y$ X4 y8 Y! ostatic const s16 da850_dma1_rsv_chans[][2] = {
+ w0 m0 k" y1 D: f* D" a  A        /* (offset, number) */6 M$ L. R* e( e+ G3 R5 Z8 Q6 Y
        { 0, 28},+ Y1 `8 \( v  T1 s5 o! J
        {30,  2},' ^) v4 U0 x; w+ n
        {-1, -1}: n* m$ Q( Z& f+ C) k2 Q! Z
};
& J: A5 ~! x8 {2 s. }* }$ W: Z! Y% s/ r: {- w* K/ _7 t; k3 P, E
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。
( N, p2 l8 e: m& R& e7 D2 |7 m

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 22:12 , Processed in 0.047118 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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