|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
( `. _8 M i) _; k' X+ ~ 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:% Y5 l- q% ^& [- Q) k( D; d# P
" t. c6 x+ C# g% _
/*
) ~6 A, d1 s& X7 {1 i * ======== config.bld ========4 W0 D) W' ~5 V0 ]( j8 f) a( u
*, R; U, h6 D, R2 p5 V7 X, x2 l
*/
# J' T4 V, r4 ^" i2 ^' }4 M7 C- k' @" a& ?7 B$ d
var Build = xdc.useModule('xdc.bld.BuildEnvironment');2 I* C3 P8 J# K
0 |, x/ `* a+ O Q1 v5 W; A/* Memory Map for ti.platforms.evmOMAPL138! p7 b. y& r3 k& o7 a U' ^
*
; x5 R J/ o: {6 E0 k6 @ * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory. p$ M" c: J& b! ^, o
* ------------------------------------------------------------------------
9 q* R" `+ r+ V! u3 ~" ?& | * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux& f- h: O' g; x2 Y
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
8 b1 e) f7 p. f% E# T7 J * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
/ n) X& _8 J; T0 A6 Y1 P * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------% i- u( A8 W& [; Q" Q' j+ W
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
$ ], W4 J) g/ u0 c5 e * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) -------- k, \" p" r3 N* @
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux0 W: S- o0 m! r9 _2 c" @- d
*/
) S h4 ~5 L' ]% ~: p0 ]4 K0 e9 b6 V7 w4 s
var SR_0 = {( l& J9 b. E/ t
name: "SR_0", space: "data", access: "RWX",0 A p. ~$ i8 I. o7 L
base: 0xC2000000, len: 0x10000, x2 O# L. b8 k; a- ?
comment: "SR#0 Memory (64 KB)"# ~* I- } ] Q7 y8 j- ^0 U
};
; X6 {3 n# ?2 w- \5 c0 o% H! I. Z5 Y4 D. Y
var SR_1 = {
% N8 ]+ I( V8 L' j2 N$ L) ]( e) \ name: "SR_1", space: "data", access: "RWX",# e' @; [( w1 U8 o5 D$ a
base: 0xC2010000, len: 0x20000,
$ z) ?: K2 k9 n2 X% Q2 }7 R- c6 e comment: "SR#1 Memory (128 KB)"$ F0 y7 [: X( i, f, `. i; m! d6 x
};4 u7 n+ \, t u+ s9 M, a/ s
# Q! p1 s# G4 I; D% z9 b- T* [Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
3 [) X8 C) ^( O0 l3 }2 v externalMemoryMap: [9 y; a5 @" o9 M9 @; P$ \/ y3 N& Q1 z8 X
[ SR_0.name, SR_0 ],. H5 o( r' \7 {/ t3 i; T, m
[ SR_1.name, SR_1 ],
$ ? M1 q6 ~- b! V! U0 B [ "DSP_PROG", {
& {9 H6 u& ?. [) E name: "DSP_PROG", space: "code/data", access: "RWX",
' m5 c* H- y- U+ f$ _ base: 0xC2100000, len: 0x1E00000,
8 C% ^! e5 x5 w9 ?" o0 a/ `; C* m. | comment: "DSP Program Memory (31 MB)") |$ v8 H( @: P, L; Z# T% m1 W
}]/ Q$ |9 H( q, J& B" Z" c+ I/ y
],4 K! D$ a' o, v
codeMemory: "DSP_PROG",' ?1 P$ X2 P! `7 U' E
dataMemory: "DSP_PROG",
) f- W* V |2 ~+ o5 O stackMemory: "DSP_PROG"," A- T( Q: f4 l% ^' C
l1DMode: "32k",
6 Z1 V" r+ E, N0 ?0 x( K l1PMode: "32k",
+ o. G0 W l s0 R: ]5 X y l2Mode: "64k"4 Z% [" }" v5 w1 T; ^: [
};% F/ }6 |1 e3 E4 P
6 w* }: o# B- @# K6 {/ ]3 ]: n) Y* ?
/*+ H) m: ^" E6 f; T
* ======== ti.targets.elf.C674 ========
+ n* |; _- k2 G% j */
: u9 x/ j6 a8 K" S1 P8 R& G# ovar C674 = xdc.useModule('ti.targets.elf.C674');
C3 b& b2 k( ?$ zC674.ccOpts.suffix += " -mi10 -mo ";
; S# G' e7 f; K: I. B6 UBuild.targets.$add(C674);
: f q& L2 H% k% [5 \4 Z' Z6 w
4 X) a3 t( n9 _) P4 ~* m! W+ J8 w! j2 Q
====================0 L- C1 N; Q- g" o) ]1 r
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。+ b5 O0 G# Z5 o" m5 t- i" F
|
|