|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。3 X8 e) q8 d b- P5 I( A
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下: x8 M4 d$ S8 \: b! U5 `
; E" q Z) g- e- N/*& q" j/ ~1 G1 I2 }' E/ h5 f
* ======== config.bld ========4 K0 g( b( k f0 \3 i# @$ ^' N
*
o. m" V! a% s) P2 w r% N */
4 q- f3 N X+ O5 I# {$ A1 \& z( E: g8 Q$ r
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
( Z( O5 h4 [* i. M/ R2 k- Z+ H& T- ]
/* Memory Map for ti.platforms.evmOMAPL138: E1 ], k$ p! Q; D( R6 P( R/ y/ M1 N
*
* Y/ y$ q! J, z; [' p * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
& a# v% X W6 e5 [2 z! Z * ------------------------------------------------------------------------1 U% m( O0 u5 Q0 E
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
/ S& e! f t4 G$ r- v * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
2 ]% X% J( x: g! Q7 U* C * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
( \9 M! V; k& f7 W * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------( U% g; B3 T8 W
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
5 c1 Y7 m) J6 s" M! y/ w0 E" C. U) x * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------0 R. Z$ ^$ g, I0 [
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
4 Z7 C) v3 o! G) N */
6 n0 \; ^' K( O1 e
+ N+ ^3 ~% G2 zvar SR_0 = { U& H; E( k. z5 l# }7 k9 A2 n
name: "SR_0", space: "data", access: "RWX",- `2 \6 ~. M' K, A" G6 D& E) F
base: 0xC2000000, len: 0x10000,
5 T) l, h" u$ _- [0 j2 L comment: "SR#0 Memory (64 KB)"8 U4 d) ^7 T8 |8 c, T& K
};
3 M( z+ {& j6 s ]8 Q1 D1 U9 Q% l8 Y5 l+ J/ \) }/ }/ a$ W
var SR_1 = {
# L/ Z7 @! _5 d! X9 m$ A4 g name: "SR_1", space: "data", access: "RWX",5 E5 Y: g3 g7 {0 V+ O
base: 0xC2010000, len: 0x20000,
- C+ M& T8 N7 J) K- ] comment: "SR#1 Memory (128 KB)"
7 q! v/ j4 v# R9 e };
4 f: C9 O2 R2 D" x) H e7 g' S3 ^: X i7 Z9 \- Z2 X0 |
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {' O: ?, h3 i" l. i( f9 q3 p
externalMemoryMap: [
1 l7 r/ {$ [( p& k3 P0 \- F) O9 z: Y. ] f [ SR_0.name, SR_0 ],
& O$ j T, ]) z2 A8 j' c, ^( ^+ \ [ SR_1.name, SR_1 ],
1 h# H1 z+ T* e( E/ i/ x* I3 j [ "DSP_PROG", {% Q' N& V) B; c! ?& E
name: "DSP_PROG", space: "code/data", access: "RWX",
* ~3 ~0 g; l2 D base: 0xC2100000, len: 0x1E00000,% H5 J( L: P( L4 z! [2 _
comment: "DSP Program Memory (31 MB)"" z3 B; r, B3 @4 w+ i& M
}]& }1 T7 M' e# p8 ~# R. Z* A, @3 u
],- w- Q+ f" `7 D4 z3 c
codeMemory: "DSP_PROG",
+ @/ V" ~0 @' T+ ?! F dataMemory: "DSP_PROG",& g. ~& V8 `+ q
stackMemory: "DSP_PROG",
8 J% w: ]$ l, V l1DMode: "32k",
6 t. |6 C/ H6 D! h l1PMode: "32k",' j, |; [- V. O5 j7 L
l2Mode: "64k"$ @! i5 A r: S" [ h i+ Y
};# i! |( r) _9 A; i2 T
9 n" b3 d1 s4 _( M' v! y
/*7 i' D4 f* @1 O' N1 _- i
* ======== ti.targets.elf.C674 ========
! C4 ~" z5 o+ W */- r% j2 W! G1 J/ H' v! ?
var C674 = xdc.useModule('ti.targets.elf.C674');
( K! T5 M) L0 Y* f; w0 _C674.ccOpts.suffix += " -mi10 -mo ";
* R X3 I+ y* TBuild.targets.$add(C674);
& ~. a* M: c# f/ B+ ^+ i' D
- K/ v! o3 X6 ^( ~! P' G1 Q* G* U \: l! F% z) d" J
====================
0 n6 ~7 d9 {% A6 X0 m" P6 C原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。' o C( B0 h/ c- N' f I
|
|