|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。: ^- P9 f0 _" {2 K
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
" d; f2 }) T8 ^0 l$ K+ V- I" C
! K' h. Z! [* B( D" ~+ @/*
/ I% e6 e, K: S * ======== config.bld ========1 X2 c% j6 j/ c, J+ P
*$ K& O0 H* @# s% o0 N4 D/ H% g' w
*/
& b0 H+ b3 a$ ]% t. ^+ k% T6 m1 Y) H( u2 g! g# m% {
var Build = xdc.useModule('xdc.bld.BuildEnvironment');5 [ g4 C4 K/ X
e* @. Z0 V$ ]1 i
/* Memory Map for ti.platforms.evmOMAPL138
5 U1 @6 B0 v, {# V6 X e *
& Q, B1 K5 _9 R' g' s * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory+ R( }- _: r5 N
* ------------------------------------------------------------------------! B6 ]- f3 n. C) _3 j3 I6 i/ n" m
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux* n1 o1 ?4 [3 ~+ m- Y, ~
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)8 y8 R1 U: p' s# f( B
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers). k/ n2 A+ M6 F
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
5 ^8 M2 x, B& q+ ]$ C/ } * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data), Z) S3 j- O) g+ }) p
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
! }4 ^2 i& b2 E5 ]' g * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux- i4 {8 r! ^( a8 j/ K/ Z. _
*/5 q9 A O' c% N
; E l6 D6 P) m" g2 u
var SR_0 = {
* n: k8 n6 I% D5 |8 i4 `/ d name: "SR_0", space: "data", access: "RWX",
! K/ l9 V0 G5 |# K9 h" j7 Q! D base: 0xC2000000, len: 0x10000,
3 P4 {: z- B3 E comment: "SR#0 Memory (64 KB)"
1 R# E8 T9 M c( o };: m" T: ^ C5 z
# T$ @; {) M: Q% o- W4 |6 u
var SR_1 = {; S( g+ b- a9 |: T; M" `% q
name: "SR_1", space: "data", access: "RWX",4 L. ]. D. F3 L6 Z
base: 0xC2010000, len: 0x20000,
r) ?0 i# q2 B0 W2 W comment: "SR#1 Memory (128 KB)"
6 R8 F# D# ~1 g };* |' Y9 x6 [+ V& r* l
( n8 n: ?- W- i; O! F: A$ G2 jBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = { Z) }5 z9 T' G0 u9 e
externalMemoryMap: [
( ~9 ]1 X3 E2 Y; Z, e5 X1 D [ SR_0.name, SR_0 ],
1 d! d0 u9 c: h0 M [ SR_1.name, SR_1 ]," S' ?, B5 |3 Q) u4 ?* f! e2 K
[ "DSP_PROG", {- s. k" v8 ^" L$ P! n2 S$ A2 q
name: "DSP_PROG", space: "code/data", access: "RWX",
9 n3 p! {. J0 x base: 0xC2100000, len: 0x1E00000,; s3 U8 l$ Z1 W& y
comment: "DSP Program Memory (31 MB)"
; z$ b* z5 p; M6 z2 T3 Q }]1 Y+ W6 l) _6 W: Y9 [
],: t0 o2 R0 w( H, P/ k
codeMemory: "DSP_PROG",
* W/ d4 A5 e' A5 Y3 P; T/ f; C dataMemory: "DSP_PROG",
a" a1 p( V! A. V stackMemory: "DSP_PROG",2 A2 e4 g; g5 Q& E/ T% R# N
l1DMode: "32k",
. L1 w# S& O4 C5 |" H8 o l1PMode: "32k",
8 X: t( X# x! X+ a- ?$ z" X; Q l2Mode: "64k"0 @/ ^: ~( S! Z( V8 X1 C
};7 Q$ W7 ^! L( y; X* ]/ h' F
1 @( A- c) o- O) x' ]/*" f* Q2 f D4 A- t& |# @
* ======== ti.targets.elf.C674 ========7 `; G/ V) V7 K" I' O
*/
( _9 S a2 [1 g" c: `var C674 = xdc.useModule('ti.targets.elf.C674');* }/ N/ O# }: r: U
C674.ccOpts.suffix += " -mi10 -mo ";
- V1 p' n5 x& kBuild.targets.$add(C674);
, T7 G" W. k$ g N2 F1 \8 Y- y8 [. P; l$ V5 N* P2 P, I# K+ W
/ m5 v+ [9 e0 ?1 u1 { i5 \====================
$ Y$ M- r+ A. l" i; a原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。 \7 V6 N7 A" a) ]/ a' O+ ~
|
|