|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。2 k! |2 K/ R5 O h& ]& i. Y
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:3 u) [# Z7 X5 [
) @/ n1 B9 {3 F+ ?4 x
/*. y6 f4 }9 B2 E- q
* ======== config.bld ========
; }9 e! J l" f/ ` *% X3 I) U( `' S5 I5 p& B/ v/ L' ]
*/
) l' h2 h% N b h
5 i( h$ X& V& p0 kvar Build = xdc.useModule('xdc.bld.BuildEnvironment');
: U7 Z% W; D/ Y& s; W: M
4 J k; {1 ?( t/* Memory Map for ti.platforms.evmOMAPL138
' W- }% F7 }$ w$ x& m4 ^) X6 k *0 G* e" _6 J, E4 i& S) ?# ^* B
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
& E9 ~! J) ^) L( ]* K * ------------------------------------------------------------------------
8 a5 J* N3 a* g1 k( L; t- k * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
+ }) q0 [ X8 ?% |5 f * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
0 x* P* p2 q$ m * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)3 {# l3 u7 S, s: ^
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------- K5 l2 G" T0 j
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
9 ?! T7 o' R, f% M/ o# ^9 A * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
7 Z0 O, g; s, V* x8 x7 x i * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux" ?5 t4 U: E7 D0 M
*/
; |5 z1 K+ e/ j! a7 ~) K5 n& d' n1 W/ o- p4 b
var SR_0 = { l/ {/ B2 d& I+ t; R
name: "SR_0", space: "data", access: "RWX",
- u& O* M. L8 _ base: 0xC2000000, len: 0x10000,% B% F7 q! D2 l3 l u: M
comment: "SR#0 Memory (64 KB)"8 P2 m1 t3 \% V" @+ M. m
};. g; u1 s: \! X- {+ _ m
3 i+ z2 [2 w) s
var SR_1 = {2 M' c: T% h$ W! n3 g
name: "SR_1", space: "data", access: "RWX",
$ ? Q2 n9 G1 E base: 0xC2010000, len: 0x20000,) w1 F) r5 l0 i" X
comment: "SR#1 Memory (128 KB)"' K0 J4 Q' b4 y
};' ~8 f/ \2 M9 K
( Q' p I* \6 w7 c+ d( X, G5 ^Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
# _* ?# N. t8 \: b externalMemoryMap: [
# c% r9 ~) X6 r8 F9 s. u' m$ I [ SR_0.name, SR_0 ],5 _+ ^ h5 _: @' I
[ SR_1.name, SR_1 ],% _( p5 c4 z- U2 ^# H
[ "DSP_PROG", {4 k$ d1 [9 n, p9 t
name: "DSP_PROG", space: "code/data", access: "RWX",7 k7 Y" O, f" A
base: 0xC2100000, len: 0x1E00000,
J6 w6 I1 D9 B* | c comment: "DSP Program Memory (31 MB)"3 p- R& k, e5 X2 r& y
}]
/ N( ~& t7 [4 b# E( [. c: @. J# d ],1 o, Q+ k! I' u( v9 i; y( M" ?
codeMemory: "DSP_PROG",
, }9 r) p9 M; T4 G5 u( \ dataMemory: "DSP_PROG",
C& j$ a* ^& G+ m/ R$ m stackMemory: "DSP_PROG",
; D( i Q1 ]( v6 i: q! n l1DMode: "32k",2 k* p ]5 d ?( Q
l1PMode: "32k",
. t3 g2 F; l+ z* E+ X) I l2Mode: "64k"1 T0 T/ J/ z! p6 ~. ^
};. w% i: l$ H7 c0 S& F, W
0 d: T$ X3 a4 u/ I6 L/*, ^1 A1 |9 s( U* ~9 E0 W
* ======== ti.targets.elf.C674 ========1 }8 W* D6 i) k8 x7 k: ]
*/
* W" }; b- M0 G$ D( Y: x. ?var C674 = xdc.useModule('ti.targets.elf.C674');
8 U4 O5 e5 B1 a" j' iC674.ccOpts.suffix += " -mi10 -mo ";
+ f4 a8 m2 p) n# h/ [Build.targets.$add(C674); ^# I+ y; U9 Z- Q: {- G# `
1 l0 e* J" i3 G# b" k: X4 z
7 w+ r7 w2 Q+ {6 m====================
& `4 x5 z @& H$ E R$ `6 q原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。1 C) J- u2 T+ z0 h R8 `' C1 _
|
|