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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。
* ]/ W" Y  W: u1 larch/arm/mach-davinci/board-da850-evm.c0 R6 c& G/ x( z% c! e
/*
- a. _6 ?$ E- Q0 e * The following EDMA channels/slots are not being used by drivers (for( @) Y: T+ w+ ~# h% Q# y6 O' {
* example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
0 I5 `/ s: E0 O* {& V% D * they are being reserved for codecs on the DSP side.
! P# p2 R& B# D! \ */( ]( d3 w% A* N8 G0 r
static const s16 da850_dma0_rsv_chans[][2] = {
9 ~# {5 M/ h, \7 y' p& v  ?        /* (offset, number) */* x9 @+ a# m1 p3 Q
        { 8,  6},
, Y- R- g1 M0 C# d        {24,  4},
( c/ n9 e# h, J! [, f        {30,  2},
; D8 {! Z" ^2 C4 Q6 N        {-1, -1}# S) Z" Q! M( ^  e
};  n5 C2 R; M; Z7 w+ b  x+ o8 w

" Q9 l+ h: [1 tstatic const s16 da850_dma1_rsv_chans[][2] = {: |/ ~* i1 l; D
        /* (offset, number) */
6 |  U0 O/ L$ K' N2 {2 y: E        { 0, 28},
3 [+ G' B  ?4 [7 k3 Y, y        {30,  2},1 O" C, Q0 ^5 c# l) r$ S6 s6 r* a* J
        {-1, -1}
. w, D7 o4 L% `/ e0 }0 a};" x+ R+ t- g! E, `

6 t$ x- k8 z* ?上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。2 J& K/ h! d% Q; c3 i" V+ e

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:& z/ A! o& t0 X9 |$ G& i% m7 A" ~1 d

7 [# V7 M# E) d% C0 vstatic const s8 da8xx_queue_tc_mapping[][2] = {
' h8 {- e* S, X" B- i        /* {event queue no, TC no} */) V) K6 |7 s. F2 _
        {0, 0},% o, ?& R, l0 q; W' m
        {1, 1},/ r; M. s* \1 u; I; o
        {-1, -1}2 q; f9 o# ]* `! H' b' y! L! T
};
  y0 a8 @0 m6 \8 G6 a9 Q# W" N) j" d' V
static const s8 da8xx_queue_priority_mapping[][2] = {
8 t: u, U+ [, z* O1 K: e0 T# u        /* {event queue no, Priority} */
; |  L' h( w+ z) q6 n. q' R$ f  s: ~        {0, 3},) G; s; J/ n3 N; y  V# Z
        {1, 7},4 a" L2 R, |- D& Y' n% x6 c
        {-1, -1}; i/ i1 d+ _  h% g0 R
};/ i- g; C6 E3 l) w8 a( v- l

+ u* M7 i/ D& ^- B- O% `2 l4 y2 sstatic const s8 da850_queue_tc_mapping[][2] = {( k' ^7 \5 O6 Z4 H% m
        /* {event queue no, TC no} */5 n0 q; q& E8 ~/ A& |
        {0, 0},( A7 ], ]" Y* c2 d8 \  q8 L
        {-1, -1}  s! E) s% _- q
};2 N) p5 H. O9 K& O
1 ~' v/ G1 g8 \
static const s8 da850_queue_priority_mapping[][2] = {
2 a; {& U5 Q( {& h& z" s        /* {event queue no, Priority} */6 B1 o8 k' D- J5 D) w
        {0, 3},
0 i( C6 D! A9 g        {-1, -1}
5 {9 U% g2 K8 `};
+ V# c7 u0 a4 P/ G) @: J
回复 支持 反对

使用道具 举报

26

主题

40

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
板凳
发表于 2016-8-18 14:41:54 | 只看该作者
teddy 发表于 2016-3-22 16:26  g0 f( i' b3 {2 X4 c, y2 \2 [5 o
可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...

, @% T# P0 W- s0 W2 D具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 10:55 , Processed in 0.043250 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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