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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
: P1 Q  `/ \) o: {, 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
$ P( r: z4 P) n% K) b8 K4 {( K可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...

0 V- o( X; ]  l- p具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
/ f; ?/ j2 s4 Y) h& n- b" n4 L& w$ Y$ x1 X. C- Z
static const s8 da8xx_queue_tc_mapping[][2] = {
/ a, }0 U1 u# T; o3 i; x, R        /* {event queue no, TC no} */
3 p) g( e, ?% `        {0, 0},* `! z2 @8 [( H) g8 x
        {1, 1},
. s, G; U6 z! f! C% \) s        {-1, -1}9 c, E: Y/ h- u, |8 ]. R
};/ d! B0 Z0 F2 ]
+ D; P" F+ v6 \5 I8 v$ l6 `
static const s8 da8xx_queue_priority_mapping[][2] = {
6 v6 n; i) ?9 b; n        /* {event queue no, Priority} */8 w% P( X8 y. E+ x5 O% n
        {0, 3},) m0 U% }; z. v* Y& j9 [
        {1, 7},  _1 l* O" q/ U' ~9 M- T
        {-1, -1}
" m( j5 X1 d* M};3 j. |2 ~& x  x6 j6 N9 H& T

; U) W! M. y8 s( |* s/ t2 fstatic const s8 da850_queue_tc_mapping[][2] = {
% R6 Y0 C* C  j) d0 H; M* E        /* {event queue no, TC no} */
: f$ C+ P- _- B6 B  b& y        {0, 0},
) l; T" Y* V) x1 `- ], l+ k        {-1, -1}
- K' K) A8 Z: O! P4 b/ |$ O% `};! [2 C# @, C( f! k
  O& ^" g8 q- ~5 {
static const s8 da850_queue_priority_mapping[][2] = {
0 j( @5 r2 S# C: p, p& x, k" l        /* {event queue no, Priority} */4 j* q, r0 U3 s6 t
        {0, 3},1 L8 g, W0 G& `% J( A! L% M
        {-1, -1}. i8 x7 R/ B+ h' E% ?; M3 k
};0 ?5 V6 _; P& @. c8 ^
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。( Q9 Z0 I7 F' D  G
arch/arm/mach-davinci/board-da850-evm.c
4 i) V4 I* E7 Y% i3 V/*! L: t: \) {+ A" U2 V
* The following EDMA channels/slots are not being used by drivers (for! `0 |6 B4 H* n) ^" b3 R4 D
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
( I1 M) u6 @- y" m# i0 z * they are being reserved for codecs on the DSP side.1 \9 q' c( M+ R, w* ~
*/9 `+ S) N, x  D5 B7 h) l# x( ?2 \4 \
static const s16 da850_dma0_rsv_chans[][2] = {
0 Q6 Q2 o3 B! ]0 ~4 R" ?, G  f5 M9 e        /* (offset, number) */
' }. |1 Q- T0 C  Q+ Y6 b0 _; L8 Y; N        { 8,  6},& b" Z3 [" M+ X) k! U. ~$ o' F* L
        {24,  4},
3 n% M5 {1 q, I, x; Q) ]# y        {30,  2},: T) n/ n/ I% B5 Z  O! q
        {-1, -1}
; N% V5 W- K2 z2 R# r};
, z* y- v8 q, v' ^% ~& @& I8 p" u- V/ B  p! p4 Y
static const s16 da850_dma1_rsv_chans[][2] = {
2 f! a6 d. w  k( ^: P        /* (offset, number) */
& \9 g) q! i( M9 @& s0 ]. l6 y        { 0, 28},
" A0 y$ h- e6 ~' F9 k+ w! b- `7 g6 t+ d        {30,  2},
( T( u& T' _$ R* J9 g+ G        {-1, -1}
9 p# H2 V; a6 _) ?- S/ ~& ~, Y};
& h" e2 Z0 d: P* j+ X* k5 m9 F% N3 t# y
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。4 ~1 z# ~$ V6 Q' J

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-31 03:32 , Processed in 0.042620 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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