|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。6 S( F7 v' i: Z' ^0 V1 a4 b
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
/ z- W+ j. y$ p
& r! @# N4 F4 W; |! O) s/*
0 C7 C$ L ~( ]/ E * ======== config.bld ========
6 F5 k" N. h0 B4 y) a, O2 q! _ *" K/ y& ]' Z Y+ ~
*/
" e2 j1 u) `/ P0 G3 l
9 i. I3 n$ p# Z/ D+ W) z" R! ?var Build = xdc.useModule('xdc.bld.BuildEnvironment');& `( Y6 ~! s7 a4 G; ]$ i1 z
2 q# a7 ^$ g) \$ R6 V; s! j6 B# G# R# _
/* Memory Map for ti.platforms.evmOMAPL138
6 M% v, v, z6 U/ t \$ B9 j *. K- C* _5 ]( y7 _" ]
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
% f7 p$ L# _+ O/ v7 N- C1 p- ~ * ------------------------------------------------------------------------
5 b t1 P2 J) b. f( i( l * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux- J5 G$ G2 M9 m# ]. w
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
+ a$ g' c' F4 N: c * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)! i$ i3 v% t- w6 H% J, o, d
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------# m3 K% y+ M. ]
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)4 p9 A/ ~' w1 B0 p7 V+ Q. c9 W
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
# j! z! R% ]$ j5 t * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux8 W3 m/ C8 `. k
*/
3 n' e+ l, d2 x- j+ q/ \4 h5 s. {2 Z6 G9 ^- w4 \
var SR_0 = {/ K: n$ J; v% H
name: "SR_0", space: "data", access: "RWX",
. h& x3 n4 f9 ~# B base: 0xC2000000, len: 0x10000,
/ j7 h. ~0 U* R% q# ?2 L9 s n7 T. b comment: "SR#0 Memory (64 KB)"
0 x* e S6 ?; m/ a0 v$ I };
! H% H+ O0 j8 l/ g9 [. ]) k; s! \" @. V8 k) S1 D+ f, f+ q
var SR_1 = {; J2 q6 v* ?, a+ f& S$ u& B
name: "SR_1", space: "data", access: "RWX"," Y7 b" \$ I9 \( P- G2 c8 _
base: 0xC2010000, len: 0x20000,
% G6 x. Z3 k; r! c/ R5 M comment: "SR#1 Memory (128 KB)"
: k/ r8 U' Q$ R: n6 X, \+ Z7 i4 e* L };$ t% {% u: ]8 k6 ^$ T
3 h& w: s% C7 R% N# t N, \Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {6 H& _2 q( {, Y6 N
externalMemoryMap: [6 d7 m0 l o* T/ d, l$ f
[ SR_0.name, SR_0 ],8 {6 j, C: }$ G
[ SR_1.name, SR_1 ],
5 }/ `! e1 W5 o+ ?) K2 \: | [ "DSP_PROG", {' a* o- i' e! V0 d6 i. Z: m! [
name: "DSP_PROG", space: "code/data", access: "RWX",6 L- A- l# F) |% \- y. Y6 T
base: 0xC2100000, len: 0x1E00000,% i) k' b- u" ?' j. ?! `2 s
comment: "DSP Program Memory (31 MB)"
4 v) n r v5 E }]" w5 m9 l7 ~2 T7 i4 a' K- W
],
6 u; ^/ Q! `* g& A codeMemory: "DSP_PROG",0 C0 V6 q: z9 r$ F
dataMemory: "DSP_PROG",
& o/ J; N9 c2 y) L! v- K stackMemory: "DSP_PROG",
9 ^ j- r$ o: u: E/ Q$ U+ s l1DMode: "32k",; V9 u4 w9 V' V* b
l1PMode: "32k",
5 R8 M M, l0 u) s) ?$ P; ` l2Mode: "64k"
2 I/ x3 ?+ R# D4 d# M& u# B: x* c/ o- t};2 B' M# L. Q3 ^4 T4 J+ @
5 l( W/ W4 @# H% k
/*
2 @ t1 m5 g: D0 y* O$ B" J# K * ======== ti.targets.elf.C674 ========
1 f0 m, h- V3 O5 K; L! V */: O* |, U+ l T1 s
var C674 = xdc.useModule('ti.targets.elf.C674');
3 b3 n5 j/ |4 E# D' p8 DC674.ccOpts.suffix += " -mi10 -mo ";
o* l5 M5 w3 S- s9 q- {' KBuild.targets.$add(C674);
" E) O3 }( A, Y0 X2 g2 F% Z5 t/ G% P# x3 H) z; E
4 [* h$ o+ U1 e4 C1 L/ e( h
====================
5 d" X. \& n V4 a原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。+ b6 w3 _. D: l1 Q" J4 g2 e. f
|
|