|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。$ D+ E; [+ D' o9 y
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:, k, Z+ p) O4 v7 S3 d! {" O: T/ `
2 t0 i/ @/ @* E" n$ \7 A/*
- r" A% I# P. Q9 ^ * ======== config.bld ========2 d5 m' |6 _* r! A
*5 `# a: y/ r/ y: {$ ]4 Y- D" V/ s* t" l
*/5 d) A2 q8 E1 _
! K. Y9 e6 G* u3 f% g3 Vvar Build = xdc.useModule('xdc.bld.BuildEnvironment');& F# h0 ~% }+ M6 a- s& a; M9 f
7 Y( c4 S+ t; B. `$ a8 m( K/* Memory Map for ti.platforms.evmOMAPL138
5 c5 k7 f$ h* H6 v; x7 W *' B# B( C2 J& W# H
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory1 @$ F! H+ Z- L7 x& }: ]
* ------------------------------------------------------------------------- A# r9 h/ d% J, U4 F
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux: j! H* |0 Z7 N% ?- A) G" C( z# x
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)7 y; k! ~5 E) N- B9 ~
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)9 ~% j- u5 x( S7 j/ ], k, J
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------# m5 J/ @5 Z1 ]0 ^
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)) }( S+ y; \5 z3 H" b
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------5 ?$ a" t, `) p5 f5 i/ I
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
# N' Y. f3 W4 _1 k- V( P */
0 q6 j/ u, X& l7 a' E7 r. @4 A+ G' f% }5 G
var SR_0 = {
) Z3 x8 @- n* V/ P) M name: "SR_0", space: "data", access: "RWX",
8 I1 S4 [% `9 T base: 0xC2000000, len: 0x10000,
& s, v* [' w, T7 L( a comment: "SR#0 Memory (64 KB)"# H; D0 }$ g; q6 R) n
};/ W! |; B0 e/ \
2 s6 v7 |2 u& O; n; |9 o0 g! V7 S$ [var SR_1 = {8 i, j: t$ d2 v- C8 ]! B: o
name: "SR_1", space: "data", access: "RWX",0 c4 a( y. y$ c
base: 0xC2010000, len: 0x20000,8 L L4 w0 Q0 p: ?+ X' J
comment: "SR#1 Memory (128 KB)"+ u j/ w; C0 l# |: h, w
};
4 v G) b+ _' I* Y) T' M7 s* R6 n9 I1 J; H& y
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {' j& o2 H4 I+ h* M: j8 F
externalMemoryMap: [, [9 y4 J6 [* N: n- n0 b! D& N
[ SR_0.name, SR_0 ],
' ~. U: |1 D$ G [ SR_1.name, SR_1 ],
0 @9 D' n! \' `7 p" T$ \- h* ? [ "DSP_PROG", {
3 q2 I& C9 F$ K" l! f$ a! e name: "DSP_PROG", space: "code/data", access: "RWX",+ R2 F! I* n. Z5 s/ s. o3 j+ }
base: 0xC2100000, len: 0x1E00000,
+ e* x6 L) I6 f* X: u2 H4 Q comment: "DSP Program Memory (31 MB)"! v9 P n- t3 P n( v8 F$ V2 n+ T6 C
}] @" j- R5 ]2 s) O4 W
],
! c9 ~3 T- S! P: [6 ~) P( |( _ codeMemory: "DSP_PROG",1 r1 t. D* E! S6 {4 a7 g6 u5 T
dataMemory: "DSP_PROG",2 m) `+ _' ]- L/ w- X7 f* N
stackMemory: "DSP_PROG",
0 a7 D. o. ]5 l1 ]8 z, \4 }' Z l1DMode: "32k",5 i0 E. n) Y2 v$ q2 g& m) \
l1PMode: "32k",5 D" ~1 [' O' Q% c' V
l2Mode: "64k"/ g7 K u B" Z
};& U- h9 z, u' w* q' v4 I, F% b
: k* r' P& d. [ k- l; Y/ l
/*
* S" |4 { z7 f3 k * ======== ti.targets.elf.C674 ========& J/ j8 @4 B6 e
*/9 e# N M& K q/ s5 F* E% r {! F
var C674 = xdc.useModule('ti.targets.elf.C674');6 y" b3 [$ z3 n& s4 U! [
C674.ccOpts.suffix += " -mi10 -mo ";
' B& u! w9 @3 g8 `6 S7 m, |Build.targets.$add(C674);3 ~5 K i( Y a
5 w, ~: {4 B/ x6 T% [, g; X5 K* @: m& d5 \6 ?# o5 g
====================
, y- u, P' o' v( s: o' N0 |3 }原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
/ x5 M$ ]* \* ~& r- c# o4 X |
|