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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
8 \3 p- K& y! ?  z5 }. n% \6 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. ^( i4 ]9 ?4 i, |9 x" [$ c
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
; k. p/ U6 I. C7 l: ]; n, O- g7 f
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
+ j5 g8 J* G: B1 D9 ?9 y  d* G; e# h9 G" x# L% X2 z* t4 e9 f
static const s8 da8xx_queue_tc_mapping[][2] = {2 r* w# v! D6 ~1 |/ p1 C
        /* {event queue no, TC no} *// [8 u8 E( u! u
        {0, 0},
4 R/ D. h9 c" A, x& t( a) F        {1, 1},
. J- Q, k" b' W, d" O* W& z6 S! B        {-1, -1}
! s  y6 w0 w8 K( b4 Z' V+ U, i8 o};7 Y* c: j2 P; R& i4 ^- \
3 G4 p  ?+ O3 X$ _0 c
static const s8 da8xx_queue_priority_mapping[][2] = {
! V3 ~( U, v. }; H- ]; [        /* {event queue no, Priority} */# o$ v( Y/ ^, r0 y. z/ K
        {0, 3},/ o8 s. {( T4 A7 I- G, Q9 z
        {1, 7},
( j: [+ {/ B7 c  a0 Y$ ]1 L        {-1, -1}+ K4 u% c" j: o0 z4 I) O
};
" A% ~* E7 a: _2 P5 r) S/ ^3 C0 x, R8 r. @, [: Y+ \) L( t0 d0 y" J
static const s8 da850_queue_tc_mapping[][2] = {) a: L; O/ F  w) d2 I5 m
        /* {event queue no, TC no} */# [. A5 T2 G9 i9 V0 _9 F, L1 f! n
        {0, 0},
) K  ^/ D, S1 j  s        {-1, -1}
- ]) j, Y) A: Z6 l& }};2 }* [- Y$ w6 ^/ ^
6 f1 |, I$ \5 |7 s
static const s8 da850_queue_priority_mapping[][2] = {
) f+ Z; W; G' \  i8 l+ y# e        /* {event queue no, Priority} */
) y$ ]- S. f5 t0 ]        {0, 3},6 E+ v% ?% J' ^+ Q
        {-1, -1}6 h% n# Q) {$ u) g! b* H6 \; w
};
+ w) I- p: k. t: S( i8 w+ |0 f  T
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。) O* R/ \) ^9 Z8 c) Z& l# v
arch/arm/mach-davinci/board-da850-evm.c
8 H3 n5 }. R# M  W' @/*& y( g2 b% N3 s8 v
* The following EDMA channels/slots are not being used by drivers (for$ T- a3 w# J9 |
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
4 N2 ~0 b1 S9 e. ]& e6 H: K8 q, @ * they are being reserved for codecs on the DSP side.$ L2 R0 P2 V2 U* [! N# ~
*/
/ ]1 K& B, S; O9 [static const s16 da850_dma0_rsv_chans[][2] = {7 k/ K$ s3 J" {# W! Y3 g; F3 U4 z
        /* (offset, number) */
' U/ v5 z; V0 q; i' f        { 8,  6},1 O# l1 ?# R9 Q4 F/ O% Q( t7 y
        {24,  4},
% Z; J* B/ \( ?" e, I        {30,  2},
* W6 R6 A4 i; c        {-1, -1}' S4 [) S: u0 g' s0 C
};
/ U  s  l! Q2 a2 S" o+ a( L/ d9 t
static const s16 da850_dma1_rsv_chans[][2] = {
$ v) b+ p7 Z1 K* A( g+ U5 Z        /* (offset, number) */
, Z" j: R; I6 F' ]4 _9 S3 p$ s/ S        { 0, 28},
7 b% g5 a7 h, B' m. I        {30,  2},
, c3 T5 X! ?7 m3 {; i1 k5 v8 b& }& G3 l        {-1, -1}
1 Q2 S9 F5 H2 ^# r& B) C! q};
, h- ^# t" }, i. A, g* u6 [- N- S  Y5 u% n: J" B
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。$ z) G9 |& V8 O: Z8 i

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 18:18 , Processed in 0.039303 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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