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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
9 P1 j7 C3 g- }, I/ V
分享到:  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 L. }% V/ r8 l可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
- @+ V" X8 Q; @# w. u9 V
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
7 H! }+ W1 N% L) p3 {: R6 H& ~% n  u2 I) n
static const s8 da8xx_queue_tc_mapping[][2] = {
& Z9 w2 h/ r6 K: Z+ A7 ]        /* {event queue no, TC no} */
- m: ~8 K' Y7 \! U3 O1 \        {0, 0},& b  f) C# o' Z. Z
        {1, 1},
6 B  ~0 ?  J6 C  j3 |+ S5 E7 I        {-1, -1}
# \! `  O, ?" K8 \$ A};- g0 x9 j: H; E, C# {

' }# d; L$ g  d# V  U: }static const s8 da8xx_queue_priority_mapping[][2] = {
! S, F' S$ V( }" @* y        /* {event queue no, Priority} */" t/ `; f6 ?5 q+ x, K
        {0, 3},1 I- j# J* p+ H" y2 k4 r1 I$ n
        {1, 7},* \5 A! A+ p! w+ _3 e
        {-1, -1}/ O# U3 G+ k" ^0 w) T2 m/ ?9 ^4 T
};; ?# n0 g8 @4 D5 D/ B" c$ M7 Y

; F( o* P7 d! W$ Hstatic const s8 da850_queue_tc_mapping[][2] = {( b* T" w2 q# r) D8 g
        /* {event queue no, TC no} */
/ j5 L- O, L9 c: P+ C# \& b, K        {0, 0},
4 Q- k5 s9 f) I& F! N) j        {-1, -1}: z: w& ^0 q7 x0 ^/ y- R4 P
};8 O0 f' a5 t) g  k8 |9 [; e
7 B1 H- s: G. k6 ?$ [
static const s8 da850_queue_priority_mapping[][2] = {
) o6 g9 m; K7 w  B% G* ~- X( u        /* {event queue no, Priority} */
  D7 ?0 F+ i( G        {0, 3},
) C! E" Y0 L" j2 T: O        {-1, -1}7 z% I7 ]* A- h5 i0 G3 u2 @8 l' A
};, f( G( e7 F2 V% X
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。% S6 O" O/ i! N, P9 p
arch/arm/mach-davinci/board-da850-evm.c
# @# t6 `7 {; m+ J5 k/*
) j. E5 `% j# ` * The following EDMA channels/slots are not being used by drivers (for" ?; F6 r* d! O" ~. d3 @% t) N
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence* B% _2 G& P7 U. N# E$ s
* they are being reserved for codecs on the DSP side.) a" E7 G( f3 G  A
*/( k( h! ]4 P3 _1 W" h
static const s16 da850_dma0_rsv_chans[][2] = {  C. e. |; r( }9 ^% G8 D
        /* (offset, number) */
6 n. v3 ~, B, h        { 8,  6},0 ?) f% J* S& }8 v- Q8 p$ ?# H8 I
        {24,  4},
9 Z) h( c1 a. K! F# _        {30,  2},
* M# I( o" c# G4 p: q% V' y5 W' L        {-1, -1}
0 j) w* a! B$ H4 ]1 t0 H* ]3 V};% j$ X! l# c9 u: G
# `! c* {6 N/ ]8 A; t4 b% P
static const s16 da850_dma1_rsv_chans[][2] = {
, I! y/ _4 G" R1 v8 m* u2 J        /* (offset, number) */! b0 o' g! j7 f5 ?; p9 _
        { 0, 28},
3 i9 B  }6 |1 o( z2 w' ^$ r        {30,  2},+ ?( m7 s. G4 p* t5 n
        {-1, -1}
- h- l) m- l) i: E; ~};
* [  m6 E3 @$ l  p6 m
- d, b7 n" q" W+ m7 f上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。
/ Z% L4 ~! b% f) Z( m

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 14:43 , Processed in 0.040396 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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