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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。7 X6 e7 W- d) Y( w( Q- v# ?/ _
arch/arm/mach-davinci/board-da850-evm.c
& Y# M* ?) P1 H6 V( |: ]/*' v* _1 U8 S/ N8 h! z- }9 [" h/ i
* The following EDMA channels/slots are not being used by drivers (for
5 k) y( v5 t8 F * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence) R" {! j/ W9 k# E& m3 z( c7 [
* they are being reserved for codecs on the DSP side." j. Y9 D) {4 S/ ?2 K* I5 g3 a
*/3 V4 g2 K- i4 w1 A" N0 _& O' _  f
static const s16 da850_dma0_rsv_chans[][2] = {" V! e9 j! H% C, y/ P
        /* (offset, number) */
) Y* o. ]) J! h4 G# n* K        { 8,  6},
9 g0 c; C0 m: W        {24,  4},
+ F( V% o1 r9 x1 O        {30,  2},- b; n/ J6 h2 e3 c' A- |; X
        {-1, -1}
: ~& I# _" |1 B5 h};* x3 L$ Z7 F  }( \# h0 u

, j1 p8 D* _6 X% }$ n' i+ A% Astatic const s16 da850_dma1_rsv_chans[][2] = {* A- E' w2 o: ]1 Y5 L+ N
        /* (offset, number) */
( o0 T8 v/ D$ G- d# ~        { 0, 28},
9 f1 _! b8 ^4 B1 Z        {30,  2},# q5 {/ F" G( O7 o7 m* ]: W
        {-1, -1}
& T4 z1 H. [* f" A# ]7 O};
/ c5 ?. g7 e& t4 [" U4 u/ W9 v
9 i  |- p7 j' T+ f+ b上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。' H; X/ V7 c% F6 c3 F+ G; `

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:
3 S* s: E2 c( T* x1 s# j7 I/ e0 o& n8 P7 x
static const s8 da8xx_queue_tc_mapping[][2] = {
+ m6 M% ~8 ?' s. W+ ]8 Q        /* {event queue no, TC no} */4 u2 }$ [7 Z* [- r, ]
        {0, 0},1 Z+ h6 F1 r* B
        {1, 1},
* ^& {+ U  R! {8 a/ c, v' j        {-1, -1}% Q1 x' v% d. W" I* E  E) r6 b
};1 h% v, v1 V0 T" Z6 H7 m
  O0 t: b1 l. w; w+ c6 l
static const s8 da8xx_queue_priority_mapping[][2] = {
/ I0 i" q* g8 V3 U7 k& X        /* {event queue no, Priority} */2 ^+ l. j  x* h+ x
        {0, 3},
2 J- q0 N0 {& U        {1, 7},5 ?3 w1 I  @/ E6 \1 ^
        {-1, -1}, q1 k  x( F4 X+ r5 |# q" `& q
};
; w  A/ a$ J6 ^
- D' b/ `& W" h5 Mstatic const s8 da850_queue_tc_mapping[][2] = {9 T& l  d0 e( @: K2 {/ B% l
        /* {event queue no, TC no} */
5 j' x; W, r% ?, [1 e" K/ L% U4 F        {0, 0},. _5 X' I- D; m- m
        {-1, -1}1 h; h# e- T: Y% p+ P
};
  v$ N5 @/ a7 E; c# U
2 L4 {. Q& d8 Istatic const s8 da850_queue_priority_mapping[][2] = {  }. d7 @+ v$ b; q" H. |8 f, ]
        /* {event queue no, Priority} */: o0 l8 O/ X  ?
        {0, 3},
4 Q2 j: m2 M2 r. k, [& I" I' ^& H        {-1, -1}' w$ R$ |: f  p( k( z' F  h7 r0 p
};  t4 r% d4 C$ A/ _3 N
回复 支持 反对

使用道具 举报

26

主题

40

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
板凳
发表于 2016-8-18 14:41:54 | 只看该作者
teddy 发表于 2016-3-22 16:26+ E  n* J3 X% S3 _6 a' |/ V
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...
1 g& D$ u. F0 `5 u
具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 18:13 , Processed in 0.039733 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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