|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。0 H6 [# J. E& ^5 ~+ i0 J
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:0 G+ Y* p6 C5 w' Q& v
8 T' t: C+ J$ b4 ~/ U. r
/*
$ ?) s# M# z2 |* F, u: J4 H3 j( a * ======== config.bld ========
7 M/ e& f* h# T4 ?. Z7 \ k *$ d( @+ B# q3 s$ V
*/
% P( U- c/ J- Z( R
2 p4 ]8 E! z- j. U9 T; vvar Build = xdc.useModule('xdc.bld.BuildEnvironment');/ i& C' _' E4 W! P/ O2 ^: m
& i, g" s {: R; M$ M2 J. g
/* Memory Map for ti.platforms.evmOMAPL138, g7 M7 G( M5 _% f1 g; o
*, x* H) ]9 y7 W) s
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
1 |6 Y+ a* l0 V * ------------------------------------------------------------------------
; t: l. }! O% I * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux8 J' w3 o& O0 W$ b/ d
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc) a( k9 V- B0 w
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)2 g$ z( h, [1 H# s8 R; Q: S# q
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------$ @; [, a5 @8 `
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
( u3 h r& K! c% q * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------0 Q' @6 p- J( \3 o! s) q) U+ O
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux ^1 C F: t3 M2 q7 r2 |+ A
*/! G. r# e$ W+ L, l+ e3 S
4 k- e, X5 W' |' N9 t; B
var SR_0 = {
, D, W+ |8 C& S5 E: k+ b* a name: "SR_0", space: "data", access: "RWX",
3 D+ {6 p# X) x base: 0xC2000000, len: 0x10000,9 ]5 J |) `/ }1 u: H2 o
comment: "SR#0 Memory (64 KB)"
; n) {# n* V. q- X/ H };. q4 `% \0 x5 F4 h) Y" l F3 {
# V( b+ G" L9 z; c: s2 C- V* t$ G
var SR_1 = {# E/ ~% _1 b6 V$ I: R' J
name: "SR_1", space: "data", access: "RWX",
0 N) @% l& j, \& o base: 0xC2010000, len: 0x20000,+ O- h5 O" L2 V, x& A6 ^; l. y
comment: "SR#1 Memory (128 KB)"
0 d. d! ^' W3 {. q: R, | };
) s" c9 ~9 p9 y8 E' E+ |# @/ ?5 Z/ P/ |6 p% g
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {) K; y! @7 W4 F6 H
externalMemoryMap: [1 Y# x) b9 P4 \9 D" M+ j) }/ L# F
[ SR_0.name, SR_0 ],
' O" ]( C; H1 D- H" q( b K9 ~; Y [ SR_1.name, SR_1 ],
: O! v( F- ?6 T: { [ "DSP_PROG", {
! b) k0 f1 F9 R2 y name: "DSP_PROG", space: "code/data", access: "RWX",- Q" e" R3 D, b8 A7 P5 Z
base: 0xC2100000, len: 0x1E00000,
3 w; N5 `/ R' J6 U3 `# o comment: "DSP Program Memory (31 MB)"9 Q$ L% h6 i$ s$ g/ T) c. M
}]- G: k" v/ b: U# N% C+ I
],/ b# H, v6 `: g; [: x( T* j2 V0 o
codeMemory: "DSP_PROG",
5 }5 q9 Z8 d/ v' J0 F6 M% f" J; w dataMemory: "DSP_PROG",
1 c! _' Y) b5 s6 g stackMemory: "DSP_PROG",
/ m0 x4 a$ n' V. o o5 G" H l1DMode: "32k",
* q+ k5 G/ G2 s5 x: ^- M. Y1 U+ d, u l1PMode: "32k",
' R9 Q) D% N7 l* ^; R- ] l2Mode: "64k", G8 R6 y j( E- Q
};
r1 B6 V9 `: T3 V. `5 `/ @$ c
" s. O8 S9 a% q* ]' ]$ G/*$ o, M1 }6 S5 ^8 B7 U% b+ O
* ======== ti.targets.elf.C674 ========- K* s: @/ g6 V) b
*/ i' f% x0 K% T- C: j) X, A, }5 V
var C674 = xdc.useModule('ti.targets.elf.C674');$ _+ Y. b& u1 @/ W. U+ H
C674.ccOpts.suffix += " -mi10 -mo ";
) S( }) F) ?/ PBuild.targets.$add(C674);
8 a2 D* E0 [2 Q2 R2 u# D6 t
9 I4 o% G, d. ~; C% r- O0 C1 w
; M \1 k" n% e====================) j- z. K& R3 I1 C+ j* H
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。2 j& |% A; R. W0 u o: M
|
|