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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
* p' r! c1 i% M" ]5 a9 _; B
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
# }# q# K. O3 ^+ E* Uarch/arm/mach-davinci/board-da850-evm.c
% O  T: F+ d! f% _% D0 T/*
$ b' Q' d: O! N" |/ f) V * The following EDMA channels/slots are not being used by drivers (for7 k; I! F7 z' \/ l
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
: j& m' p" \) B4 S0 W  Q+ f9 z * they are being reserved for codecs on the DSP side.
3 v9 \, O) Y& F% Y, G */4 v* l1 Y/ V# M" o4 q8 K# n
static const s16 da850_dma0_rsv_chans[][2] = {. V% W3 H* K, u* t8 Y! r9 f
        /* (offset, number) */: h! ^% f' g5 A3 k9 w
        { 8,  6},2 a5 P$ K( Z9 s8 n9 ?+ q: S  R
        {24,  4},
$ a# d. @6 B) H; _- c5 Q* G4 a        {30,  2},
! ?& Q( L0 j4 s3 z        {-1, -1}* ^9 O9 u9 J* T% E( s; _- `2 k+ t
};
  A% O8 K: H6 m* p4 E% W- p/ Z$ D/ R, O: ?8 M* A
static const s16 da850_dma1_rsv_chans[][2] = {9 v! Q! `* k% X1 c$ x% z
        /* (offset, number) */' N& P) n8 W3 O) ]& q) k
        { 0, 28},: \! Q* c7 E2 Y  N# k6 D7 f
        {30,  2},
! C& P3 w- Q9 s  }9 t        {-1, -1}# k+ n; i5 @) @: Q' {4 H
};
2 ?# \; R/ L( _+ p. w5 r5 F+ Z4 E: t$ j6 g- M
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。- c6 d6 m$ h: v$ i# f6 D4 v

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:+ ]* J! c$ l. u, A" R
- C/ T6 g9 s5 o. a
static const s8 da8xx_queue_tc_mapping[][2] = {
$ a9 \1 Q- f: y% \: S        /* {event queue no, TC no} */% [7 G7 ~) Q, P! e
        {0, 0},# n! M3 e1 ^' H
        {1, 1},, F% H1 v$ p% ~' ~2 _
        {-1, -1}
% g7 N/ K) q4 S* O7 v};5 u3 `/ J) _3 u% a0 e8 L2 z
+ ^, H8 a0 D( q$ P6 w# `1 V% s# v( I
static const s8 da8xx_queue_priority_mapping[][2] = {
! p" u6 G: w! d0 ~+ c        /* {event queue no, Priority} */
+ |$ C4 r( y7 ^        {0, 3},
3 |2 D# g+ Z9 K" r        {1, 7},
) a7 D$ q1 [! U* P5 I. n; j- R        {-1, -1}8 H; y. Y3 M8 L% d( w. ~
};, Q# F/ F- K( i, D9 v9 d; |7 Y
7 u9 A0 W* [$ V4 f# W$ _! X
static const s8 da850_queue_tc_mapping[][2] = {
' ^' Q. {$ u  S6 T% R( [+ y% M% j        /* {event queue no, TC no} */$ g; W4 I1 [2 Q% y, `
        {0, 0},4 k  e! }( I) W- `% _% L
        {-1, -1}
" a8 E! K' [( {" t};4 d" Q8 [7 z/ [  h  m

* o% W3 g" P5 F& ~" Astatic const s8 da850_queue_priority_mapping[][2] = {  N# |  w/ \: |
        /* {event queue no, Priority} */
: j% c3 ^$ a& \        {0, 3},
5 x! P, i$ V8 s; b+ T+ U        {-1, -1}( K9 U% y3 ~" r8 r0 U
};" C; G, }9 z: |0 y$ ]; C
回复 支持 反对

使用道具 举报

26

主题

40

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
板凳
发表于 2016-8-18 14:41:54 | 只看该作者
teddy 发表于 2016-3-22 16:26
$ Y6 F6 F% k5 I2 f% J. Z可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...

/ k. H/ `4 l. N0 @% @6 ?4 x具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2016-3-22 16:26:11 | 只看该作者
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 03:07 , Processed in 0.041442 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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