|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。/ A* {3 o- v6 e
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
* j3 m9 v# P% z; t' ^! V2 u: ~" \2 e7 f
/*
: e" ^/ _7 [& N( e3 c * ======== config.bld ======== v6 [" O. P$ d* b
*
6 E, W$ W# l3 w- z1 F */
* f* g% Q) M s3 Q: u$ M8 W4 O4 R; u* E5 W# a# a( q2 i ^
var Build = xdc.useModule('xdc.bld.BuildEnvironment');' O( U* ` K1 n1 d, O- q
. D6 z; v+ y5 A' ^+ j) {: W2 |
/* Memory Map for ti.platforms.evmOMAPL1381 h! K/ t8 g9 M$ J
*
: U: S# A" e7 g1 }1 f* X. @ X# o * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
- }) i: V- p2 b% \8 S3 p * ------------------------------------------------------------------------
) U2 d0 J+ a" s/ s * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
w b6 _5 z6 h9 h; p * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)7 b9 Q' F0 W1 o0 C* x
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
) Q0 V" w" T; D" ]2 ~ * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------4 y0 N( I4 `( K c% N
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)% Y3 m" o0 j: }/ F/ a, H4 u* e
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------# N( r* v* m0 [6 M- y7 k2 [ J
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux, Y$ f! f' j8 J% R8 W
*/0 Q% C. C6 F& }' ?1 u. _" u
9 l+ j# O( X/ i( w7 T( zvar SR_0 = {
* ~* b- X: \1 C( ~- D5 R/ c p# y* y name: "SR_0", space: "data", access: "RWX",# I- L4 i' n% p, V
base: 0xC2000000, len: 0x10000,! L. j. t: s4 g" _) M5 _
comment: "SR#0 Memory (64 KB)") n3 d! i) x+ M/ L8 P. ]
};
" g- s: s- p6 T# m( ]" i5 C- z3 V4 L* n8 Y
6 m x6 {2 N- y& T; Y7 Lvar SR_1 = {: |9 ~. B K+ r( P% b- M: x
name: "SR_1", space: "data", access: "RWX",- j) l$ k- X: { X# w
base: 0xC2010000, len: 0x20000,
+ V6 P) l/ L4 w# s* \7 u comment: "SR#1 Memory (128 KB)"
6 t4 k% W2 O" \! ?( m };
1 t- I8 x- }" v2 h h: c ~
8 j4 a& x7 h7 ]6 w* D6 S- t9 a* BBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
9 U9 n6 r- `' h; A) g externalMemoryMap: [" B+ ^! ^* u3 c9 |
[ SR_0.name, SR_0 ],
0 l, N6 H/ N) F" a [ SR_1.name, SR_1 ],
, i$ H% F; [( g: o' c! V [ "DSP_PROG", {" {2 f0 b: i$ c# k' h( k
name: "DSP_PROG", space: "code/data", access: "RWX",
+ U& r; q) M0 [/ {9 T6 K2 p! C base: 0xC2100000, len: 0x1E00000,; h. l3 ?/ I1 X2 A
comment: "DSP Program Memory (31 MB)"9 {* e, C5 O6 H# B c& S$ W
}]
0 m0 j7 Y% i6 e; W* V+ d4 u7 |% M ],$ ?- n% {- a( _# }; Q
codeMemory: "DSP_PROG",+ c! O; L# A' N$ _+ {2 i4 G
dataMemory: "DSP_PROG",( y4 w# e( }! C
stackMemory: "DSP_PROG",
2 M1 j) Q* b4 `$ }: T _7 j l1DMode: "32k",2 Z( O. ]" M( p* h
l1PMode: "32k",0 g' q! @* h4 x' \$ m$ T1 {/ Q
l2Mode: "64k"
* {9 ?9 \7 ~) Q/ c! `# c% ^};
1 p0 _1 i2 |- c+ {* K d& B6 I. o# O. y# ]( u* l$ M: D
/*$ D9 o( I* j4 \& w8 M
* ======== ti.targets.elf.C674 ========
# c. R+ R0 L G! A. L0 P */8 c5 P K4 _( e* F
var C674 = xdc.useModule('ti.targets.elf.C674');
: L3 X9 D" F4 h: E$ E0 C$ [C674.ccOpts.suffix += " -mi10 -mo ";3 @8 j4 P# d/ @# S
Build.targets.$add(C674);
: n8 T* F& f6 l" A& G( ?1 I: W( M. t, l8 Y) s9 b& w/ @0 z
, @ v" p) z6 y: A0 y& w====================
4 `2 t& G0 U9 i2 c; h0 E9 x原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
! J _) g4 z/ V |
|