|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
/ `& \4 G& O' ?2 g# r 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:) ]5 _! L. Q+ T* B
& C5 N$ K/ I% d+ v3 \5 n0 Y$ C
/*. W7 t& v5 _1 i6 v7 N6 c! F* O
* ======== config.bld ========7 o1 b2 L8 e3 ^- m
*
( M; @$ y { \ */
W/ l$ ?/ |7 W$ V9 E5 A3 {& E
( e' Z% T$ k! z' V4 y3 q( u; D, B# qvar Build = xdc.useModule('xdc.bld.BuildEnvironment');
. L5 u4 W' O- g5 \6 {6 N+ m: N: e" A1 N9 w% r6 o
/* Memory Map for ti.platforms.evmOMAPL138
$ _! _6 I* m9 d: o% B1 X0 X *
4 Y( p1 Q6 w% F: X* @/ r * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory0 ?6 x l$ v7 U! ]" h# V5 j3 C* e
* ------------------------------------------------------------------------& C7 U& @$ _4 ?: {8 {
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
! x5 B! v5 Z/ y. J * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)" s2 ]1 J1 _7 i
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)+ t/ ^( g$ n( ` i
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
" b; J# t$ S4 ]- P * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
# F" P8 y0 i; {( n1 U1 J) q * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------0 o; d' F, G& F' }4 T3 ]
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux% ?1 c k3 \6 T1 X: f' {
*/
: `( J2 c! @- x1 R- p% n
% ?1 O! \# t) l* o# hvar SR_0 = {
- X& d. U# k# C$ J( t1 M, R, T name: "SR_0", space: "data", access: "RWX",
' i6 A/ g) v% O base: 0xC2000000, len: 0x10000,
5 u! R( p' |8 G, n b comment: "SR#0 Memory (64 KB)"
2 u) z# g% D/ k. p- Z" S };9 N3 f, c( \' u" U! |
f; J% U* P2 a, K
var SR_1 = {5 ^8 `5 Q. [5 [5 g4 V6 Q) q
name: "SR_1", space: "data", access: "RWX",
3 C' m% s' F' l8 v' P8 J base: 0xC2010000, len: 0x20000,
: q1 c* z1 C% \8 J7 v comment: "SR#1 Memory (128 KB)"6 C: }# \) p* w% g
};
$ {; H2 J' u/ ?& \" _1 i* k* L
8 m* ?( Q% j2 Q, jBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {" R; B, f* \$ |" n8 H0 U
externalMemoryMap: [
& ]% W, J5 R% p# W) w [ SR_0.name, SR_0 ],
7 c& q5 L( L" H2 t& w$ [; P [ SR_1.name, SR_1 ],# f' w6 j, B% N- v2 F2 w! F) V) i
[ "DSP_PROG", {
; r8 ~) B/ {" R; }3 @( m' \% @# p name: "DSP_PROG", space: "code/data", access: "RWX",; A: A) W2 @; O. S7 W: w& J* E
base: 0xC2100000, len: 0x1E00000,
6 [4 t- Y D2 F" Z$ u- K comment: "DSP Program Memory (31 MB)"
# {! M, B7 X4 Q) D; z( v, S2 d }]
' x7 q' Z( Z) k5 w- u5 D( f+ x ],3 |# R) D4 k6 s* ?% u; `
codeMemory: "DSP_PROG",0 f" c# f+ ^/ q4 u! r0 f% ]. \
dataMemory: "DSP_PROG",
6 g+ D* a F9 R$ C! S1 u5 A7 n stackMemory: "DSP_PROG",
3 ~, ~, c& C- s0 x4 }8 J2 T l1DMode: "32k",
% b7 g% t9 P A( d; b l1PMode: "32k",
+ E0 a, u7 c5 ^+ H5 T l2Mode: "64k"
0 ~; x$ H( H# A7 R};& [$ ]6 `% p# W$ t5 Q3 }9 X; T
7 j$ ^4 ]) i% _. n9 m% z/*/ u/ j, ]) A3 [& {( {
* ======== ti.targets.elf.C674 ========2 t6 C7 R# s+ u t# P
*/
$ @( ^- h3 ]4 f9 p5 _% _2 dvar C674 = xdc.useModule('ti.targets.elf.C674');
: c( }* o) D3 w" RC674.ccOpts.suffix += " -mi10 -mo ";" s ?: P H' Z, ]' ?
Build.targets.$add(C674);: U( R2 o" ~/ x
% L7 q2 j/ b4 i7 _
) B" x% |5 u4 F5 v! I7 {; t====================
2 Y, x6 H* ~2 c5 ?. {原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。7 _8 k3 r) m- s6 F7 ?
|
|