|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。& J0 |3 D3 ^% l+ `% I* N$ i
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
$ d9 o" X) t' @% f+ j/ l }2 I+ T" z' l% |& B! n$ { m
/*$ X, v9 ~' h' w" E. ]) q' b1 v4 \
* ======== config.bld ========9 g# M: [1 M' D& M( V3 L( k
*
* T& M: r. E) L G2 x; g */
( X! F) b# v0 I2 V* Y) ?" ^! w: ~6 }) [$ F4 A
var Build = xdc.useModule('xdc.bld.BuildEnvironment');$ K' F* r' L* A' }- X+ b
- k9 n% I* C: J2 P# k
/* Memory Map for ti.platforms.evmOMAPL138
% ^! s& P/ f6 K *) K( S$ v1 S) ^* o! O
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory4 W$ e" C8 k" Z
* ------------------------------------------------------------------------
* n& u. G8 T1 J3 _( X * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux$ b6 W8 t# J( g R0 s/ {, r
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
* Q7 N6 z$ F& p * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)4 g8 g4 t, m9 o$ Q- q
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
. R% J) z5 d) M1 b) V * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
" x. a \0 \: J* q. ]6 X * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
3 [9 n3 o9 N: p& A3 F$ T+ `% U& v3 E * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
3 b/ f# N; L- T9 D */8 d8 X2 E" @0 v1 ~
* j- b6 r, k7 Bvar SR_0 = {
* D) F0 z5 W. ^0 D+ ~0 r name: "SR_0", space: "data", access: "RWX",
' z5 r3 F7 Z7 v) L1 ?7 M# Y base: 0xC2000000, len: 0x10000,
{% p _7 I: l0 o! G, Q2 x comment: "SR#0 Memory (64 KB)". n5 W* y! F" H9 |% n5 {
};
1 e; O g: g3 n! F v7 X2 i2 I- |' D- S k% @
var SR_1 = {
5 w. {& x% M5 f! V name: "SR_1", space: "data", access: "RWX",0 x# U! ~% `' [' U, M8 A* U3 \1 O
base: 0xC2010000, len: 0x20000,
! U& Z# K5 f6 p' z% C% ~% w* s comment: "SR#1 Memory (128 KB)"
# \8 r, X& E O" W0 c6 ?2 B' \ };
0 v9 H- x4 l- o) [8 i- y
3 Z/ ?* u) B& f9 J9 ~9 L V$ o0 }* cBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {* w$ U3 K. Z$ \" Z5 z* l! h0 j
externalMemoryMap: [! x. z) v* V6 G) }* ]6 F
[ SR_0.name, SR_0 ],5 v5 z# h& l# x) t0 K! b
[ SR_1.name, SR_1 ],. d) F6 k" G* v4 w0 d' g
[ "DSP_PROG", {/ G& P* c' w2 b% _/ S
name: "DSP_PROG", space: "code/data", access: "RWX",
$ [+ s$ |, v" u) d& H9 Q+ C base: 0xC2100000, len: 0x1E00000,
/ x/ E+ m% }0 ~+ I comment: "DSP Program Memory (31 MB)"
7 P. i( [8 k0 g# E- A }]
8 A7 J& v5 e/ s9 v7 j0 L ],
# {+ \+ f+ X. n" i3 d codeMemory: "DSP_PROG",
; U, } y6 M9 K3 l) l( e dataMemory: "DSP_PROG",* `8 H& o8 ?" H3 [3 l
stackMemory: "DSP_PROG",
6 w' {( {0 Z: r+ X6 _6 l; w' I6 Z l1DMode: "32k",
6 r8 o/ a2 {" h l1PMode: "32k",
% e$ v2 |" x$ ~. x/ _% H- J l2Mode: "64k"
2 c( M2 s; k U, _};
/ |" P# N7 R! E! \, W& E" L" z
% `" d, ]6 {. _0 \: A1 X/*
: M$ c( a9 {% \7 n! s+ @ * ======== ti.targets.elf.C674 ========
/ N Z% U, g! |- W$ d/ ^ */+ l( Y( F. R8 K9 s2 _' [+ \1 E8 {
var C674 = xdc.useModule('ti.targets.elf.C674');! \, \+ q& f9 s K# Z7 d! `' N& h
C674.ccOpts.suffix += " -mi10 -mo ";
/ W. S* O8 S% s$ ABuild.targets.$add(C674);
0 d' l/ X' I8 g. E
0 Y0 I f( _6 t4 ?" Y- S; U
; I/ E* m* y- k I+ O====================; R5 @, K8 N( M9 e, x( g
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
, O6 u- c8 I% i. S$ p3 b |
|