|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
# B: p+ J- m! W6 P4 x2 t! T 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:0 b8 G9 e4 p# B: P
, E, F. B% \+ h. G$ R: t( ^
/*
0 j" N. T% a/ T* H: W) n) g4 i7 c * ======== config.bld ========
8 e8 J- T& ?! Z- u0 H9 {+ X * e- f2 A* M" h- O3 r0 G9 I
*/, i: k. _" R8 @. H3 F, v5 g
: p. g% [$ I. E/ n9 V) J; c
var Build = xdc.useModule('xdc.bld.BuildEnvironment');& ]; m- D/ I0 N$ u" g
* r- x+ G% m: J* e& x/* Memory Map for ti.platforms.evmOMAPL138& l- f6 C1 h- u- f0 u0 S3 h' X O) Z# ]
*! x, [7 I- b3 b; V
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory0 C2 m9 z- M. R& E
* ------------------------------------------------------------------------
3 z2 _: _0 F' i4 w/ q/ |" k * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux& d a1 v. x* o; W% }; h
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
# h ?+ v2 d, }& P" x * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
9 H; w1 t0 a, f2 q3 { y * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------# A2 l Z" T: n0 \, e5 s& o$ l
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)9 K4 D4 H( \; W9 j
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------' i4 m% U6 c1 v- ]6 R6 R
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
1 N: P6 J s* K */1 `5 y$ \# ?- b! {3 K3 U
+ l p0 w- H" ?0 O( f& W4 Z4 ~: U- lvar SR_0 = {' m4 i* B ~/ k7 c3 @* W9 Q6 u
name: "SR_0", space: "data", access: "RWX",6 _# R/ }0 ^2 u0 ?' H4 `- k4 E
base: 0xC2000000, len: 0x10000,
* N" n/ K3 m8 H8 q comment: "SR#0 Memory (64 KB)": f! _5 b$ g0 f* S
};, ^5 r8 k' H. y& ]% Z
' q! O7 I; _* ~0 F# l% \" uvar SR_1 = {7 T* Q k3 h" j3 k
name: "SR_1", space: "data", access: "RWX",# N" I* k) |- [; i$ I O& J$ }
base: 0xC2010000, len: 0x20000,0 N$ e; S9 E6 R1 s( T
comment: "SR#1 Memory (128 KB)"
! D" q9 C3 a' t+ M };
+ T$ J/ ]9 w# U/ A+ k) `9 i9 Q$ Z" _0 ], B4 V+ w- C
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {5 w4 N4 o9 f4 ?7 g2 i
externalMemoryMap: [
; B) E0 [: x2 X3 v0 a [ SR_0.name, SR_0 ],4 V2 s% `* V$ ~" S# U/ r [
[ SR_1.name, SR_1 ],$ _5 l+ T7 `. X, j4 U
[ "DSP_PROG", {
5 K4 W) X2 t) J2 o name: "DSP_PROG", space: "code/data", access: "RWX",
0 Y3 t4 B3 d* @- l base: 0xC2100000, len: 0x1E00000,( P5 ^* d0 q5 J* J
comment: "DSP Program Memory (31 MB)"5 t. j' p' Q0 \& ^1 `& s# W
}]2 O' t6 z4 l I8 k6 C/ G8 h
],# x7 o8 M, y. d
codeMemory: "DSP_PROG",
7 c) k( A. M3 o$ t" l dataMemory: "DSP_PROG",
, {) k. S9 B( T; v3 h: a" r stackMemory: "DSP_PROG",
1 E* x, U' i; G3 r' P! x l1DMode: "32k",1 } | A! U2 @, }- c+ Q
l1PMode: "32k",6 ]: l+ k% V. _& K! L
l2Mode: "64k"
! b( j; x' M1 B( q* P};
: {0 }$ u0 l1 v* R" `: }9 U1 P) Y g, G( \$ _
/*0 l% k' N- B6 H' R
* ======== ti.targets.elf.C674 ========
( E4 T4 e# K2 L) y6 g */
1 H# u& M1 V _1 S; f8 i7 {var C674 = xdc.useModule('ti.targets.elf.C674');8 v) W! K: l" [/ ~
C674.ccOpts.suffix += " -mi10 -mo ";* v9 k* k7 L% a8 S- d- ?2 ?
Build.targets.$add(C674);
6 w# x: c h3 z8 z8 K' Y9 w8 J+ {; o! R( I
7 S* d& X5 @: m( _5 g5 ~9 `" c5 m% q- g% H4 `! i# x; d: Y* B3 X8 D
====================
% F2 k' z4 b# U0 S原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。, t R. [. Y/ k
|
|