|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。9 S) w& {1 R3 b" S
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:5 D% j+ y0 q5 |: n& i5 h; c# _
8 ~% j1 y w/ A. }- y |: A
/*
, H. y3 ]2 s6 L/ {$ |# } * ======== config.bld ========, z% |$ h& _0 H) Y' b
*
: f) |9 K% e$ y; { */2 d8 e" T8 I+ N" @; h- A
4 L/ I+ u) o" o
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
* @. X' r0 I+ t9 D
B. H/ ^. {& Y( r! g0 g/* Memory Map for ti.platforms.evmOMAPL138
8 x3 i& Z# O# v/ ~ *1 [7 F* N7 w; o& P$ n! j4 V
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory/ j M, O2 L0 S2 I" }
* ------------------------------------------------------------------------7 k6 [, [1 \7 V
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux/ i0 K3 O. Z7 I6 H' R! f% S6 W# e/ ^
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
# L" i9 V' P) @. [ V: m% J * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)8 e+ W8 J, x3 @ f, j
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
9 b" c n6 N- r * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)2 j+ t% q/ f+ {* a3 C& N
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
$ z% z6 s" _: Q7 v: ]# t * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
# J$ J7 v' ?' m! n c */* w6 M$ \ |) {0 J1 V
" R3 s4 e9 _- h4 R; J' Y; ivar SR_0 = {
' E0 @" n# }$ | U2 v7 [( @ name: "SR_0", space: "data", access: "RWX",
9 V' O4 a6 F6 Z. X1 D* L9 G: x base: 0xC2000000, len: 0x10000,) U9 Y) l8 S9 e" R' b
comment: "SR#0 Memory (64 KB)") r! N. y2 n$ f8 z9 N) M
};
2 s0 ]9 m) p7 h* e e' s! Z+ [1 m& y. Z0 t* J! S4 Q, l4 ?
var SR_1 = {7 _( U% o+ i& v4 _, O. a8 O! Y+ j
name: "SR_1", space: "data", access: "RWX",
8 H9 E+ V# ?. J' e% V6 ~ base: 0xC2010000, len: 0x20000,
) e* C* z2 m9 O) p% D comment: "SR#1 Memory (128 KB)"/ Y5 b( l, Q L/ M; }7 ?8 S
};
0 `/ L- {2 M$ ^7 E! X- S3 ]) m0 X0 z6 ?/ A# B+ Y. g
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
4 P2 X5 l7 s |' h; @7 P% w externalMemoryMap: [
, l1 k% d, r2 O: g+ S [ SR_0.name, SR_0 ],
, f0 |& o$ `5 s2 }$ B [ SR_1.name, SR_1 ],/ N6 @2 G% p# i6 \; b
[ "DSP_PROG", {
: Z* d6 h# P, N5 J% ? name: "DSP_PROG", space: "code/data", access: "RWX"," `4 z. }2 P4 M% u/ N8 M
base: 0xC2100000, len: 0x1E00000, |7 w3 a: p s, v) [
comment: "DSP Program Memory (31 MB)"
- D( t8 ?8 D' D9 M+ i2 u }]
8 _7 F5 {, D V3 h ], Y8 Z8 b8 A% e" R: f" M
codeMemory: "DSP_PROG",2 E( @5 d; A$ _0 o `
dataMemory: "DSP_PROG",
% [, m, f0 S! J stackMemory: "DSP_PROG",% m( i. _7 _% M
l1DMode: "32k",: g$ C5 H/ C& r) R$ u) t8 m6 k
l1PMode: "32k",* c: Z d3 o W3 `% { K) M. U
l2Mode: "64k"9 S% T1 L% B1 g& s8 E. S
};
2 F- t! `4 M5 c& h w m7 ?, y: F2 h! o- a8 q9 |
/*! @. c4 J7 s8 N- ^
* ======== ti.targets.elf.C674 ========
2 l7 S3 I1 x. { */
: u4 l- p3 S6 w/ V8 Q7 ^3 uvar C674 = xdc.useModule('ti.targets.elf.C674');+ p0 |. G3 Y: a" Z
C674.ccOpts.suffix += " -mi10 -mo ";& U* r9 Z' S6 L3 n+ V/ o
Build.targets.$add(C674);9 s% _# }6 s1 z/ E7 U6 i
3 R' i7 Q% j1 ]
( n1 t( c" Z/ R7 c+ B, j9 ~9 }$ o====================
! X0 N3 w& A6 g% e原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。8 }+ F6 O4 _4 ~+ r" h3 u
|
|