|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
( S3 u6 N' l B/ h9 F) J 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:9 ]& P# t1 c1 |* w+ r) ]$ Q
: K0 k5 E8 y u. C; n
/*5 l1 F6 o! U! I6 T* r5 D
* ======== config.bld ========: H3 T* L( c" @0 w
*; V# u5 O9 P5 n8 Q: a a- H# Q
*/
6 V$ q+ e# p: r- w+ C2 u, p+ w$ }# t1 t5 K+ k# }4 _: Q2 t, h! T u
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
/ p, F0 [! h& c' V
5 ~ |- E( m5 N6 Q: i8 d/* Memory Map for ti.platforms.evmOMAPL138
2 d O; N1 k x4 F9 f D *
- G, F* a- j2 \4 D1 l7 }( E3 H% ` * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory3 I( Q3 @8 M( A |& C6 x
* ------------------------------------------------------------------------
- x! l7 L; T Z * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux( V0 @' ^: l& E" h
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc), E+ Y2 U/ {: P# K A2 V
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)0 r: j7 N# e6 D" V1 S
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
3 ~6 Q8 N8 C' d * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)+ H0 }8 c) U6 c$ f/ Y
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
+ W, c" y( A) p8 |% [3 o) Y * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
% s& `! d+ ]# b/ q; c. J& z */
8 P' v, E" U' ]- }$ x$ N' z8 |3 A, `
var SR_0 = {! \6 Q2 m# U3 C* @( p' X! ?/ z* O8 h/ ]
name: "SR_0", space: "data", access: "RWX",; N# v* e/ D, C' h
base: 0xC2000000, len: 0x10000,( j% T2 k4 \3 k, v/ u* M2 v
comment: "SR#0 Memory (64 KB)"0 W; ?/ J8 U. O7 o# w' |8 O
};
7 \2 y" y4 l* F/ I9 ~5 B9 u; Y2 l+ ^& b; _- ^5 p6 D/ O& n; b2 R! I
var SR_1 = {; ~ w- u9 b5 c) }
name: "SR_1", space: "data", access: "RWX",) Q+ ^9 X# H$ N# i
base: 0xC2010000, len: 0x20000,+ _" H# }0 O) v( X
comment: "SR#1 Memory (128 KB)"
$ j0 m5 b6 r; Q& b };
9 n" w7 J9 u9 ~- A2 h2 B0 v
' n1 Z2 i# ?7 S& pBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {# a% b9 r: z8 _
externalMemoryMap: [: N+ @+ i9 D6 h9 T) E8 I$ h
[ SR_0.name, SR_0 ],3 d2 K; k/ v8 z- M1 [# [* N4 Q) M
[ SR_1.name, SR_1 ],9 G$ Z3 A: S" {( k
[ "DSP_PROG", {3 M/ |* _. z. p P7 i$ K, E
name: "DSP_PROG", space: "code/data", access: "RWX",
2 Y$ [% ?: }; O* J5 ?# ^1 @& m base: 0xC2100000, len: 0x1E00000,6 o' {' p/ H$ D3 }. @
comment: "DSP Program Memory (31 MB)". q4 v' z! ~* z4 }
}]
" D: B; U- v7 v ],
6 L. |8 h( {2 v codeMemory: "DSP_PROG",
0 Z1 J( Y1 q7 d dataMemory: "DSP_PROG",
1 p/ l% {, c1 U4 R1 H% Z stackMemory: "DSP_PROG",
, `& W' G5 Y0 K, V7 b+ F. C( R$ d l1DMode: "32k",
" z; i6 P0 h2 N" k0 S; I; G! g l1PMode: "32k",
( L) W' E0 K0 y! t; V l2Mode: "64k"4 b+ R" W& {( E7 K
};
3 ^' \4 J4 d5 e6 w9 ^" E+ ~& y* b4 b- V8 g
/*
3 r! s- n6 M9 d5 P' z0 K) R7 o * ======== ti.targets.elf.C674 ========
8 C9 S8 e8 L8 i; K' n b */! W7 R& r8 F* m% R7 n" ^9 r
var C674 = xdc.useModule('ti.targets.elf.C674');
; h# \+ k/ @: ?, o. t9 w+ R; hC674.ccOpts.suffix += " -mi10 -mo ";
# |4 Y+ M6 o, s0 GBuild.targets.$add(C674);& p) U. t1 W4 L
+ _* h* \; P/ K" f: n! F: K+ J5 Z- K- r9 L
====================
8 ]: U( ~* n3 U/ ~原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。# X6 e ^ ~$ n7 H. j
|
|