|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。9 F, Q& r6 z n! G, U2 ]. M3 h
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:; x, R+ q3 E, p0 i( X6 p+ s
2 H8 H: j& `- ~2 \# N+ ^
/*
% \4 ]) U" [( F2 J) ^+ D) {7 i * ======== config.bld ========
2 l$ r: f& F5 y, _ *8 ?! m# ^& d' Q. q/ x% I( S7 G7 r
*/
$ k5 H: k- W/ O0 z7 z
) I+ L+ U# q/ T, X, fvar Build = xdc.useModule('xdc.bld.BuildEnvironment');+ |4 g6 P6 I+ k: i$ G: x/ G* s
' y; O8 Z% J1 y% I
/* Memory Map for ti.platforms.evmOMAPL138
* E( O% J& S; W# N *
: w. d5 a9 [) L9 |: d * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
) z( d. G! K( M5 Z+ U% ^: ]! T * ------------------------------------------------------------------------
- }, b/ I3 P* c2 k7 O x * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux# ^1 A9 a* C* f
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
; y1 y9 t* F+ f+ a1 d: K: p * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
9 |, |5 t- W! c) B% e! J: G7 @$ B5 M * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------2 x& ]3 |! e3 |( V8 ]; ~! n" n) D8 j4 V
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
1 r" J4 r( k; z0 M * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
. [+ c9 R) J9 Y * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
3 N1 o! J; b( A, ?) r+ k" V */
( Y5 Y$ z5 q- ]( K. k* ?' d, n7 ]- a2 P- r
var SR_0 = {0 y9 L1 T- u+ S
name: "SR_0", space: "data", access: "RWX",. @' }1 P; G* \$ M& H. k/ \
base: 0xC2000000, len: 0x10000,; c6 e7 V; t5 U
comment: "SR#0 Memory (64 KB)"' F K4 r* D% _, [4 [6 p9 \0 t
};
" |% C8 B% y6 c, o+ A
7 e: V# @9 Q i' Evar SR_1 = {
1 ~5 \1 ], O+ _8 j+ { name: "SR_1", space: "data", access: "RWX",
& H: E& g @4 t base: 0xC2010000, len: 0x20000,
9 j* _" [. v! l0 F2 R4 Y comment: "SR#1 Memory (128 KB)"
4 \# b( P; { L% u };5 [3 v1 N% Y9 o2 w" m3 ~
, N" V1 M k$ I. Y0 SBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {! S& `9 E0 s) P$ j r
externalMemoryMap: [
/ L# U4 b3 i- n. ^+ D [ SR_0.name, SR_0 ],, C( e4 f6 s5 W: g; @1 S& E
[ SR_1.name, SR_1 ],
/ N5 b. b8 K7 C* f& C- B2 V6 ^2 @ [ "DSP_PROG", {
& K& V& M* ?7 U5 G name: "DSP_PROG", space: "code/data", access: "RWX",
# z( C. B0 E9 v% `' ^ base: 0xC2100000, len: 0x1E00000,( H" x8 Q2 `2 e* a% }
comment: "DSP Program Memory (31 MB)"1 F! K9 G U+ g0 g0 z
}]
8 y/ |. G( @ Z. W( V3 R9 s8 s ],
& i8 J* U4 N m, g/ ?/ u codeMemory: "DSP_PROG",
) E& s/ y7 D1 o1 {8 p, b dataMemory: "DSP_PROG",
. u7 ] C: C$ S2 n- @) I" X stackMemory: "DSP_PROG",
0 M5 h' K0 f" i* O# {0 G* } l1DMode: "32k",
% m4 U7 r: R7 ~$ T l1PMode: "32k",
# O* ?* _) H c; h1 [8 ]3 j* s l2Mode: "64k"
^" m8 {+ @. a; t+ l};
- d1 k! {6 E. Y2 I2 s2 C
: X, K r& ~) ? S/*
: s: ?- |9 }. ?$ A- u+ a * ======== ti.targets.elf.C674 ========
9 Q; k7 b5 d- c* Z8 |8 R* Q W */
4 i( B0 E+ r! T7 Xvar C674 = xdc.useModule('ti.targets.elf.C674');7 c& U- W& a" v) ~) \
C674.ccOpts.suffix += " -mi10 -mo ";
) L" g! g q/ [Build.targets.$add(C674);
* P W! a, d& e( u* }* F+ o% [4 T2 ?) w6 z/ g0 {
$ h5 b# H) Z X5 ?
====================7 m4 U) x6 {. m s9 y
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。5 w- b4 p* ]# @9 z# u$ ^
|
|