|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
8 `9 w6 T1 m' q5 E' ` 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
8 U" A# G. l* n6 V2 D" m
; A! r0 w" r6 A9 }/*" S% y. t8 @; l
* ======== config.bld ========
/ N! W+ k/ N+ s9 Q" W *
# S7 [ {" {6 n. ~5 L: M" h% r2 @ */
8 d5 q7 y7 m& o1 U6 X
+ W# m9 ?: e. t9 n& y6 bvar Build = xdc.useModule('xdc.bld.BuildEnvironment');
& M+ U2 ~4 I: u- W5 T* h7 D( C# \) y: L3 j# o$ U
/* Memory Map for ti.platforms.evmOMAPL138
. S- r4 o% m0 S* N- L% `$ _4 O( J *1 f: }) u; s+ q: Z
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory6 f! [2 U/ J- @! M1 v
* ------------------------------------------------------------------------, R8 L1 i9 l: z) p( A8 D
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
- q/ W+ f/ j- C+ R* r% [# s * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
3 Q! J" j4 A( B% m * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers); U1 N0 m' n9 B# F( S
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
: _3 u2 E" d, a) L3 D * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
1 B5 J7 P+ u3 {1 Z, K6 n" r * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
% U5 x! D# w( J- u! k' G7 O# X * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux$ O" p2 K% w* i& F
*/
/ d' ~7 |; Y& F- H" M; Y5 ~1 u
# Y! l7 A6 f" W& Q2 pvar SR_0 = {1 Y- g5 o- V' H# X8 ]8 I$ Z
name: "SR_0", space: "data", access: "RWX",% p) F& q$ s4 \8 Q, p! N
base: 0xC2000000, len: 0x10000,
, f9 r3 e7 P) Q* Y comment: "SR#0 Memory (64 KB)"
6 |& d2 L0 v2 W/ u2 ?& T1 ^$ n& y };
# p1 a- @( `6 f( e
; y% b. [- o% a( g6 O% W8 ~var SR_1 = {
8 S. [- B/ c+ [0 [ o( H name: "SR_1", space: "data", access: "RWX", o; L* M7 j# g D; W' n% o
base: 0xC2010000, len: 0x20000,; E+ s+ v0 x7 S" ]- B" I4 c
comment: "SR#1 Memory (128 KB)") {; X7 r6 w4 }2 i9 L( C
};9 Q5 {) m' _+ l# I6 l' L
$ V2 H+ W1 [% j5 ^9 j& }Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
7 n' I/ f; P' P7 y! `. c7 r# z externalMemoryMap: [
' ]# M6 ?/ _$ T [ SR_0.name, SR_0 ],
8 |1 `: |( X( Z/ v5 H# m# ~! u [ SR_1.name, SR_1 ],* j, w. d( c8 j% @% a$ x0 N
[ "DSP_PROG", {
2 {3 h. ~( b6 x' R4 r; e4 a2 L! ?, I name: "DSP_PROG", space: "code/data", access: "RWX",
0 }5 Q, ?1 @& {- p5 m$ A+ h y8 ~ base: 0xC2100000, len: 0x1E00000,
0 @7 Q* K1 j, Z3 Z- t comment: "DSP Program Memory (31 MB)"
3 k- U7 W8 R0 H/ y }]
% j* g! u+ n8 N+ `5 O ],
" V- ^9 I: l' g& ?( r codeMemory: "DSP_PROG",6 `5 }$ s5 h. T' u- z: ^
dataMemory: "DSP_PROG",
5 s" C8 H3 u" \ stackMemory: "DSP_PROG",8 r, p! R5 M5 w$ g! |( ~/ A
l1DMode: "32k",
P `7 r& j* B8 q" i l1PMode: "32k",
9 O3 B+ w6 S/ X8 C3 f$ r+ _( F; ~) S l2Mode: "64k" M2 a' u6 y! T9 n p
};% g3 `; C+ Z+ F8 M: _+ p( a
/ x S; m& p& n0 E% R! A0 B8 m0 n; o% z
/*3 v& P: \5 J, [8 s- r
* ======== ti.targets.elf.C674 ========2 D% g4 D) q: k2 L$ |
*/
' \: _/ p5 T: ]8 g5 D: xvar C674 = xdc.useModule('ti.targets.elf.C674');/ z* _. z) \; O# H" h3 ]; d7 ]1 }4 p
C674.ccOpts.suffix += " -mi10 -mo ";
$ a- n1 z& ?+ h7 ]% j, V! b9 O/ rBuild.targets.$add(C674);
4 m: S! Y% x; q, y! [
- `; j5 R- @- V- c g
1 c- x, J, c2 @# |* O) ]/ X====================
0 \9 O: ]! A* v: S- E% z% F原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。1 B$ A3 z% G- ^% ^
|
|