|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。9 Q; ]6 k0 J$ P; `" u
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:5 [: G9 n5 x! E/ g; O
4 B1 e% y; D0 z/*
$ |7 |! o. X% k8 Q4 V- [( S3 a& H * ======== config.bld ========4 i9 ]+ G4 X a9 ?2 Y. _7 A! }+ E
*
+ q. |: Z" c; w7 p */% f, q" h% d) ?$ ]$ E' }1 X
* _5 T) n2 { e7 p/ R+ P h7 w
var Build = xdc.useModule('xdc.bld.BuildEnvironment');; b' z- q! `! ^8 K9 e, Z3 i; i
0 Y4 e3 W: k5 s4 A: k4 z" z: R1 K/* Memory Map for ti.platforms.evmOMAPL1385 ~; s2 G+ q, d! e& ]# B& C: S
*
- E$ y. @5 @: b5 J/ v2 Z * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
# P! K+ J) X2 R( p * ------------------------------------------------------------------------
" r" z4 y6 m7 e8 s( _: V- q2 p" F5 c * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
$ `) P0 b6 m1 H5 U1 Y& N) {& [ * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)0 E; ]' S, Y- F$ m2 q% _3 t
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
+ U/ }/ A: i/ A2 p% e) y * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
7 P8 }& _* U0 _$ s * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
. B/ S0 {+ Z p * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------% c9 K* W* C2 Z; ~" E6 @
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
% j F/ j0 M& A% n */
! h6 m2 @4 ~$ }' z9 b
8 f9 A: E2 l* t8 u# \var SR_0 = {
) R/ n6 Z; h# y3 G% a* l' O name: "SR_0", space: "data", access: "RWX",
9 c& l' n0 v5 a# a" W base: 0xC2000000, len: 0x10000,% u% G( f! |& C9 m$ Q# f0 d, m
comment: "SR#0 Memory (64 KB)"
* N% @! o# y( k! L };1 \4 o& s Y; v3 l% ~! n
' M+ i% u5 s$ x4 ?var SR_1 = {" ]$ q- Z, a: o3 p* I5 F) W6 `
name: "SR_1", space: "data", access: "RWX",
) W' O4 b# _; j- A base: 0xC2010000, len: 0x20000,
2 o! z' r0 |+ `5 x. y7 @6 \ comment: "SR#1 Memory (128 KB)"
% V- J4 e! Q% g2 R };
8 {5 T" m5 _5 Z0 q$ I( E' { A" {+ `9 \; R
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
2 j0 H$ h0 d+ w' h externalMemoryMap: [7 U- y% b) T% x' I# C U
[ SR_0.name, SR_0 ],
. a- r( m6 h' `2 m( l7 A& ]9 E [ SR_1.name, SR_1 ],
5 \/ U8 h+ i4 Z+ a0 A. B0 u' x [ "DSP_PROG", {
6 a+ ]1 t+ x5 N$ T$ v, t; L2 i" z c2 M name: "DSP_PROG", space: "code/data", access: "RWX",! x0 l+ x* R9 C9 O1 v5 P0 A
base: 0xC2100000, len: 0x1E00000," X1 `' N1 V% V4 R' z
comment: "DSP Program Memory (31 MB)"
0 ~2 o3 c: @% N. O+ W1 ] }], J, b* W' E& e
],
" y4 K. x* o2 R codeMemory: "DSP_PROG",- R( P3 h* p- C0 s8 D3 Q
dataMemory: "DSP_PROG",
1 @, ]" Y5 g/ J% F; m2 x' k stackMemory: "DSP_PROG",* H& ?5 H- a1 w0 e' p
l1DMode: "32k",1 {$ G# E6 J2 w$ |2 R2 G' c- F
l1PMode: "32k",
+ A- W7 ]% j6 r" H l2Mode: "64k"3 G" V0 b8 H0 _5 n5 Y" }
};6 K: u. g/ q# B% }
, X8 T6 d0 L% a Y( T- \* m3 k4 C4 `7 t
/*3 h( e7 T$ k& q2 |% M( ~
* ======== ti.targets.elf.C674 ========
% D; R3 j# l: L' ^/ K( _ */3 H" c. t F5 b" o6 i
var C674 = xdc.useModule('ti.targets.elf.C674');
) S' |: g6 `$ k8 S2 q d) gC674.ccOpts.suffix += " -mi10 -mo ";( n4 k. |0 h+ o& Y2 ~/ K5 s* r" O
Build.targets.$add(C674);: S- a& ]. @6 m8 X4 P! A) h
+ I% Y; a; u2 l" E
, g; q3 X, Z/ ]% ?" y====================6 ~* c K- G; P. L: [
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
& k0 S, D$ M0 r& w, w0 Y |
|