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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?6 K6 P* p1 a: \* g5 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:265 I0 h  _* l$ Z
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
, {- |! a2 r% o
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
( t+ i5 ~0 N4 l' y9 y6 H# j! o
( `8 d( l5 z. d& Vstatic const s8 da8xx_queue_tc_mapping[][2] = {
; ?9 r) M3 h9 x) r# r5 o( f; U9 O        /* {event queue no, TC no} */
* Y0 R) U$ S( N1 V' r2 d2 }! i        {0, 0},( \5 Z/ n! w" M( D! V
        {1, 1},8 P' t0 {4 N# o4 M& t' W
        {-1, -1}
0 I0 m# C0 S$ g};& ?* O! _( Z8 _  j1 l" k; D6 |

3 L5 M8 x7 M. t( _, F- d% ~. _static const s8 da8xx_queue_priority_mapping[][2] = {4 V4 b( C% Q8 _/ m1 `' R
        /* {event queue no, Priority} */
1 K! [2 R0 t( s. q        {0, 3},
8 h+ K! ~: R3 v0 l! w% u1 ]# K        {1, 7},5 A2 O( V! i! v+ c  \9 T1 s0 p
        {-1, -1}7 G4 M9 C0 ?9 p1 Z7 D8 g6 m4 Y' l. ^& \
};# N& ?7 c6 m" R: V) r9 L
: a7 N0 H; s( ]- a7 F
static const s8 da850_queue_tc_mapping[][2] = {3 W+ X* J/ \0 m0 a
        /* {event queue no, TC no} */
1 B+ h, D* V. ]        {0, 0},
" t7 X! C. ?. k2 A+ [        {-1, -1}
. ]! c6 o5 I1 f; ~};" Q$ C7 z. c& c. h, ^6 e( ?' w
* H1 j  r8 I7 L- i( e0 ]6 L
static const s8 da850_queue_priority_mapping[][2] = {6 \' E. g) D, \/ P# k
        /* {event queue no, Priority} */
; ~# y' ]. q# Y6 N5 q        {0, 3},/ [' n! P+ s2 C  g
        {-1, -1}# D( v0 x0 s6 a9 U5 k
};
3 I; y/ C& n4 ]6 z4 a) B: Q% c, Q, W
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
) X# f' b) `- g2 s. A/ T$ Larch/arm/mach-davinci/board-da850-evm.c) u, S3 C) p; K6 A& d8 a; v
/*9 r+ e  _- f+ v% X: t0 T1 e
* The following EDMA channels/slots are not being used by drivers (for4 d" P$ o/ @2 f: G: j; m* n
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
" Y/ d* e/ H1 ]; ?: h% }6 ~ * they are being reserved for codecs on the DSP side., f0 ]5 ~, r2 p3 `
*/8 ]( g9 S1 X6 g( `+ x' W
static const s16 da850_dma0_rsv_chans[][2] = {$ v9 x$ ?1 ^) C1 G' |
        /* (offset, number) */
% s8 `) S( a& I# [        { 8,  6},
& L+ Q9 A' L3 W        {24,  4},
: H- ]& b/ N: a% c0 v# g! Q# V        {30,  2},
5 t# s9 b6 l' `* J8 F        {-1, -1}- v* O2 q+ l5 y  C3 w
};  L; g" T0 }& {
5 P- M) g1 }  G+ I- w2 I
static const s16 da850_dma1_rsv_chans[][2] = {, `% D$ H! L$ s* T. s5 L! g/ z: M: s
        /* (offset, number) */9 z4 |5 n0 |9 G/ b, h
        { 0, 28},- W+ Z8 x5 Q! R7 c
        {30,  2},. M  |) [8 G" W0 ?
        {-1, -1}
# |4 {2 ?' n8 W, r& }/ G/ J" L};
9 n! h/ |0 X. h) d9 Z
, O9 Z$ C( t0 V' M9 l( S上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。
( R3 y3 T0 V3 t( f/ R

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 08:20 , Processed in 0.039234 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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