|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。, g( O- H, \8 }5 x' I* _; o
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
: w% D) [! p C8 p/ E0 I& G# W# R
8 r) w, H6 i! |. u' ^& u/*
8 K4 y6 [% Y) t6 p. p( \) A1 A * ======== config.bld ========4 O3 l7 i+ h8 L
*1 J' @$ a! `; e" d! O# j
*/
) ]8 ?* i6 E: E e8 q
1 N7 B) q, \6 t! r' Wvar Build = xdc.useModule('xdc.bld.BuildEnvironment');5 V3 Z' V4 u* ]1 M! n* Q
: A5 h! z& t v
/* Memory Map for ti.platforms.evmOMAPL1385 Z6 f/ g# G8 r
*; }- e1 G1 m6 N2 P- F; _$ Q
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory& m& t0 `# u1 O' _6 P# _
* ------------------------------------------------------------------------+ F( ~; C) @( B/ L
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux5 E3 R W4 j5 E3 r1 ^
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)& O* s1 B* F( Z5 a+ R' Q/ H: c
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)3 a( Z, j8 s0 d1 m2 @
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------$ A" R9 L" ?' z( |' u
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data): j8 I2 X- F' [+ F7 ?: t1 B+ e
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
7 l+ e* l% R5 w4 h$ ^ * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
0 @+ J# U9 W& a; X+ l& T# Z, A */
% s& m2 X# w0 \! v/ W
k" |! S8 j9 o& ]8 I: o! ]var SR_0 = {
$ j( v$ w) Q- P8 D7 k% E name: "SR_0", space: "data", access: "RWX",8 r2 H/ f }* I" L! _; \
base: 0xC2000000, len: 0x10000,3 r& j5 p, r) x3 n, d; o
comment: "SR#0 Memory (64 KB)"
: k: K+ b4 W+ Z, ^, `7 f };
9 R8 c7 U0 ?% [* D0 y: B5 X/ D) n$ {+ {+ D; `+ D$ k+ [
var SR_1 = {
! k/ A7 l" M' y7 H% f+ U name: "SR_1", space: "data", access: "RWX",
' `. e( o; J4 v base: 0xC2010000, len: 0x20000,
, [, i, {% U* T3 z4 a/ ~$ L comment: "SR#1 Memory (128 KB)"
! _2 f( T( y. X! W! i3 ` };' n% r) C, c/ D" S7 o
1 [. R' f4 X) p' k$ c! `
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {6 K5 U9 `1 j5 Y! ]- O. p
externalMemoryMap: [
, |+ F0 f. h$ X [ SR_0.name, SR_0 ],
; b: W7 N: G# {8 _% D [ SR_1.name, SR_1 ],. B3 {$ A1 Q, I& a C
[ "DSP_PROG", {6 |2 i- p- ]: H. x
name: "DSP_PROG", space: "code/data", access: "RWX",
) c9 V# f( l2 x3 R' ?' w" c A base: 0xC2100000, len: 0x1E00000,
1 k+ D/ z, o$ g comment: "DSP Program Memory (31 MB)"
q' t3 O n% _ }]0 n' `7 M7 V+ w5 G
],
/ @; H! `& H2 x! c7 H7 a+ h codeMemory: "DSP_PROG",
7 N4 X) L: G" ?7 u dataMemory: "DSP_PROG",
9 d' w5 X+ Y3 j4 R( h1 x) d stackMemory: "DSP_PROG",( z4 T: w! }8 U+ X! t
l1DMode: "32k",: I' y3 \' T. w0 `9 H% S' G
l1PMode: "32k",) y( G" x$ k+ e) D+ @+ s4 K
l2Mode: "64k": G& ~ V% o( l: j# n. @: h
};
5 d% w, c3 y! V2 b- q9 Q9 Y5 t) T* R( X8 X
/*
6 y5 G; ~( z( h+ h * ======== ti.targets.elf.C674 ========
& X' B$ F: ^+ s' c6 z- K7 | */
. \% e4 f5 B5 O0 X9 Ovar C674 = xdc.useModule('ti.targets.elf.C674');
{% V d" S6 i9 ]( J7 R6 |C674.ccOpts.suffix += " -mi10 -mo ";. [ w6 b4 a2 u* D# A2 m, [
Build.targets.$add(C674);( y3 `9 G; P3 D6 N5 L
% a, r3 X& S2 k: h0 A: t/ ^) ~# q, j7 B- n" U
====================
/ l& G0 G. p2 e# y原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。, G6 Y! E7 d3 N
|
|