|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
0 ?) N) D: o! } 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:& t; R' p* s! @0 Y$ }
1 a/ Q6 y; t z k- y
/*( x: j; l: G* t( H$ e9 x" v: F# ]
* ======== config.bld ========- T5 O! u6 d8 _( `/ E! J9 C U/ F/ ^* }
*
; p6 b& U: g: i0 C% g */4 `7 x( L% a8 |, F4 x9 G( C# r
5 S1 K9 t7 S, U: `. _5 {, zvar Build = xdc.useModule('xdc.bld.BuildEnvironment');
# z$ h$ e% K; f5 z6 V) J
: w" v- d8 S, Z, Z/* Memory Map for ti.platforms.evmOMAPL138
: _$ H% O# W+ |& ]7 R4 \. F *) ~3 m/ k6 Z; U* @
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory2 o" y/ `7 D; h6 Q0 O
* ------------------------------------------------------------------------
$ W u) m2 T/ g z, m3 G- ?6 M: o * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
* Y/ v0 Z" b% g: X/ F * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
# o( U- N1 N( Y* x+ ~% X4 j * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
/ T, X6 k B' @ * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
# M* ?6 m& Q# w5 I4 n * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)% d( y4 a1 W4 Z/ Z0 W
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------4 a1 }$ C0 r) _# g3 G
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
- R1 V/ j4 y |- [! \$ m' O */
( E& M' j8 h; @4 U2 i4 V& g5 x9 h0 M5 s* B) l. r
var SR_0 = {& b! z( }. W% Z# z2 n
name: "SR_0", space: "data", access: "RWX",
. b; z7 b r5 \. N- ]/ G base: 0xC2000000, len: 0x10000,
% S5 S2 i. I8 ?: Y% q9 _ E comment: "SR#0 Memory (64 KB)"
" Z/ m' p1 ~9 M3 e* s };9 W( n8 W% D8 W$ n. S% J* e1 x
. P1 s, f+ K( P% x0 u) Kvar SR_1 = {4 g1 R6 E/ E3 ~8 U( g% v' j
name: "SR_1", space: "data", access: "RWX",& }8 C* z8 t% G& Q! S
base: 0xC2010000, len: 0x20000,. y& Q, u- \) R
comment: "SR#1 Memory (128 KB)"
' e" N/ k2 s, w5 @; z& n: Y) E/ c };
% w7 N R' @5 b* w: N8 |* e8 Y# |, K. k2 d0 F
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {1 R8 M- i, U* g. F* N7 \; V
externalMemoryMap: [$ ]+ n: O# a t. ?8 P
[ SR_0.name, SR_0 ],: T2 E& L7 W3 `% c. z+ k. y
[ SR_1.name, SR_1 ],& J7 N+ P% q8 ~5 J0 v' t! g
[ "DSP_PROG", {3 N6 W2 E6 g9 j. C) @4 h- y% A8 |
name: "DSP_PROG", space: "code/data", access: "RWX",
- Q. m1 H. Q4 @0 c$ m base: 0xC2100000, len: 0x1E00000,
9 ]8 t5 ]6 ^2 Q comment: "DSP Program Memory (31 MB)"
; v1 w- @. F R3 Z }]
, ]9 M! _$ I' d7 K5 L$ Z+ O6 p ],
* @9 P, z% c E3 ~9 l9 W6 w+ M- U codeMemory: "DSP_PROG",
C1 a' @2 k, C# m- G8 P dataMemory: "DSP_PROG",5 k! E. b, m: @6 W
stackMemory: "DSP_PROG",
" b4 G4 J+ ]6 b* l1 e1 { l1DMode: "32k"," D8 g3 g8 y+ D
l1PMode: "32k",, B% W" }$ P0 c0 Y
l2Mode: "64k"
" j% V) |9 W4 O* n% N' s# L8 n4 ~};% N# R4 v) ?. B% O7 B$ Z# i
& p8 T3 z3 B9 n( N+ `# I" k
/*2 O$ r8 I( k+ {2 B8 ?$ _+ r
* ======== ti.targets.elf.C674 ========, U9 T9 \7 q4 ? q |' e8 C
*/
* \" M. J6 ^; b. v6 B. Rvar C674 = xdc.useModule('ti.targets.elf.C674');
1 X R4 g8 c8 z' }6 xC674.ccOpts.suffix += " -mi10 -mo ";
! c" m. P8 l4 m& F U# SBuild.targets.$add(C674);
5 o. V# i( }5 a
" g( a2 {" a: X: u0 Y- F
G+ {* {0 D3 G7 }: z+ ]% I) u====================
5 d! f; b' q! b4 m& {原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
0 n8 V; L8 Z6 w4 v |
|