|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。9 ~3 ^- j* r1 |; a% e
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:
3 e g' f a1 ]5 p) C) Q1 Q8 L
# l4 h) M, i) W- {' F/*+ M8 X5 m$ q* T9 A2 s @
* ======== config.bld ========
" i% |9 W; }1 \6 e *7 B( J T1 K" c
*/7 X+ R% K2 x3 [4 N; }/ g
6 L. Q4 J9 K, L* D! Q& }
var Build = xdc.useModule('xdc.bld.BuildEnvironment');1 B I [# O- r0 `
) U/ b# F& v; Q
/* Memory Map for ti.platforms.evmOMAPL138
) c: A9 [. K5 Q2 B, I *
7 M, z! a" u5 y1 ]4 o * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
" |+ d- @4 w3 H" t * ------------------------------------------------------------------------
* \- s: F' A6 X; |) E: W2 L0 | * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux0 Z) X2 U2 Q1 k& d
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)* r: c4 }" F1 y+ \
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)0 ^! Q( x. R% m4 @9 k. N, }1 Q7 f
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------1 A' |' p& l* U; y" t8 o& w6 X
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)- D" B. Q8 N3 Y* C5 Q+ ~1 H: H
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) -------- j, }/ m2 P; M" }
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
" ^- k9 I! A- r k* c) V4 s */: ?5 f& D- X X" T
9 }+ A$ u# s' d4 l3 V: @6 b2 h0 ]
var SR_0 = {
7 s: N' ^3 h! D name: "SR_0", space: "data", access: "RWX",/ q, L8 P* }2 a, J
base: 0xC2000000, len: 0x10000,
: O5 ^; L" m4 r comment: "SR#0 Memory (64 KB)"
7 c5 a1 A# [, Z. w };
- Z" h1 ]2 |, @$ H5 x, ?* g( U5 J4 K- A3 W S
var SR_1 = {
7 L( n, ]2 X1 b1 p* r; u name: "SR_1", space: "data", access: "RWX",
) ]4 }7 l( J/ Q' G( y base: 0xC2010000, len: 0x20000,
: H$ A5 p& ]! O3 {! r+ v4 w' r comment: "SR#1 Memory (128 KB)"
) ?/ Z7 h7 X5 t# l };
5 Q$ q$ w3 h) _' N3 P/ N1 S5 g
$ E- z2 A4 ]8 a6 sBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {# r$ ]( i$ g" t. D$ m
externalMemoryMap: [8 c, M" r9 j) ^- D1 T1 C
[ SR_0.name, SR_0 ]," `8 K# z: ^' L$ a/ k
[ SR_1.name, SR_1 ],( I, A! `" G# }# _- _. L- a9 z6 M
[ "DSP_PROG", {
+ l* x3 r! N% K. p) c" D name: "DSP_PROG", space: "code/data", access: "RWX",3 s' I6 M7 Q% h$ W/ M' d8 e
base: 0xC2100000, len: 0x1E00000,
( }! C! v3 \7 W2 A. p- E comment: "DSP Program Memory (31 MB)" e, d/ K9 Q, ^# S; J
}]
' O- D( V$ s8 A# ~ c ],
4 b" Z4 p4 N& _6 @' L codeMemory: "DSP_PROG",, b d0 B! b+ A. a! L8 ?0 m' H
dataMemory: "DSP_PROG",& V1 h0 P9 W/ E7 H; T. C. ^
stackMemory: "DSP_PROG",* u5 _5 n: x* L" `& Z
l1DMode: "32k",
6 A% _9 X4 Q' C3 L) C* Y; B l1PMode: "32k",. K6 [7 X: }0 _! e. R' Q: ~, Q; @
l2Mode: "64k"% U! ~" G4 r9 m; ~
};
6 j* ?# ]: T& o* H/ q( H1 V- J6 Q+ F) V) q5 q5 x7 B
/*
/ [3 o5 {" }5 @$ ~# A* A * ======== ti.targets.elf.C674 ========1 R" A( ~& v8 @
*/
& d1 i1 @6 A) N2 G! e" Cvar C674 = xdc.useModule('ti.targets.elf.C674');
: p6 @, ^* w: `C674.ccOpts.suffix += " -mi10 -mo "; u% f/ n% A! |
Build.targets.$add(C674);
7 b- Y$ [7 ~: g4 v( ^4 e% w
& O; _" N( Y6 B& r1 }- z
/ {/ O1 c; ~. @ E* a* j9 m====================5 A1 y/ ]) t+ L9 p
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。$ a9 x5 |4 X1 E! n/ X
|
|