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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
1 m  U; u! u3 W, @
分享到:  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: \+ d; S" S' W3 ~
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...

$ s+ _; t5 `! L具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
+ X6 g* r* A5 p! S% Y
6 a' |" V/ |' Q- P" v% Hstatic const s8 da8xx_queue_tc_mapping[][2] = {$ ]+ u$ [; B! D) y* z
        /* {event queue no, TC no} */7 `# E7 ~3 o# ]( Z# ^- w( L- ^9 _
        {0, 0},& n+ [3 O' ?% v( s; ]. E
        {1, 1},
' _3 y2 ]7 \5 {& }( Y. G. G        {-1, -1}' J' Y! }0 R0 h, r
};, C4 `/ ]( r4 Q* b/ k: Y( D6 {( q$ G- T
4 _. ^! G. C1 m" j* }
static const s8 da8xx_queue_priority_mapping[][2] = {$ |* E8 X9 _/ [
        /* {event queue no, Priority} */
! z; \% m; z7 G# v$ E        {0, 3},
+ _( u0 z& W1 ^9 {" w8 R        {1, 7},! d; ], \0 J. l7 R" j9 b( [% z/ g
        {-1, -1}
$ ~+ {6 r: Z7 ~1 u/ }' T};
$ |! J' z" O3 x+ G3 L! H9 h8 Q. k' }
static const s8 da850_queue_tc_mapping[][2] = {
+ |  O+ `9 J- n% M. Z' b) E        /* {event queue no, TC no} */
' l3 C7 H6 S, I' i        {0, 0},0 R/ D4 W6 t3 _2 n7 n
        {-1, -1}. X* T7 m1 j: I3 _) N/ W$ n
};! i0 f4 J- ^+ A7 h+ g. T$ `( F
( T/ a1 n4 D; N9 q6 ^! N5 V4 R
static const s8 da850_queue_priority_mapping[][2] = {0 y6 W+ j% [9 M7 |. x. i. J9 B* C
        /* {event queue no, Priority} */4 n2 j  s* q7 J) q( z9 Y
        {0, 3},
9 A& \! o& A7 t+ k, V; O- Z        {-1, -1}
, ?2 R/ h7 I+ l+ V1 y};/ l# b& l8 R& H0 C: W* s0 d
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
$ T3 w. w) A+ t3 [' V# Garch/arm/mach-davinci/board-da850-evm.c$ q8 J$ x, L, Z, ^
/*  A4 d1 T7 Z8 |" B
* The following EDMA channels/slots are not being used by drivers (for& o0 |! f- {% j- L
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
: Y& e: s' s+ ?" R2 r- D2 H9 Q/ O * they are being reserved for codecs on the DSP side.
3 o3 Y3 d$ P% z0 L  d */2 J, A( U7 ]+ |1 i" [- W
static const s16 da850_dma0_rsv_chans[][2] = {* U) T, D6 r9 G7 Y7 ~3 ]1 K
        /* (offset, number) */
0 P5 j! \! r, k/ l+ Y        { 8,  6},; |& r% X$ q! {+ f4 i: U2 l
        {24,  4},! @$ m& c* m2 C4 U4 t; `" L4 y
        {30,  2},% I/ W( _8 J% I6 @. l
        {-1, -1}+ u. |* M$ u1 l- B. w: E7 E
};5 i$ X0 R% o! m$ j) G

7 t: y7 w$ P. k9 B4 h. N6 L+ X1 lstatic const s16 da850_dma1_rsv_chans[][2] = {
) `! A5 P! B! j3 v' M        /* (offset, number) */) H! ?! }$ ~/ e# n( `6 g
        { 0, 28},( E& U( p: W# [- l2 K$ H
        {30,  2},
0 Y4 K* _. I6 l        {-1, -1}# Q# `3 C+ Y! g, w2 a* Z
};6 u5 w3 F) C* C) E+ f0 X
0 F7 h! J" Y1 B( ?4 d  @
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。
4 s$ c' {$ [' q/ }

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 14:48 , Processed in 0.048483 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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