|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。* m u5 M. K. `
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:2 I$ W1 d% s: e& U
5 A o) m0 J! l% f3 |6 Z
/*( _1 Q u- X& R* A \
* ======== config.bld ========7 n, w7 B# d' c( M) o
*- F5 m- ^6 T9 i1 v( a3 p
*/
5 R t; A! J' q, N6 @4 Y7 n* q u( C1 o v8 d0 R; Z3 z7 o# a
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
; q* b1 g1 F4 G$ v7 [% P( ^( k7 R: a" d, q5 b% m& H( z Y
/* Memory Map for ti.platforms.evmOMAPL138
) t+ T: o" b2 J *
0 T& o4 o( Z" X- }" p/ j2 j * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory) j- G- V! p8 b, _1 V8 W: D
* ------------------------------------------------------------------------
& g; N6 Z2 P( [0 l+ _! t * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux! o2 M( U- _! k e0 t: _/ n
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
3 V: r& G! h# z. W * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
1 `' w- ~% i5 [% ~, t * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------( t% a6 O) K+ a+ j; m$ ?
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
" V" O: i5 X: \, ~# @7 b+ J * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------4 `8 G$ R: Q" [! c* w8 i# `
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux+ X/ Y' M3 W6 o4 _/ V5 [
*/7 G: w+ R: o( u; W) }
/ Y# m4 H9 z$ p/ y5 s% bvar SR_0 = {- i% z- @2 |+ k) k
name: "SR_0", space: "data", access: "RWX",
' H3 z/ d2 i1 M# V7 k base: 0xC2000000, len: 0x10000,( W. f/ @0 A1 @2 x6 _& h
comment: "SR#0 Memory (64 KB)"2 u, b4 {6 w' a. {6 P5 |
};# E$ ~8 j r1 q+ g. m# P
& k6 r% v. Z5 M" B# j# |2 c2 jvar SR_1 = {4 S8 L, F( G8 e, l7 w
name: "SR_1", space: "data", access: "RWX",5 O8 O1 y) w' e/ ?# C
base: 0xC2010000, len: 0x20000,0 Y1 u* T, Y& j& z' N2 P- z9 n
comment: "SR#1 Memory (128 KB)"
! q/ N( W6 f, t };. D0 T* T1 o M
" [0 i# [: j' p6 g) y3 `
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {+ ^: A& v6 S. o+ [
externalMemoryMap: [
) D( b7 `8 g6 v2 A( R! r [ SR_0.name, SR_0 ],% J% j0 v0 z8 J* D+ ~/ d
[ SR_1.name, SR_1 ],
+ P1 g% {4 \$ {# Q% M4 ], C [ "DSP_PROG", {
# Q1 J/ F! y5 o7 k6 R: \/ k name: "DSP_PROG", space: "code/data", access: "RWX",$ Z# R, @2 \( j+ a- ?+ E. x! r
base: 0xC2100000, len: 0x1E00000,% h" e4 E2 r- G% u r
comment: "DSP Program Memory (31 MB)"
" o0 s4 U; u. u- P! A }]
) J, z) S: I% Y ],
4 @# Q. W0 ~- d: u% @$ A8 w) c codeMemory: "DSP_PROG",9 d2 ]' r4 P0 i* @- F% `) [! q" K
dataMemory: "DSP_PROG",' F. t7 p/ a8 |6 w
stackMemory: "DSP_PROG",
% S2 w2 S* L1 c& }) H* J l1DMode: "32k",6 v) j$ Y- o- a8 U* a+ B& Q
l1PMode: "32k",
; R' L; X( A( l5 ?3 n" ^ l2Mode: "64k"
' I; a% d" M8 i9 b# V1 b) I};1 b7 h) a7 O8 k6 b
" _1 I; |* i- Z8 L1 O, P' H/*
$ e& _1 N7 p" I. w" f ~ * ======== ti.targets.elf.C674 ========
9 I% ?- n" C( x' ^! F$ b1 d */
5 Q# k9 `% y) {& t2 Xvar C674 = xdc.useModule('ti.targets.elf.C674');( ^4 {; q7 M" T& f' D' ?. e* r. n5 g
C674.ccOpts.suffix += " -mi10 -mo ";" H6 i+ V+ a" F0 n
Build.targets.$add(C674);
" B: J' [( W" _/ L" ?7 k5 z
7 o n0 Q4 ]/ z
9 }8 K4 Y' I d; s====================
9 i" _4 W( Q) Z+ J8 [2 P' e. U! ^7 H9 B原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。. M4 U8 H7 x/ K; n- e- r. ]6 b
|
|