|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。; V$ J. Z& G. V3 q
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
, l( m h1 _% y" ]) h
1 L, m/ F8 i" Y$ k# {8 I/*, P! N* d- u$ T8 \! Q9 j
* ======== config.bld ========0 L/ ^" i, f2 D1 h. D! i
*% b! k$ q+ q9 A. e
*/; _( K8 \' j6 ]& \9 W
2 M% c/ w$ X: Q/ ]- z) n
var Build = xdc.useModule('xdc.bld.BuildEnvironment');$ l" O2 q9 }9 ~1 ~2 m
, r2 j p& B: {5 E& M) T3 ?
/* Memory Map for ti.platforms.evmOMAPL138% y8 ^+ [" `. o4 r5 J
*
+ o( O7 ]. A" j' z0 U * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
4 l4 l5 y4 O ] * ------------------------------------------------------------------------) L3 J) ^# r: L- }
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux8 h+ o3 O$ W. v2 y" k& R5 \
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)9 X7 s3 _- j, v0 s$ R6 r/ F& R3 j
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
1 ^/ C3 z+ A0 C {/ l) o, ~ * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------0 n- g6 K0 _" @( x- p
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
8 R0 k& z/ P& b * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
; ~. u, g6 Z) p" b2 d * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux/ x! ^, t- Y. V
*/
% S4 c0 n {6 S1 x
8 u; ?/ ~3 z2 C Mvar SR_0 = {' F3 @1 G3 i% F0 C
name: "SR_0", space: "data", access: "RWX",
4 G: V3 r* R6 k. {- [ base: 0xC2000000, len: 0x10000,
. H% n$ K# u8 Z( X0 v comment: "SR#0 Memory (64 KB)"* o6 O/ a! K: `. \4 q
};
; i5 s) Q. `& P) [ j* t
8 p) s1 z# ?- C8 Gvar SR_1 = {8 T) _5 R( F0 u# O/ s( P
name: "SR_1", space: "data", access: "RWX",
+ q9 q& t* i5 N! W' O4 N/ P base: 0xC2010000, len: 0x20000,
) Q6 q7 L! r# k) ]2 E0 A& L. } comment: "SR#1 Memory (128 KB)"3 l w9 d8 u8 P8 |. X+ ?
};6 ~$ }+ j3 Y9 M4 x3 Y7 R
& R# [/ b8 B! U& F5 UBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {( @! O4 D/ I# s* v6 ~
externalMemoryMap: [2 J" m: i1 L: {3 o
[ SR_0.name, SR_0 ],: K; o, _- e0 Y4 M5 Q, j) n! x
[ SR_1.name, SR_1 ],
5 k+ |+ x, s) h) S/ B t. i [ "DSP_PROG", {
! o" ?* B. p4 `; X2 [ name: "DSP_PROG", space: "code/data", access: "RWX",
) d0 z, l$ G1 q5 o$ q$ K" P D5 E0 i$ f1 G base: 0xC2100000, len: 0x1E00000,
J% w, \( `: S2 `. I! U5 D comment: "DSP Program Memory (31 MB)". P; D9 w8 `! t. I7 C' f( `
}]+ i8 b' o2 }1 h6 j2 j$ h J0 M
],2 c4 l3 {* {( z/ H. z/ g$ T% R1 d
codeMemory: "DSP_PROG",
: ]' R4 Y2 K& U4 h0 X: X( p" u dataMemory: "DSP_PROG",5 r9 |9 u4 O' A9 i& w
stackMemory: "DSP_PROG",7 x8 ?5 z7 |5 m" A
l1DMode: "32k",
5 l( m4 j$ G# e) [! U, M l1PMode: "32k",
1 q$ i8 K# s7 o# B& H: J& b l2Mode: "64k"- s$ o q1 S: |' G
};
9 l& z$ A8 h* X+ S* K- {7 x' N3 b& B" M9 l; S8 q5 T+ P* J: R
/*
' ^+ {% s/ T: a" \ * ======== ti.targets.elf.C674 ========5 v g9 z# U Y, z5 I6 Q) i5 @
*/6 { N3 y/ g _0 ~1 u+ O2 [3 i3 d1 u8 p
var C674 = xdc.useModule('ti.targets.elf.C674');
; S: m! r) _8 ^. g' QC674.ccOpts.suffix += " -mi10 -mo ";
0 Z1 R+ o5 o6 c0 I4 O9 l N* ABuild.targets.$add(C674);/ V/ ~8 c7 n T& A/ ^5 v- n
- ?' F ~ H& ?" \9 }
- i, }( }1 j% S====================
# l% H4 t \; S4 E& [! U原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
. u2 N z& Y3 \ |
|