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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
" G0 q: t! X2 i2 p& F  V) W4 Y8 |+ y
分享到:  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:264 i  m. I' f; ~6 l) j0 e+ B
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...

& Q1 h! Y' S! D) R1 f0 O. F具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
. V+ c* }4 v; z. \5 W& \9 A8 A6 l6 l" R* r. Z5 x& R: O
static const s8 da8xx_queue_tc_mapping[][2] = {) o* T- J2 V7 S0 ^
        /* {event queue no, TC no} */
+ X8 Z& }  n# X; v7 E+ V        {0, 0}," }! j! Y9 C6 T& B; w$ k: D
        {1, 1},
9 M; ]( V# j0 [5 i- [- n$ i        {-1, -1}
  L  h1 _+ Q& `4 F5 }, g* _, E};
" J& N: |3 J5 Y. R7 C7 X$ j& P5 B% X5 C* V
static const s8 da8xx_queue_priority_mapping[][2] = {! {! `, I: K& R, Y6 f. z5 c
        /* {event queue no, Priority} */+ K" U& c' a2 t( {) S5 I
        {0, 3},$ J. a" h4 j- r3 g4 `/ r
        {1, 7},6 Y  p. I. f7 G( b
        {-1, -1}* G2 r: A3 ?% A
};2 h2 u/ @) C0 t6 r1 E  @$ h0 U% {" z1 b
% t( H' q: S# C4 H9 z7 e
static const s8 da850_queue_tc_mapping[][2] = {
  k! J" Q/ L/ l& d3 Y' Y        /* {event queue no, TC no} */
  y; X' B. }# |; [        {0, 0},8 k9 i. v, f  I. l7 s5 i9 ]
        {-1, -1}
5 X3 X8 @* H: q1 `};
" V: m% A6 R( E* e4 S2 I9 A3 A$ a+ v4 Z  c9 y7 |$ t5 z1 x
static const s8 da850_queue_priority_mapping[][2] = {
5 N1 E6 f# q) O' ?6 _: Q        /* {event queue no, Priority} */
' o; C  j+ A8 w) H        {0, 3},+ J. _+ h6 w8 t( x
        {-1, -1}" T" L- O; s* A3 r, }) ~6 o1 A
};2 R: a( U7 ]& N0 q" o
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。$ Q  B. r6 Y' q$ ]  {0 `
arch/arm/mach-davinci/board-da850-evm.c2 m$ _8 e" ~- c" q
/*7 B& h2 D; h1 s
* The following EDMA channels/slots are not being used by drivers (for
1 w$ A# A) x& w. E8 r. x* C* w, l. ^3 w1 N * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
9 V5 o' {9 B$ T. C% J5 h9 W0 i * they are being reserved for codecs on the DSP side.
% R; u- [( w* q* f- P# z9 j. ~ */0 S9 _) K. x  F2 M+ R% @% ^, S& `* K
static const s16 da850_dma0_rsv_chans[][2] = {' i; e0 O3 x+ w  L! ]
        /* (offset, number) */8 V( h7 ]8 T; o  P4 d% y- S9 e
        { 8,  6},
4 F$ u% k$ _( i$ B" f( f2 H: O, F  Y        {24,  4},8 J3 y2 h/ |; Z! J2 W, [$ A; O6 c6 O
        {30,  2},
9 g; c) O( W8 _& b. X        {-1, -1}4 G* i1 }) }$ g- G( o5 {' \# ~# ~
};
$ R# x' ~. S2 U: p# j8 \3 a4 m( r0 x7 X, y& y) \/ A! G
static const s16 da850_dma1_rsv_chans[][2] = {7 o& \" g% t2 u# b. H  W2 I
        /* (offset, number) */
- }0 R8 ^" H& i2 h& o6 F        { 0, 28},
0 U5 K" M" W& t$ `) K        {30,  2},
$ _: Q& Q7 A2 z! T) _1 C        {-1, -1}
; C* h  z  g* L' n) p7 L};6 p3 P! g5 I! t- B. D
6 \9 ~. M, X3 d; L: D
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。
" ^3 E  r; T- N  Q' s

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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