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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?. Q: R6 ?$ H% k5 D+ h5 U+ c& u
分享到:  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& S' J! k. K) l: P
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
1 X  p1 v+ X& J
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:/ u6 C+ l5 R# W0 ]% V/ @% d8 r" G
  m( f2 [9 O+ m
static const s8 da8xx_queue_tc_mapping[][2] = {
& q# Y6 o0 p, D( q- H; l        /* {event queue no, TC no} */; S& D( ?2 o7 c2 c" L
        {0, 0},
4 E' }0 ^, {# J: t# o' w) ]        {1, 1},
! ]% b" _/ n* {        {-1, -1}
4 u7 Z7 A/ L8 P# F- T6 e8 C};
% w' f2 I1 ~, L
6 M  m9 v* \. Xstatic const s8 da8xx_queue_priority_mapping[][2] = {
2 a, u5 g% M. {% O$ D7 h        /* {event queue no, Priority} */: s' ~9 n: c5 K" `4 h& ~
        {0, 3},
+ ]6 o+ e9 f4 g+ E) B8 C7 a) f% I        {1, 7},
$ v$ {* D$ v9 r7 w        {-1, -1}; l9 J# W& h4 f- R6 V/ F3 s
};
# D$ V) p4 M: x) F  q' S  Y
- R* p) o2 C& ?% dstatic const s8 da850_queue_tc_mapping[][2] = {
! W# z6 e2 }3 _( i/ Q        /* {event queue no, TC no} */1 |5 p( u+ m% @
        {0, 0},
: k( o5 w3 e& a) e+ E# a' n        {-1, -1}
9 h* D3 b: s' {+ b};, `) b# ?; d6 ]3 d6 c9 H  o( Z

# r4 g5 E9 o: s2 G2 {) wstatic const s8 da850_queue_priority_mapping[][2] = {
0 [9 s) b9 O' X0 P" m        /* {event queue no, Priority} */
' L9 h& K5 }" b; ^6 n        {0, 3},* e# V, G; D5 z+ o0 b. m
        {-1, -1}
0 R6 t5 b' G, _. G' E: I) N2 [. z};
( }$ Z. H0 k$ n2 Y9 I) H7 n
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
( T* a9 n- W/ ^5 Z% tarch/arm/mach-davinci/board-da850-evm.c
: P) x! r* A4 m5 g/*, n) k% s& U9 h6 g& z+ }- W; n
* The following EDMA channels/slots are not being used by drivers (for
. y, y  [* w4 [# | * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
+ ^: F5 q6 D- ~- S * they are being reserved for codecs on the DSP side.( g- A6 @8 }8 d
*/: _( z% o+ A  m- H5 Y3 K
static const s16 da850_dma0_rsv_chans[][2] = {
+ f4 H) Y1 m  P/ \, U9 ^5 ~; ]7 r        /* (offset, number) */: h& R/ e5 E- ~. m+ i4 M7 |  V  S
        { 8,  6},
0 e5 f: q. G9 U1 E: t" P0 ^0 q        {24,  4},
! d' i3 l+ r) d% u6 _7 X        {30,  2},
  z3 A5 m+ e+ x: L        {-1, -1}# j+ |# g* O( g$ a
};
, k& N0 U1 R4 d& i2 F) ~
% ~) K  v4 Y6 ?6 @  d( wstatic const s16 da850_dma1_rsv_chans[][2] = {
  Y( O8 Q$ ]+ k2 I        /* (offset, number) */7 g! o8 p3 u& M3 e# E+ G. S& @
        { 0, 28},
7 h4 |' K0 P9 K. \9 D5 Z1 F        {30,  2},
/ K1 \& H. v2 R- H1 L& p2 V  c        {-1, -1}# z( p- o# x9 o4 E& u0 E) L
};) k0 S0 o: d0 e% G2 \+ F8 R- z
& \& |2 J% ]; o4 l, k) R9 r" [
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。7 R6 d1 u6 \4 }

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-31 06:44 , Processed in 0.039616 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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