|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。! f/ ^# y1 t& a
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
8 ^' C7 V! R: F( `# b& i: ^' D3 A& m
/*: |* b2 O9 H$ E M6 F1 Z& l
* ======== config.bld ========& ?+ {3 ]) ]- V* ?3 C: K! U
*
5 k9 G- ]+ [; L3 E */
# ?6 |; O$ ~+ d+ ?9 \- c7 U- Y$ W# Y, ?
var Build = xdc.useModule('xdc.bld.BuildEnvironment');2 W6 ^# T$ K m
+ B9 |; p3 a( }& O. C- `% g
/* Memory Map for ti.platforms.evmOMAPL138
) a* W4 l; ?- Q$ \4 I# Y Q4 P *7 }) s$ w* G v
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory8 B: w7 d/ f' w4 F! a( c3 F
* ------------------------------------------------------------------------1 N: `6 z% b4 `( E1 D" G' Z* ^( t
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux+ U8 X+ f! v! j5 `- k1 j
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc) C8 s- Z+ j4 q8 P: }8 T) W! k4 c
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)& ^6 g% q/ K9 a C0 _8 g
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------/ U2 V$ Q; }4 ~5 ~! ]
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data) `1 S- h2 h {1 Z) ^
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------" F6 }/ w9 x: w7 f; p% X6 U& [
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux! F& u& t6 x$ O1 l
*/
) }1 w% d+ ^; N0 m2 S- h* E
7 Q. d Y# y& b5 b ~, F7 Tvar SR_0 = {
: F$ q% g- w9 G; `3 ? name: "SR_0", space: "data", access: "RWX",1 I$ R3 {- {3 v7 ^' f6 @5 n
base: 0xC2000000, len: 0x10000,
# W' R& X3 z5 w7 Y7 ^ comment: "SR#0 Memory (64 KB)"7 S2 e1 k( d8 H2 C' {, _5 N: x
};
$ V& e+ L+ n# Q3 [& G7 p- i2 [4 {
var SR_1 = {
' _% ]1 J# V5 A6 E' E/ M$ y) P name: "SR_1", space: "data", access: "RWX",' Q; t; q g6 |* L
base: 0xC2010000, len: 0x20000,
' q/ l8 N$ y% a" i comment: "SR#1 Memory (128 KB)"& l) c" Q+ M% Y3 {. B5 v
};
8 H1 p' ^ q+ Y- S( y
H9 U3 T4 _/ {1 v: Q9 E- zBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
; e9 D0 E9 f' F$ A- O3 G externalMemoryMap: [7 e+ p8 ^" e/ U$ l
[ SR_0.name, SR_0 ],1 o9 R- s% a |4 I& l1 E! \
[ SR_1.name, SR_1 ],
; R8 }# g# m, k( S7 c$ R) b [ "DSP_PROG", {- D- J9 Q& x3 t( o. s8 l
name: "DSP_PROG", space: "code/data", access: "RWX",
4 C: Q. w1 ?, E' \! ?. b/ c T5 B9 L base: 0xC2100000, len: 0x1E00000,3 f+ A) D) i8 e7 J: H# M E
comment: "DSP Program Memory (31 MB)"- Q$ `9 v. j( r7 a) Z0 `& ]
}]
# N, K8 n" X) z( L ],5 A( G5 f0 l U: Z: ]0 N
codeMemory: "DSP_PROG",
) l5 F+ a( f6 S# l dataMemory: "DSP_PROG",
$ q% w4 W4 \ H stackMemory: "DSP_PROG",
]+ }. R; K1 v; g# a l1DMode: "32k",
# i S, s5 P/ {5 }( @: A: I( e l1PMode: "32k",( @% S& O0 i5 h( \1 h/ h0 W
l2Mode: "64k"% q+ ]3 l; H, s: H' E, P* L
};1 P4 C; r: R: O8 q
6 P* W- O! m- f; H$ f# s
/*- ?, t7 f" q0 ]! F0 W' h2 |: W
* ======== ti.targets.elf.C674 ========! Q4 m/ F4 l* Z+ d
*/4 [0 V( S& ?# P$ L' T
var C674 = xdc.useModule('ti.targets.elf.C674');
! R s0 [) |% l sC674.ccOpts.suffix += " -mi10 -mo ";5 T: ]- i1 S6 {" q+ }2 N
Build.targets.$add(C674);% y" }+ d; V d$ q
3 @2 x# {5 ?6 {/ Y' _& O z, Z
====================- K7 s1 V1 J& E* z7 n
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
3 e# [; x! O. ]( P |
|