|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。6 T: a4 s5 ]9 N$ S1 K% J
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:' p% |4 i2 l! i5 B5 j
5 n* w5 ]* b# ^( @" Z( F/ q/ _
/*
; D7 ^0 |1 p- h! }7 L * ======== config.bld ========
4 {# D0 U; r* U9 z4 g3 } *2 M; @; E. R0 ?- o8 N) L) ^
*/5 D U. I, I9 K& j5 t3 D' v# a
2 o. {. o6 \* d+ Svar Build = xdc.useModule('xdc.bld.BuildEnvironment');
0 |. a5 Q) M" G6 L6 e' i3 c+ \/ `; y) D6 r! ?
/* Memory Map for ti.platforms.evmOMAPL138. P' x/ l) m' f: V3 I
*
5 W" A$ n4 A) A7 Q! q% P * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory2 u, D% e) ` r$ ~ [: Z) [) v3 U. g
* ------------------------------------------------------------------------
; }' c; C2 Z% y U J' Z * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
( w2 f7 J; d' @ C, U' C * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)8 `: r% U& \, a8 K9 V8 W
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)" ]% Z7 n( }) D# S' k
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------$ L {% }! l% v* Y6 A
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
. ]0 `1 [* y! B, M" b * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
6 U5 ^! U" n0 G ] * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
: ?. k8 V- ~: s5 A7 X" H7 M/ F: \" k */
/ `! Q6 }1 _5 J
' W- C$ f: n- W ]6 x& Ivar SR_0 = {
& t9 O' _( b$ _: [* b name: "SR_0", space: "data", access: "RWX",! S) I+ A) Q5 n$ Y# f& Q
base: 0xC2000000, len: 0x10000,
6 Q- ~0 W% m( x/ e: w; z; B! r3 S! a. M0 ] comment: "SR#0 Memory (64 KB)": P7 p& z: C: x
};3 \! l$ @9 y" N# X
. J( O& s' e7 C! m$ Pvar SR_1 = {
0 I0 t, \5 p# r. M2 U name: "SR_1", space: "data", access: "RWX",
1 B- ?* p0 y; Y k# B base: 0xC2010000, len: 0x20000,
0 Q" \$ g. z4 f' B; O comment: "SR#1 Memory (128 KB)"
/ {1 A1 M. d+ d };, ]! ]/ q- {6 z* E- e, z
7 H* g: T) E7 z* BBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {- j3 z# e5 h3 A/ k- g& S
externalMemoryMap: [
& r/ E# J; V: I [ SR_0.name, SR_0 ],
, F+ W5 a5 z8 p [ SR_1.name, SR_1 ],6 d/ z: m8 y: P" n% t( O1 c0 |4 ^
[ "DSP_PROG", {, x/ p( g8 I G! C2 E
name: "DSP_PROG", space: "code/data", access: "RWX",
; A0 u- K" m8 B, K) R base: 0xC2100000, len: 0x1E00000,
* u6 B' f% L* ~9 T: d comment: "DSP Program Memory (31 MB)"+ J& \ m; s9 a; o; n2 i
}]
& u. f6 A8 R: C7 g, U ],
9 f h# w; G; a0 s% a codeMemory: "DSP_PROG",
, q0 F1 g/ b* u/ K, [6 w7 h- ?, m dataMemory: "DSP_PROG",
2 P9 d. P' i7 P! d6 _. o( T/ Y stackMemory: "DSP_PROG",
& U; {" `+ ?$ N: S! L l1DMode: "32k",* D7 K; E+ g7 o# |1 {" n
l1PMode: "32k",
6 X8 q% r/ r) ^& r9 A l2Mode: "64k"# h+ A6 k% ~! y% M8 H* A3 m7 w
};3 O9 z. E: S. R/ q0 p
; s A. f6 Z9 n' X/*
3 i8 Y. l* W& p" K * ======== ti.targets.elf.C674 ========- A( X$ i9 ]) r2 M. U
*/
3 b+ H4 M- h7 k: }8 }var C674 = xdc.useModule('ti.targets.elf.C674');
$ v* j1 T( F! fC674.ccOpts.suffix += " -mi10 -mo ";
7 s9 G6 u7 g* b: U& R" T& l) g& \Build.targets.$add(C674);
7 A. [. Q: K& M
4 L9 f) F: c" m3 R5 l& C3 y
0 C i0 B/ V, R/ n! r# G; y6 q$ d====================
7 V2 Z h ~3 Q/ e& L5 M原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。7 E+ j/ F7 y# W* j, l
|
|