|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
( {, D- b( w0 w; c5 D3 O 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:( J3 X8 N. a/ R9 G6 c8 E7 @
1 C" H; }& R2 b, i; ]/*6 j4 l6 ]7 z) L/ G8 F7 h
* ======== config.bld ========, L4 q& Y" P# N& [0 E+ g; I
*
' G" I& J; Z7 f w% ~ */
: i+ e j$ I; [; `( Q$ N8 _: l( Z+ U2 ]; x6 c1 I
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
6 m& F% C2 I. H4 ]6 l D; x k+ I. i* w0 H6 q4 B+ U0 A. Z7 u6 P
/* Memory Map for ti.platforms.evmOMAPL138+ x3 s0 o$ J9 ]: t! G( j" m# P
*$ E7 b- x8 ]9 ?! i. d) \
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory* c7 a& Q+ A8 {2 t9 j- a6 k+ E0 W
* ------------------------------------------------------------------------
3 A9 S* x Q% e8 q. ~7 B# k% w * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux9 x$ E' z. z v9 g
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
0 I0 V9 a6 V1 _5 t * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)) w' B/ h$ X/ w4 M8 m& a6 c
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
5 p# T+ L) c- }8 U: F2 ` d * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)9 S, v8 ?. S G4 v; T* T8 a( X
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------: o4 T3 ]: `' R+ y# H3 s9 V0 w
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
5 r: h) _6 |+ m5 @ */
4 i# Y8 r1 x. k6 z+ u
# `/ Y" `5 q3 d! tvar SR_0 = {% y+ U4 _8 M" Z
name: "SR_0", space: "data", access: "RWX",
! p7 n. S- T. V) V* A/ t; u4 M base: 0xC2000000, len: 0x10000, g3 Q! ~$ `6 K" @8 ~% V$ m
comment: "SR#0 Memory (64 KB)"
, a3 v0 P [; j/ n. m; V };
- s8 O5 k# p) A4 r1 }6 G* K9 r* R2 @' F1 {9 U, f& x
var SR_1 = {
& ^# g+ g3 N- a1 Z+ n name: "SR_1", space: "data", access: "RWX",
5 d* L; X9 |* Y* c* Q+ n base: 0xC2010000, len: 0x20000,
7 x' e9 g+ b8 J4 C, ^ comment: "SR#1 Memory (128 KB)"
5 m9 i( L* {% H; e, u };
; M2 x0 J3 H6 k0 z' h; W4 {2 ^, ]
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
8 M. Y8 H0 B d8 l0 ], _ externalMemoryMap: [
2 I S/ Z. `* g7 x! r( m [ SR_0.name, SR_0 ],8 E3 d' H" @# }$ o$ v
[ SR_1.name, SR_1 ],% d# s7 D/ S. h8 v9 ~2 _' y! d) \
[ "DSP_PROG", {7 c3 G4 E& _+ k S9 |( C8 Z
name: "DSP_PROG", space: "code/data", access: "RWX",
: r$ u. Y/ `9 y base: 0xC2100000, len: 0x1E00000,
- W/ H% ^+ h+ Y" j4 x( Z5 [1 @ comment: "DSP Program Memory (31 MB)"
! ^3 @: ^ ]6 Z$ C; n, x2 _5 \ }]6 L. R, T) ]5 r- M4 x
],
& A% F" Q: A# L4 N. E codeMemory: "DSP_PROG",
, h/ Y" L1 @( H1 e" v6 N dataMemory: "DSP_PROG"," x1 k: r" I K$ k; K/ v
stackMemory: "DSP_PROG", y* r5 I3 a7 m* I0 A: v. ^
l1DMode: "32k",, x+ D" D4 m9 l, K% q6 g. Z
l1PMode: "32k",9 b: f6 q. o! e# ^0 g8 d0 z: J
l2Mode: "64k"* q/ A/ h5 C1 z! ^- q
};2 K. ^; j! D6 h" u: w" @; O3 e
6 A6 B. L; w2 u3 z" F/*7 s6 ]0 y1 m; c. E8 L8 c% c
* ======== ti.targets.elf.C674 ========
8 q- i; c, e; t9 j, E; B */
( F2 D, n3 C4 h) ^var C674 = xdc.useModule('ti.targets.elf.C674');8 `- s$ m) t% a6 j% M0 Q9 }
C674.ccOpts.suffix += " -mi10 -mo ";- s! I- |& D, ?& F" o
Build.targets.$add(C674);
! c) v( e i$ M3 G% m p+ G; u
9 b3 v8 F2 B" a/ c* W, U
/ c! s, o; m9 W$ s3 \====================
$ {7 y3 [3 m* N& C" S5 J原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。6 M* j9 o1 y# u& h
|
|