|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。4 a# r$ N' j3 n) b+ d
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
9 Z; }% c8 X( X7 R# P) c4 i7 r! `0 g0 E0 _
/*. ~1 \0 g( {$ O4 M
* ======== config.bld ========
5 G- e {! I- {7 @ *
, ]: K; u. Y m* _4 a4 K" r */
; b' Z( }* Y0 `, O8 }5 M7 n$ \& _* J! D/ v7 m' W+ d# p8 t
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
. B* X% [! m! q
" N7 o/ w" R, r/* Memory Map for ti.platforms.evmOMAPL138
- E; A8 n9 E, U *( j. I) ]6 J/ E }$ |
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory- s+ u8 Y0 u3 G4 ]. o* E- m' H
* ------------------------------------------------------------------------
& y. I1 ~1 g+ Q. n/ x. c( m1 _ * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
8 S: q; G6 z8 L * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
2 U: I- q! m% B1 H, [% t * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)4 \) c6 K. r# p* R w w
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------! t% A. ` {' S9 B. J5 ~0 v
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
3 _; S' }& e' H4 o9 o( n * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
" |& n+ u, Z8 R; | * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
' s' t! y/ X% a; \$ J */
+ E& r. E* C3 e) r& M8 [7 b1 ^+ `: A" ]
var SR_0 = {6 {5 I. `! O+ P5 X- w' E2 M: ~ Y( h, c
name: "SR_0", space: "data", access: "RWX",
- a8 L3 m v' \5 { base: 0xC2000000, len: 0x10000,5 t$ y' P7 B1 X# B
comment: "SR#0 Memory (64 KB)"0 X7 I' G" Z+ {! _/ a3 w
};
7 p$ r$ p/ ?! f O3 H) B! l7 `, z r W5 e* e
var SR_1 = {
) ~5 l5 f" I9 Q0 s name: "SR_1", space: "data", access: "RWX",& e1 p z8 I& N1 s8 V, E! m
base: 0xC2010000, len: 0x20000,
" X3 C1 q& O" B: i comment: "SR#1 Memory (128 KB)"( u9 o N3 J, t4 b9 e
};
7 B! y( j# y; B2 b$ e5 J8 d1 {
8 i6 @8 e) }' m! w2 q' y, YBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {7 }, f- m7 q C5 _# r
externalMemoryMap: [
: B! `- f' O/ b. z1 U% d [ SR_0.name, SR_0 ],* Z: M J0 J" X7 x5 ]( v8 q6 e7 B- q
[ SR_1.name, SR_1 ],
( f+ u3 J# h0 h) G$ b$ r [ "DSP_PROG", {
$ [# r; |, u! |" @% J0 L name: "DSP_PROG", space: "code/data", access: "RWX",; V2 W8 h6 D! k' i! M
base: 0xC2100000, len: 0x1E00000,9 D5 m0 R: o8 B# J$ c
comment: "DSP Program Memory (31 MB)"% Z6 j" X: x- `
}]
/ M. R+ {3 t0 r0 p. | ],6 t$ E" J w1 U% Y4 J* H# X
codeMemory: "DSP_PROG",
6 s1 P: o# _9 u: L* v$ S dataMemory: "DSP_PROG",3 i2 M- k' T) s* {! e
stackMemory: "DSP_PROG",6 T) n# o# v1 D6 L6 ]" z) Z4 S
l1DMode: "32k",
- b6 \% I9 ]0 S- j l1PMode: "32k",4 }$ r$ Y% b/ a0 R h3 i3 L
l2Mode: "64k"
9 E5 ^. b* s9 e, [' ]) y};$ p. g* X; f4 o; b
# z+ q$ ^4 s4 a' @7 O9 D; ~7 A
/*
% y; v# p: U& o9 p * ======== ti.targets.elf.C674 ========
* \2 f; {9 h2 Q$ ~ */+ e: Y' p" O# \6 Z6 M5 v9 Q
var C674 = xdc.useModule('ti.targets.elf.C674');
' u7 ^) J2 F9 j' |: VC674.ccOpts.suffix += " -mi10 -mo ";
/ V) O4 R% c+ o* I8 ~. oBuild.targets.$add(C674);
! K6 D# `# u2 a" Z2 E( N9 X( j1 N" v! v7 u( r" L
2 }2 @* M/ K' R- z! |# U1 B L: n====================
8 v" C) ?3 j/ s. p2 o3 O8 ?原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。1 a+ ?: a- b7 Z4 l6 I& T
|
|