|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。1 S; j6 v5 ~, l* B4 t4 F4 |
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:! _$ R+ U N! y% e( F
% \" n; L: j P: p, d/*/ }1 U s, b" n. Y1 V7 c, }, ~- [; U- v
* ======== config.bld ========, m0 b% s; h" @( [
*
/ W5 D( m. K h1 t U5 m# C */
/ N6 P* k- c0 t8 C
' S( f. B' n0 N, B8 c5 n+ E0 s6 Bvar Build = xdc.useModule('xdc.bld.BuildEnvironment');! z6 N1 B9 g" {2 X* _4 x# o7 i( D
# P4 U" n, [: x+ E/ ]6 F2 H
/* Memory Map for ti.platforms.evmOMAPL138
+ e; ]2 U0 E2 U6 J *0 }( V0 K: o9 n: q
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
s% \6 U+ d6 F3 o& _ * ------------------------------------------------------------------------
! C4 q) @6 A- f" w' d9 ^ * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux2 @* P: M' d& ?1 z
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)- b9 ?+ R; Z' E @3 _6 G
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
2 S+ o& a5 I! }- V2 | * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
h5 c* V7 c# I. H * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
1 J& P& r- _) K' S* y# m * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------" B7 x. o* P6 X+ Z4 G$ U& r. [
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
3 e1 ?0 F! ^$ Z! x: r */7 N7 N1 M- L5 C) b3 L& q- s \2 w! E
, ?) s2 \: u1 ^. | O9 Nvar SR_0 = {
6 \6 e9 p! E \2 Z0 w name: "SR_0", space: "data", access: "RWX",; e. R7 q3 {! ?( o* {: U& z
base: 0xC2000000, len: 0x10000,# z3 G4 c5 q5 G5 o% _9 S. v
comment: "SR#0 Memory (64 KB)"
! ?3 j9 R) p6 |: G8 D; D };- w, P9 [3 r. H* u
" ]6 ?2 X. E& _var SR_1 = {' e' c Q5 H4 R
name: "SR_1", space: "data", access: "RWX",
. ]; O+ l9 R, h2 e base: 0xC2010000, len: 0x20000,2 f. J* \0 d- E$ [9 c) a- h
comment: "SR#1 Memory (128 KB)"6 I6 Q$ G+ \& e) ~ A8 P) u% W: j: I
};
/ f0 E" A) J- c& f
. O( W! I5 u$ a3 x/ T* X& s, T1 O8 XBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
9 F, H0 b9 K4 |8 O5 U externalMemoryMap: [# w! |- x- M' f; Q5 L/ V4 `
[ SR_0.name, SR_0 ],* h8 H8 `) G+ v, C% i" Q) r
[ SR_1.name, SR_1 ],
. m9 w( Z$ K. \ [ "DSP_PROG", {
- g% _- I0 a" I' H4 V name: "DSP_PROG", space: "code/data", access: "RWX",# U# L% c) @2 o8 _' w
base: 0xC2100000, len: 0x1E00000,
# _) v% s8 i+ y comment: "DSP Program Memory (31 MB)"
5 H; h J# a2 k* b) ]5 U }], N, [( D6 w. b0 W' Q' W6 I# z
],
6 ] [& D, [3 q codeMemory: "DSP_PROG",
7 u" u7 S- Q! z, c1 B. G0 [ dataMemory: "DSP_PROG",5 ]8 S) _; W7 j$ I5 M) t$ g' g
stackMemory: "DSP_PROG",8 I) A7 f! Y; g. H p7 Z, a& t
l1DMode: "32k",
7 d- ?* i2 J& X) T; ]6 U l1PMode: "32k",
( q5 H) B2 ^. j' q- e3 i1 x) T9 y8 P l2Mode: "64k", H0 f1 e& v1 b. r8 [% t s
};: z% N, `% S4 y6 {; x& R! ~( |
9 f5 i1 c+ Q3 `, P- S
/*
* G; n2 H* I5 B' R8 o * ======== ti.targets.elf.C674 ========- N, c. V+ n6 \4 y; Z
*/! }# o$ S! _3 n& ?7 |8 U7 \
var C674 = xdc.useModule('ti.targets.elf.C674');
, P- E* c" W% A. `( g& K8 g9 gC674.ccOpts.suffix += " -mi10 -mo ";+ D* u! | T6 X; c B9 A+ @
Build.targets.$add(C674);
9 w1 Y! M. A& x# _0 D' M$ [
' j) {' L6 ]& C; l* Y4 u
\5 }7 Q1 H3 g5 D) G====================+ h; v8 q6 {4 n5 n) u
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。 T: [% o! l! [' r! B
|
|