|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
5 Z0 L' Q1 J9 |9 H 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:: o) {" c% d- t2 ?
3 t1 [8 V' N, ^( r1 _5 |& E
/*
" N9 Z$ |+ p, V* `$ ] * ======== config.bld ========1 F. W. q7 B# }; e/ {. B
*9 d+ W, j/ }- r- P. L; R" U
*// J# T! \- [0 i. N0 W- ^% Y
R8 v9 {. t3 z P7 {; D" n; P6 Tvar Build = xdc.useModule('xdc.bld.BuildEnvironment');
" r- w& `! s. r3 w4 B! H# G2 R$ S& i% f
/* Memory Map for ti.platforms.evmOMAPL138
/ z$ {% n: B; |- }( p9 Q6 E *
3 ^; E. h9 {; ?) ?0 ]7 N * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
6 y& d( p3 ]2 M! L8 n: T * ------------------------------------------------------------------------3 m/ H0 I) V l" m+ Z% ^
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
, X, U. m, m" @! U4 k; e * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
% l& K* Z% Q% ?6 m * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)+ m8 a& Z, c9 Z4 v) v% V
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------' S) A# ~1 Y# z3 l$ D7 N
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data), {6 L1 d3 m( G) \+ d
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------- ~. Z# M- \1 H, k, u1 C, q
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
0 s. O; m- U- i* z- J% O */
/ b9 L4 }! q# L0 h$ A7 J
. G0 g1 m* h& [ t6 J6 Vvar SR_0 = {) f( u. Y% O \; E6 t* w0 j
name: "SR_0", space: "data", access: "RWX",1 v9 U6 f" ~8 b; p# J: u- Y3 `& ^
base: 0xC2000000, len: 0x10000,& Y9 @: K4 [5 _) j. q5 t
comment: "SR#0 Memory (64 KB)"
: l' |! T4 i8 \- C% g% j- s };+ [7 R0 x- {/ u
0 a$ \4 q( Q5 x3 O: Y& Zvar SR_1 = {
/ f/ H9 B) p3 o; { name: "SR_1", space: "data", access: "RWX",
( ]4 i& V; X) d% D- w base: 0xC2010000, len: 0x20000,
. {0 r) {8 A' D; ]8 o" S comment: "SR#1 Memory (128 KB)"' ^2 ], t" I) l: P8 U/ X
};3 v8 O6 A y, l. e8 R
) a) c7 W8 o5 H& ^# H
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {5 w9 O5 Z, R2 _- D
externalMemoryMap: [
7 S3 W9 T% e; ^2 b [ SR_0.name, SR_0 ],: E- O! j! X1 M
[ SR_1.name, SR_1 ],$ N' W ^' z0 G' ]8 u/ t4 d
[ "DSP_PROG", {
2 N- q, {6 W! u0 ?# y) X* e name: "DSP_PROG", space: "code/data", access: "RWX",
' F1 i. u' Z* S0 h' W; N& a( p base: 0xC2100000, len: 0x1E00000,$ S: k( {+ \+ j0 h0 `+ B! `
comment: "DSP Program Memory (31 MB)"7 F2 F; Z! Z# n) d( X) a8 o
}]( k; `1 D# y6 T+ M1 A8 }' ^8 u
],
- ^" S$ R) Y( A3 v, N7 o ] codeMemory: "DSP_PROG",
1 f: n( ] _; _8 c5 p dataMemory: "DSP_PROG",
$ j; Z7 A2 ^ i stackMemory: "DSP_PROG",
0 G/ v/ {8 v7 c l1DMode: "32k",
# ~5 ]/ |, w& L7 Y7 w# @4 K3 S# v l1PMode: "32k",- S' X' h: `: g+ q
l2Mode: "64k". i. n9 R2 W7 {& |4 m
};
, ~* Y+ F/ b7 p% e K* l
8 o: Q5 w" G/ f. j: j: ]1 q/*4 H- F9 b; F- L: t8 z8 ]
* ======== ti.targets.elf.C674 ========! g% ]7 t7 O+ A9 _, W, B0 f# O3 a
*/4 u9 x* N( F. ^! o; v/ d
var C674 = xdc.useModule('ti.targets.elf.C674');) q" N8 g! o/ l
C674.ccOpts.suffix += " -mi10 -mo ";0 v1 i$ X8 q9 Q1 n8 O
Build.targets.$add(C674);
9 L5 |5 z8 f+ S6 k! f5 U% A. X% q# }4 V' { a
; ?0 N p: f1 x3 k4 d====================* J8 G/ a# L% D
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。9 [. O& T2 W6 N1 E
|
|