|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
2 B `/ c# E. u' l 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:' f: v" i# @$ T0 o
/ q. G( v/ x9 K W( ^: c6 c/*
$ Z6 F% P. Y* r0 F * ======== config.bld ========
9 `7 L! \/ s8 z# ]. J+ H; @ *
0 K. I2 Y! j" g" V* `/ [8 u */2 k! I( m6 g U& x2 {( i
, }: \3 Q( x& l0 i" A Y
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
3 ^! v' P, i; u. f$ i* }1 |( r; s0 F& I( R; V
/* Memory Map for ti.platforms.evmOMAPL138+ W% A8 A) f2 u- o9 ]
*
" G# x4 l7 x( U1 T9 r4 @8 i% { * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory x/ \! C. A9 R3 O `
* ------------------------------------------------------------------------) D0 O# m1 m$ y7 D$ W3 j& J
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux- Z- ^/ Z$ n5 y6 n# _, j
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)) N6 G R" S3 _
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
% Q$ Z- o+ M1 W9 p6 m1 d" | * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
, E* u& c. j. C* l% ?6 P# c% m * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
( n% v. X' @: f3 _8 L * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------) M4 Y* r8 e0 z. R( X
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux/ [2 H. M, H( E$ @% Y. P
*/$ A. {+ W4 ~3 V0 {2 w
" g. @% V% w3 X: b! M! Gvar SR_0 = {
/ A) n/ [3 X, e+ h. B6 V name: "SR_0", space: "data", access: "RWX",
3 y: x" z4 N% C `/ K- \* h base: 0xC2000000, len: 0x10000,! j- K$ C5 p7 R0 B( S) I5 A
comment: "SR#0 Memory (64 KB)"
& Z2 \2 x; t! x };: ?. f' q$ o7 V3 a
' L4 }6 F' X3 I
var SR_1 = {
& O: b3 l6 P# L3 a0 r/ J6 g6 ` name: "SR_1", space: "data", access: "RWX",4 B# N$ x5 x3 k, V& `& y% f
base: 0xC2010000, len: 0x20000,/ x% W2 [- H8 b' p J2 U
comment: "SR#1 Memory (128 KB)"" [6 Q, n" x- B# b1 X
};
^9 m# G7 W" U- ~- u7 F0 V( ^3 v) l
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {; r% ^) r$ r" a& {
externalMemoryMap: [
# G2 Q9 y, @* `: G4 G [ SR_0.name, SR_0 ]," z( Q. U. L9 N/ Y7 B I/ [4 D
[ SR_1.name, SR_1 ],+ H$ n$ @, y7 s N; l% v: A- F
[ "DSP_PROG", {+ C: N) |+ D2 L% w: f5 u
name: "DSP_PROG", space: "code/data", access: "RWX",; x% b* K2 y+ \" H u4 d0 t
base: 0xC2100000, len: 0x1E00000,
- a3 B. l1 e. p$ \. D comment: "DSP Program Memory (31 MB)": S/ U4 \% P2 u( B* ~2 u$ y8 i
}]
/ M2 m5 l7 O, j ],9 | p! q/ o5 D0 P: k8 Z1 {
codeMemory: "DSP_PROG", n0 h! n8 w& O) ~, U
dataMemory: "DSP_PROG",
& t7 S5 R8 i2 O1 F1 g, T stackMemory: "DSP_PROG",
\: X1 e' E# W, V1 M2 e l1DMode: "32k",
8 G1 o# ^3 k7 w# ` l1PMode: "32k",$ ^: p; l) R. U+ x1 X
l2Mode: "64k"
: {% G; _( K: X5 u% P};
0 H3 D' j" d- C3 e
5 R1 S, o N7 i8 p+ u2 U/*
$ ]4 q3 p5 l* ?+ B2 G" G1 a * ======== ti.targets.elf.C674 ========
! ?# e2 B! H4 d6 S a3 @# Y */4 z# r, O$ f+ T+ D% a8 g) ?
var C674 = xdc.useModule('ti.targets.elf.C674');( O5 N( V; c2 A; a3 Z
C674.ccOpts.suffix += " -mi10 -mo ";
) V# i. z) ~# ]: b" |% u K! EBuild.targets.$add(C674);+ i7 e D d* ^& I
9 I) G$ k4 @3 ]9 d$ _
Y( L( K* r+ k====================& g6 U6 X4 k# n* ^
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。% @ B* K6 s! q! |7 f& k R7 N
|
|