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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
! S6 P0 p& z- Z9 F; Q# g
分享到:  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:266 ~- c& w: c& [5 t( |  l
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
! A# v+ E9 G* ]
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
0 x1 i* Q" U+ C1 e5 C/ R* w# G- Y* I' T, a4 U) V6 t* g
static const s8 da8xx_queue_tc_mapping[][2] = {+ `! Z$ i" P+ e8 L, T
        /* {event queue no, TC no} */  N) t+ H7 |  o0 T
        {0, 0},
; q2 G3 N& i7 g- H2 v9 ^        {1, 1},
4 K# G3 ^5 R" N1 h0 Q1 R        {-1, -1}
/ z' `7 L; L5 j/ g' Z) D  S};1 o* m7 {9 n. h5 v# B0 I7 X. T

8 x1 H4 b9 h0 E5 u( M4 @8 r7 mstatic const s8 da8xx_queue_priority_mapping[][2] = {
* l, @( r3 g( r  L5 J+ Z        /* {event queue no, Priority} */
2 u) O. g. E( I7 w* x# d        {0, 3},
3 g. s7 C$ m3 I- Y        {1, 7},# A" Q& j9 N2 O, p; L
        {-1, -1}& T  D% J' R& u4 j7 D+ e
};
+ C( q3 S' H3 r9 R; b- D8 T. ?2 X# \' G8 Q3 H1 H9 ^6 b; H3 v
static const s8 da850_queue_tc_mapping[][2] = {
* J8 @" l  v: L4 a8 V        /* {event queue no, TC no} */( N$ `- X. f) B! _3 n# N5 N( w- |/ T
        {0, 0},# h' S7 j! I8 G. [, ~4 u3 H# C2 E
        {-1, -1}3 d$ A+ Z- X6 f' C
};
( Z( C" j( v  Q) _8 f* a  f  C' h; ?; t3 f! e, e# Z
static const s8 da850_queue_priority_mapping[][2] = {- K. `& k  {2 x/ d
        /* {event queue no, Priority} */
7 F( I% C6 ^/ |0 m- @- y        {0, 3},- j) J) R" P; |. d
        {-1, -1}7 R, @, H6 b2 q1 U" ]$ S3 u7 s- l
};
% u; Z% Z% D+ E) E
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
1 I  \$ L( }8 n, I* Sarch/arm/mach-davinci/board-da850-evm.c+ [  M7 n+ f  S. C2 w& E
/*
% w7 Y" t" x4 {) y/ x- V7 R9 i * The following EDMA channels/slots are not being used by drivers (for3 @# W" I9 N; s) k: s% e- q1 t
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
0 b$ [% \, a2 C. v7 s- q, J8 T' T$ @ * they are being reserved for codecs on the DSP side.
  K$ y7 y! ~2 b */
7 g; Z$ |  J, s' ^  Lstatic const s16 da850_dma0_rsv_chans[][2] = {
1 c( b7 X: a3 j$ l/ c8 f+ x        /* (offset, number) */# g: M5 p5 b. C- R- I9 M
        { 8,  6},% P2 e" F; i6 t( {, G4 B
        {24,  4},% O5 `; H) }. B
        {30,  2},
. F) _; K& `4 B8 g# `2 w6 h5 N/ r        {-1, -1}/ R) `0 I) N% V9 d) x7 P% d. T
};
! j  S3 `) g" M4 o& J. y. J8 e% [& w' @  w
static const s16 da850_dma1_rsv_chans[][2] = {& y) A! {& w. S1 q0 K; j3 P: j4 W
        /* (offset, number) */
, z% }6 U. A- |0 S' S        { 0, 28},, b7 ]& j! g4 H5 a9 H" P
        {30,  2},
0 x+ J7 G$ N9 N# N        {-1, -1}
% ]8 e) M4 @5 l+ c/ O2 x! i8 [" ]};
" `- A% N5 J5 M% u- z' y" J- V- X5 c1 r
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。2 E# S4 t8 \& D. S. w( U

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 09:04 , Processed in 0.054371 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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