|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
$ ]' U" a) `7 ?3 [ 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下: j7 r3 ^5 c5 u. F/ e
0 A" o" E* ?6 x0 `1 s/*
& w# T5 X! U, g/ s7 F1 D$ R2 E4 Z5 W * ======== config.bld ========
s6 s0 \' O# p: W* f *, i H6 [6 b7 K, z; z9 U5 ]+ q4 K
*/
6 g2 p6 \/ M9 }( Q& a" d5 v4 F @4 |% `1 ~# r2 Q
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
7 a/ n4 _- q& v# J7 D, b
d8 y- _& [ Q" a) k; J/ h/* Memory Map for ti.platforms.evmOMAPL1387 @, U0 X& @0 h
*; d4 F% P x9 D j& I' i9 Z$ Q* N
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory! w0 }4 s( F; g) \) @
* ------------------------------------------------------------------------
5 @. h5 u# L: ]2 E7 _4 U5 r * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
7 _3 r; [. V- n x6 {, { * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
& s3 Y: v0 l0 @& @9 K% ` * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)7 n+ S. `1 L; B" i$ z) [
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
9 l3 _- O8 S8 f0 K * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)1 n' x2 w, K- A' M- v7 K9 z/ l) ^
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------0 g8 ?! ]6 B; K* u# S& f) ]
* C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux7 v$ _. | M! ]7 v( D6 n# l: G1 `
*/; E) }1 g6 b/ o
; z# _! j3 f, j* M; Mvar SR_0 = {3 E0 ^! V# s3 j
name: "SR_0", space: "data", access: "RWX",
' z( S* O! _! P base: 0xC2000000, len: 0x10000,
6 Q6 r$ l d; u! |: P3 t* k comment: "SR#0 Memory (64 KB)"
7 b, B: ^6 Q# Q7 F, E. s/ o' _ };8 ?. n7 L2 x) n% m+ r
) e' j- r/ Q% ~8 g1 }var SR_1 = {2 }1 O$ F1 v4 Z7 r3 Z' D
name: "SR_1", space: "data", access: "RWX",
. s0 {* ~& Z. x2 @ base: 0xC2010000, len: 0x20000,
# }4 Q' M/ C8 D) z comment: "SR#1 Memory (128 KB)"
& c5 l, ]) ?) D };8 D7 }2 v: r' d
( ?5 U- P, j) ]; a/ P6 G$ `Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {. B; @- E& @# q8 ?7 }
externalMemoryMap: [# h" @1 V7 I; T, l# g
[ SR_0.name, SR_0 ],
- V0 K, k$ w3 J$ ?$ Z" m( l [ SR_1.name, SR_1 ],1 J) s. C* ^% k& v0 }8 V
[ "DSP_PROG", {
7 e( Q* D, g" A- D name: "DSP_PROG", space: "code/data", access: "RWX",! s w( Y5 J7 X1 S+ w9 W
base: 0xC2100000, len: 0x1E00000,3 b# V' F: o9 `6 H- g0 \% v
comment: "DSP Program Memory (31 MB)"( {/ [. {6 K2 o& N' q! T2 j
}]
" u3 F& j( z! L! l8 p n ],
% a6 ]9 u, B, f& e( X! H# ~ codeMemory: "DSP_PROG",9 n, M3 a7 A% w) Y% L3 |
dataMemory: "DSP_PROG",& ^/ |' G7 K3 @8 H }( Q5 i2 ^0 M( j# ~2 U
stackMemory: "DSP_PROG",# E8 ]9 r4 K, @/ d4 s2 x
l1DMode: "32k",/ B- a } W. a% l
l1PMode: "32k",7 x" @3 C0 x: M! A7 g) x J; k5 H7 C: @
l2Mode: "64k"! A1 {% e; S; O
};( J" _ T1 d+ ?* k
+ I( }/ g0 |' C2 S8 E. g/*; B* Q7 q! w/ K- f p
* ======== ti.targets.elf.C674 ========" c# n& B0 d2 S
*/: A3 k6 l9 A; l/ r
var C674 = xdc.useModule('ti.targets.elf.C674');
$ z0 ]6 }0 w, W4 D9 ZC674.ccOpts.suffix += " -mi10 -mo ";
2 I5 W3 q9 x4 T& y- s7 hBuild.targets.$add(C674);
, [% l/ D0 F/ u" b6 M9 q" c% B# X& @& M
$ ]$ L5 |' W/ q/ g5 \
====================
& O5 j; v7 m: E8 w( W原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
$ y, y6 B1 |5 f' C( M/ A; j! T |
|