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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?
! U* o1 s) |* c' V
分享到:  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 Y8 p' a. }" `# B
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
; D. ^" `9 G# }' E
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:( l$ J" h* T- x- f/ N* D# y# ?
5 {5 S5 Z0 s& f
static const s8 da8xx_queue_tc_mapping[][2] = {1 \# \! }' I( L+ _* m( z4 V
        /* {event queue no, TC no} */
. n: U3 w3 U$ I' y! \4 |; f+ e6 _        {0, 0},. T1 d1 h* W. S* K9 C
        {1, 1},. E4 p# ]0 Q6 J$ `$ a
        {-1, -1}
* d# z- ^! X9 h};) H2 h3 v# t9 F2 N* j; `# E

7 }4 G/ O. h! V8 ~7 d" Z( r( X; istatic const s8 da8xx_queue_priority_mapping[][2] = {
+ B, t1 W# i$ O4 H  t3 _$ e% I        /* {event queue no, Priority} */
! j& W( Z& Q' a; N8 T' Z: j        {0, 3},+ S5 R% i4 p$ {; s9 U
        {1, 7},
; c+ w4 w) ^( u/ P        {-1, -1}  a! n7 e& Z' M4 v4 D  n
};
+ a( b: X8 Q8 W- a/ D0 o4 R1 g' e5 `. R  Z
static const s8 da850_queue_tc_mapping[][2] = {- k+ V1 ?0 V/ P7 H- a4 T
        /* {event queue no, TC no} */$ G5 t  @2 K& K0 C/ }! K
        {0, 0},+ r& e% y, I" `8 o" |
        {-1, -1}
7 u$ |6 j" V5 |* Q8 M};6 S! e1 g* Y/ Y" _6 S
( K5 ~3 W+ r) t3 v, w/ v# K
static const s8 da850_queue_priority_mapping[][2] = {
) W. K  ?( b9 {2 q$ u: Z( s6 `        /* {event queue no, Priority} */
9 _& Q. c" `% N. _2 ]% n4 l        {0, 3},9 u0 F; y6 Q. O; }
        {-1, -1}
: V  {* W5 T3 m6 \' s6 m" ?' Q) m};/ l5 b' m0 O5 ?& H" W+ }
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。1 s. c# i2 J& w5 H
arch/arm/mach-davinci/board-da850-evm.c0 X7 |( }: o9 V7 M
/*
9 s) ~# U, Z) \4 \: E7 C * The following EDMA channels/slots are not being used by drivers (for) h9 f, w$ ?# X1 [
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence; I9 g; \- L4 M0 r# ?' S! I
* they are being reserved for codecs on the DSP side.) a8 v! E! T6 N4 U: u$ q+ v
*/
) B$ t3 h) `% Q' Qstatic const s16 da850_dma0_rsv_chans[][2] = {
- s: W8 y8 r/ y        /* (offset, number) */
! T" p+ @7 L; D; U! P' e        { 8,  6},9 `$ b% ^! t# E  H# G/ i0 B
        {24,  4},
1 h% P/ v8 D- P. Y* U3 f        {30,  2},
% M/ o' y- |$ J, z! z3 b        {-1, -1}7 {& B  Z6 x  O& k& p, y1 i
};
! m: @4 i2 f9 q4 M& P* E$ \; \# g2 O% v; @( I1 @
static const s16 da850_dma1_rsv_chans[][2] = {
5 J) ~$ H( E  a( m4 H        /* (offset, number) */2 R! N5 p( c" u1 K; w6 a6 Z6 Q
        { 0, 28},8 l( t/ m  ]) x: t" H0 D
        {30,  2},+ L8 g# [1 p! P" I+ S0 ~! H
        {-1, -1}
$ ^3 b8 Y, H8 f& _; p};1 [+ d! J/ r: ]
0 r0 j/ f+ V" q: o+ V) \0 y
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。
. {2 K, Q+ Q- i# g3 u/ B

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 03:02 , Processed in 0.038877 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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