|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
) F- k7 ?. V: k- V 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
, E. o" x- x k7 d% @: |
3 f2 Y& X$ a9 R) o- ~/*
% U" f" O! [& l' ~ @- L * ======== config.bld ========+ b- Y6 ]* a6 @! e) l1 r, u
*
; M1 ` m6 u' o" K5 F */' o7 \) U/ q8 B2 s3 U6 U" B4 }
: ^0 w# F- B V
var Build = xdc.useModule('xdc.bld.BuildEnvironment');/ ` R- K" g( e+ v
1 L& G/ c& S" D; m, n
/* Memory Map for ti.platforms.evmOMAPL138! R3 \7 _) g7 @2 x& r q2 k* K) X
*
& o2 J) S, n1 z2 ~5 z * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
' P3 v% i: ^% n5 w7 w* Z. Z. \ * ------------------------------------------------------------------------
6 Y3 a" V% L2 y9 W3 n * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
; c1 u: T) s9 s8 S+ _) t3 l( v * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)2 b: ]0 M g A4 X" D! I
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)3 [0 x- b2 O" E, o! a4 @
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
v8 t0 Y/ r& t. O * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data); c+ a) Q; M. X( P1 L
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
# a2 _8 M0 p. K% v, P * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux" L2 x/ h& t2 X3 {! \
*/, [2 C, j# {* Z0 E
2 e! _, I* y# X0 z' G( n' v3 X
var SR_0 = {
9 V5 T8 c8 {9 v% d6 J name: "SR_0", space: "data", access: "RWX",
4 L4 N% b# C$ r3 F$ v2 W base: 0xC2000000, len: 0x10000,
, w" V' e+ p/ k" G( @ comment: "SR#0 Memory (64 KB)"$ X- o4 N3 Y+ y6 o$ L
};
+ L0 C2 n [8 o$ v
7 n6 W8 K9 Q* g8 k- v! {var SR_1 = {$ i5 G' Y" C N1 q
name: "SR_1", space: "data", access: "RWX",
% D8 [; X- Y8 a, N: H) I base: 0xC2010000, len: 0x20000,( v9 ?8 |/ r k8 @9 W: G' w, i; K1 i
comment: "SR#1 Memory (128 KB)"
# C" O& |' J3 {! R };
' E. q* v* g5 u6 `- z: ]* M; l5 w* b3 i7 i5 n- v5 K9 b
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {1 o) u' q1 i2 m: S
externalMemoryMap: [
4 D$ z5 S. `* S0 i' Z; {6 P! B [ SR_0.name, SR_0 ],
9 E, ^ @, U& N# Z6 }0 p, u" m! g [ SR_1.name, SR_1 ],
+ W8 j; {8 F7 c& h$ o [ "DSP_PROG", {
3 o$ C) u6 ^" g5 F name: "DSP_PROG", space: "code/data", access: "RWX",
u0 Y* Q l( W6 N: \8 i base: 0xC2100000, len: 0x1E00000,
5 |, I2 l: \: \0 L& ^6 b comment: "DSP Program Memory (31 MB)"* d) q1 g: A+ w K" W
}]* q+ ~* D0 u- Y7 I& {
],
9 U# e% O$ w* A6 D9 U+ R; C' ? codeMemory: "DSP_PROG",8 I- y4 N/ Z+ F! i
dataMemory: "DSP_PROG",& i- W6 L9 {- ~( ]
stackMemory: "DSP_PROG",9 U5 }) o* U R( v+ v4 u+ w8 h1 \
l1DMode: "32k",
: ?) S% E* P4 }. R' W$ }( ~ l1PMode: "32k",# ^& c/ C- ^$ `0 @/ p6 H' S2 H
l2Mode: "64k"
2 e) q& I" j" c' O- t};, c/ w& X8 Z3 M" }& S
* x6 y) ?6 \4 j
/*
3 M7 n) {1 x5 P, S% t; e8 w * ======== ti.targets.elf.C674 ========
- w0 a1 |! T A2 s6 f* h */6 G9 n' y. O4 }
var C674 = xdc.useModule('ti.targets.elf.C674');" a3 D7 P1 F8 [, z% p4 Y0 N
C674.ccOpts.suffix += " -mi10 -mo ";) y- B9 E- d3 j- k6 r9 g' C
Build.targets.$add(C674);5 Z4 P7 I7 d! ]5 C. X
* Q3 {- U& L e. T6 e$ F# D3 y; Q) i# S
====================- O/ ^7 _/ M$ h
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。" q8 s( q+ G. v+ Y+ @. L; E) H
|
|