|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
8 ]% N' R3 f" b. k/ s5 }7 f 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
0 |( O7 `% i4 O5 l0 P R+ w4 W1 r& `" {- k
/*
' ?$ ^8 {6 c7 r * ======== config.bld ========
# s' s" p! }, }- K, |; y1 ]: s s *1 A4 O% Z7 c; {: G J- Q5 b
*/
' ~+ @3 R+ B# D8 s; ~3 m- G- ^/ }& W: F' d6 t
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
7 v$ S7 r; E, {, E: W% o6 c
4 s' w& ?( {" R0 y/* Memory Map for ti.platforms.evmOMAPL138
5 C: V2 N. c; f" O! D *
" Z5 c2 j5 y! Z4 K) E" Z' j4 o * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
4 w; b0 H- M6 d3 l9 L% A$ r- P * ------------------------------------------------------------------------8 a$ R. e% B. f6 }! A/ t
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
" H+ E# ?( C" ?. m8 o, u; e4 p * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
5 \# Q) L/ ?9 U$ G$ ~% G * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
$ {2 m3 g* C2 X# }$ X * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
# v$ _8 u* K( J$ J; o * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
2 e0 v3 h0 ? f * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
6 d+ D$ r5 r4 Q1 T; K0 K * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux8 L3 e8 o2 |% W3 d
*/
8 k& q3 q. U! r) T s/ l$ R6 M# m3 e+ m. }3 ^6 h# q
var SR_0 = {. |# o0 M- L$ p
name: "SR_0", space: "data", access: "RWX",
/ q+ c/ h' {" T base: 0xC2000000, len: 0x10000,4 G/ k7 ?3 Q7 R t* e3 U f k
comment: "SR#0 Memory (64 KB)"
" x, }8 A% o' C7 F: \ };! W- R1 j( X, [) S3 E1 D2 `
/ Q$ ^, r9 ]: g$ t7 T/ u# Tvar SR_1 = {
+ k$ l9 } w$ m' d; G' ?3 \ name: "SR_1", space: "data", access: "RWX",* @& T4 L) Q* p! _$ D3 _/ r
base: 0xC2010000, len: 0x20000,
7 L$ j! r' H7 @- }& Q$ L comment: "SR#1 Memory (128 KB)"
3 g% {% D$ }$ u0 T0 h" x };& T; ~4 @- P) _# d; W# c4 U
0 U" W1 V4 z% |Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
& q" X4 B: R, |# ~* e4 U+ U externalMemoryMap: [
7 v3 V! Q! `4 S0 B% ?# |$ G [ SR_0.name, SR_0 ]," ^' @1 k4 n: [0 X* P# T
[ SR_1.name, SR_1 ],
l% J( ]' X& j; u8 z" w; v [ "DSP_PROG", {
8 f- x/ \$ j- N5 B3 S _1 ~ name: "DSP_PROG", space: "code/data", access: "RWX",7 D }9 J# t! P: h9 S7 _
base: 0xC2100000, len: 0x1E00000,; ], E5 X5 k; {# }8 K: h
comment: "DSP Program Memory (31 MB)"
2 J% I2 d/ [# y% p }]
4 ^2 Y2 p9 ] d2 V# J) h% s, ? ],3 c6 J' P+ \- y$ B
codeMemory: "DSP_PROG",
. y. ~: ~! i3 g3 D9 J9 F. C) Z dataMemory: "DSP_PROG",
7 d4 x2 m, I& M2 S0 R3 A& l3 R stackMemory: "DSP_PROG"," i" l1 S2 f9 F! p* N5 {
l1DMode: "32k",
: D" r5 {) G3 O* F7 U6 h& [! Z l1PMode: "32k",
7 x5 U, a: G$ p5 H* c: p2 U l2Mode: "64k"
+ o0 _' @" a- ?' w};, L `9 G$ R: H1 o# U' q
) ^3 Z# U& L* X/*
3 _( H5 M8 Q3 D, E6 ` * ======== ti.targets.elf.C674 ========4 }/ l+ S- v& v& e- W
*/) C* F% z, R" `/ a: N( p
var C674 = xdc.useModule('ti.targets.elf.C674');! S; X9 F4 l/ x0 i0 L, _
C674.ccOpts.suffix += " -mi10 -mo ";
; q# U. I+ p$ A2 F' a0 pBuild.targets.$add(C674);
5 ]; O- E6 W) M4 Y; O: h
+ m% X3 W0 L; F5 e" }- l. b3 C; `" M) _9 t, W& y
====================
+ k. x r* _$ i! W% z原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
1 E0 k' J+ X4 r6 d, P* o& J' U+ K+ {+ P |
|