|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。# d( O1 T) T |2 @8 b
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
1 a6 @( ?" E {* s3 w) U% u
" g1 z7 }9 l( }5 I" X- R3 ~/*
! D5 h7 I. g( p& ~ * ======== config.bld ========/ e% U; i" e/ `- W! u5 J! B
*% a0 ^4 j5 F b2 N3 e% Q+ u i
*/
5 p3 F1 S0 z8 w% Z! C' z
0 V8 d2 e$ e$ O4 }var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+ W; D# z& g' ^0 |0 s! }2 `6 F; T( s$ Y2 ^* Y! t$ _
/* Memory Map for ti.platforms.evmOMAPL138) T% E4 I1 S9 c9 H9 `% {
*) c- r6 }! j: H9 A) b, ?9 g
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
- ] `/ o+ M6 i; C3 b2 _4 m * ------------------------------------------------------------------------+ L' b( p h) J3 ?0 q
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux0 V3 ?5 y" y1 U, r- F' b
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)$ H9 z! b+ ], E; ]: C7 A' p; n
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
, v3 s) A( z6 _( y * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
9 r2 p2 {$ \+ x5 C/ K( P c: S * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
' I) T4 `- Q: J {6 q1 z6 z- z6 p * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
3 B6 f0 k3 J' W! v. P * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux) A; K4 H3 g+ o9 e7 N2 U! Q6 E
*/- w' n) a# P6 A f
9 g: s+ M/ M, }/ P3 T# [8 tvar SR_0 = {
" j9 b" N! v5 R4 g, s4 r& @ name: "SR_0", space: "data", access: "RWX",! [3 D1 b# G X# l) x
base: 0xC2000000, len: 0x10000,1 @6 O4 E! x4 ]' \: k7 k d
comment: "SR#0 Memory (64 KB)"( f' [' O9 G' E
};3 d& B% o9 r4 n' }
% U+ F: W7 g- _1 Q2 r" \# s7 O3 Vvar SR_1 = {6 e) S! j- d- N# ^$ _3 z2 Q
name: "SR_1", space: "data", access: "RWX",
! O j3 B/ n. r, Q base: 0xC2010000, len: 0x20000,0 C( _# g& d7 t1 K) v3 t( {
comment: "SR#1 Memory (128 KB)"
1 N, A) d3 U: [, t* H- [( L };
3 n. D, `2 D; k- O
' ]0 Z% Z4 p; i' KBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {5 ?5 |6 h. u8 p: ^+ V3 f3 x
externalMemoryMap: [
6 N( ?) X3 Y3 A" o7 s3 a2 E6 m0 K3 n D: R [ SR_0.name, SR_0 ],
' r9 P/ H% w" q( _' I [ SR_1.name, SR_1 ],
0 J8 P7 h8 w. T/ n; V* k [ "DSP_PROG", {
3 |& t& N+ K, P" U) E% j; Y name: "DSP_PROG", space: "code/data", access: "RWX",: o. l/ D, B2 n" v& E s; M$ _
base: 0xC2100000, len: 0x1E00000,
; j/ O) R% H: U' T; P comment: "DSP Program Memory (31 MB)"
0 w( J( f a6 t0 `6 e. d }]5 i1 x6 Q) X( c) w
],
! y5 g& t3 F" J' L/ c% K codeMemory: "DSP_PROG",
?( p) z- a. v dataMemory: "DSP_PROG",) T* n1 v; p( P
stackMemory: "DSP_PROG",; Z- i! T0 U; l1 {/ N) z
l1DMode: "32k",
; I8 f8 C$ }; A8 N) ^ l1PMode: "32k",$ [' ^6 [% c- l' T+ t, Y( d5 s. D# R
l2Mode: "64k"
1 u6 P: y% b Z9 _6 g* n};
9 g( q ^. H$ C: T! }) I# R0 B) {' U Y" s- q6 s9 u! }4 R9 y; P
/*
' ~4 l5 e0 x' c- t# l0 S * ======== ti.targets.elf.C674 ========) W+ c. L$ T: N$ F
*/' S/ Y) m) h& c) f6 z! n' z4 |' f3 p) H
var C674 = xdc.useModule('ti.targets.elf.C674');
# q5 Z: R m; E' P% c; ]C674.ccOpts.suffix += " -mi10 -mo ";/ K( L$ H3 D% n
Build.targets.$add(C674);
[9 H" u5 I5 j! B; t/ B: f! x
k' q, u8 ?; f6 @6 ?- s) @5 J+ U/ w+ G/ r8 t
====================+ c. d5 a: m+ ~9 t
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。5 s$ t; F' ?! b
|
|