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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在ARM端和DSP端都使用EDMA

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2016-3-22 16:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用OMAPL138芯片开发,在ARM端和DSP端都需要使用EDMA,不知道是否可行?是否有什么影响?% Z9 M$ Y! Q' D2 G6 C9 q
分享到:  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
9 |; Q8 p' w7 G可以的,通道分配好,不用两个核使用同一通道就行,本身设计就支持双核,放心使用。 ...

4 T+ G* G2 }. j2 j9 B4 a5 V具体在内核中怎么修改?哪个文件?
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
地板
发表于 2016-8-23 08:59:29 | 只看该作者
arch/arm/mach-davinci/devices-da8xx.c:) m: b: P1 {- d( o) F+ A

% Z" G4 T& B8 m$ i* k- q( i. ystatic const s8 da8xx_queue_tc_mapping[][2] = {: U2 C0 S  O# s$ [3 I0 W
        /* {event queue no, TC no} */$ K' v- l0 M0 L$ t. K: y
        {0, 0},. x5 I% Z1 b6 u: v5 a
        {1, 1},& t9 T# v0 j0 Z& E
        {-1, -1}. o; ^; z3 }6 C& f+ h
};
' Y1 M3 y# f) q% \& q& O$ ?' n8 w. K; ?6 k; K% `2 Y
static const s8 da8xx_queue_priority_mapping[][2] = {
2 o) |3 A4 s% [* \        /* {event queue no, Priority} */
; x! z; M5 l) L( {1 U) j        {0, 3},9 C$ ]  `, V3 ~% q) o% K1 w( k9 c& k
        {1, 7},, Q$ n1 S9 e. H6 [7 v2 R& X/ m
        {-1, -1}9 z+ H7 q( w3 R; u" B3 E6 R/ ]% V8 i2 j
};
8 N9 ^( n8 H; q' f1 i) Z7 Y$ z
- @" k7 j0 |+ X# V; j, Mstatic const s8 da850_queue_tc_mapping[][2] = {* [. t" Y# w$ _/ N- Z
        /* {event queue no, TC no} */
9 p# U- t; [4 z& \$ p. g4 p        {0, 0},; A/ e+ `3 E1 \
        {-1, -1}
7 O) J7 N+ q7 r% u};
, d1 L4 O* O% _4 L+ E9 P
: O: J! b; l" Z  W8 m0 Estatic const s8 da850_queue_priority_mapping[][2] = {" C' N  V2 o, z7 C/ p$ d
        /* {event queue no, Priority} */
: w1 c; m+ h: r5 h9 `6 Y5 u) P        {0, 3},% @, w. h# f4 W% g# X
        {-1, -1}% M! y, k# ]2 @- k3 U
};
5 \/ N, y6 E6 l3 f# o
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2016-9-14 10:27:20 | 只看该作者
在linux内核源码里面,对edma的通道做了分配,把dsp可能用到的edma通道预留出来,意味着,在dsp里面可以使用到这些通道。8 z6 r8 K- l2 k$ @. V( L) x: g& G. N
arch/arm/mach-davinci/board-da850-evm.c
# w! {$ @& Q: Y. h( c' E) M/*
. `) h' x( Q" o9 o3 `# L* A * The following EDMA channels/slots are not being used by drivers (for
, A+ K: l4 q6 Y) T! |/ Y * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence+ n6 `/ m3 b( h7 Z' l6 R# M) H
* they are being reserved for codecs on the DSP side.
  u# w  ?* P  U: I& ^ */$ Y8 }! A; o! N1 W& U
static const s16 da850_dma0_rsv_chans[][2] = {
, d* e. p/ L0 S( {6 Z6 O        /* (offset, number) */
- ?- u/ a  Z0 A! W$ d: n' L        { 8,  6},
$ q* }1 x7 {- K* I5 v' w" W' _        {24,  4},: o( t# S5 j( ?% m; m* t
        {30,  2},% `9 `( {% R1 H! o' n
        {-1, -1}; V* Z9 }7 v3 ~3 {3 H4 W
};  w/ ], C( ~. l. n) z! |0 u0 ~

7 ]6 y3 u& \8 s' Cstatic const s16 da850_dma1_rsv_chans[][2] = {& p' A1 X$ o! \
        /* (offset, number) */
0 x! K! G# U' W( p3 B4 c* C% d2 ?3 M        { 0, 28},3 i+ Y' Q) t' n2 h
        {30,  2},% ?# {- z8 n6 o" i- W" x% I' {$ C
        {-1, -1}' k5 J5 C' T- [: g
};! ^, Z# F( L; ?: ?; L1 g) |
8 z+ a% i7 n% b* ~5 J
上面的代码表示,如图片,EDMA CC0红色方框的通道预留给dsp,EDMA CC1除开红色椭圆MMCSD1其它通道dsp端都能使用。
8 }1 t/ V: Y# `8 L$ i$ f. H* g

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 06:15 , Processed in 0.038052 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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