|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。5 ^* o6 V/ O* i/ {9 ]
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:% h2 o8 R) E0 `$ l8 y7 l
! O; H0 e' ~ \/*! s# {+ Z* w: r% G2 a" e
* ======== config.bld ========
$ o4 g( A6 ?) o' F$ p& ~8 ? *1 U0 W2 s* O$ \$ m6 X9 B; {8 B
*/
; z' l# o5 G# K/ ? \
" d& {3 D. n# [+ U) ^var Build = xdc.useModule('xdc.bld.BuildEnvironment');. J% w" q' E# c+ t: n" O
4 U% o% q6 L" q F/* Memory Map for ti.platforms.evmOMAPL138
8 I( i" f% T5 c& Q2 \) S, _' y ** ^+ ~3 Q4 @7 W+ Y7 k( h; S( _
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory( \8 M; J6 G# z" X1 X3 o$ q" @
* ------------------------------------------------------------------------, k; C( @! d; o; `8 y% m
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux% D/ y- b2 k) R
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)6 ] O9 M& k6 h* C
* C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)
9 y- k$ _2 }: C. b0 F0 C. D- J: x * C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
5 _8 E) h/ X8 E& D. i- h * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)( s, D( I8 w. d4 u5 m6 F
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
& q' x+ Z9 `/ g * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux V2 `# a8 p5 |0 j ^
*/ u* n G& O4 C
) P& G& A; w# P! vvar SR_0 = {% h5 G2 @4 o2 n& d/ B \6 @
name: "SR_0", space: "data", access: "RWX",
, W1 ]" q. p" ~# Z) j4 k3 g base: 0xC2000000, len: 0x10000,* v; {. f9 o( J1 |6 v5 v
comment: "SR#0 Memory (64 KB)"2 D1 Y* c# H: |. p" `, u9 U
};
+ w5 ^) R% M+ G' a( h# O& f/ {8 [' x
var SR_1 = {
1 B/ ~0 ^1 Z) g; T; N% M name: "SR_1", space: "data", access: "RWX", r) b' Y4 @+ `) c6 M
base: 0xC2010000, len: 0x20000,
. }0 y% y3 v0 u$ S" b2 ]1 c* o comment: "SR#1 Memory (128 KB)"7 i# r" w$ I( i8 M3 U
};
" J) e1 J0 G. x! o4 |7 K
7 y4 M C/ W2 KBuild.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
; I& s: N3 K; ^ externalMemoryMap: [
$ @* b, w+ @' h9 X1 i- k [ SR_0.name, SR_0 ],
; k @* o2 }9 b5 a [ SR_1.name, SR_1 ],
/ M6 l: V2 ~, S- K# p [ "DSP_PROG", {
( J; F/ W& _8 d) q% A) {4 r name: "DSP_PROG", space: "code/data", access: "RWX",
6 v% C: W" [7 J8 A2 X9 I: h base: 0xC2100000, len: 0x1E00000,
0 e4 h1 M! n. | comment: "DSP Program Memory (31 MB)"
|8 B+ y# U) r3 K+ l$ |6 ? k }]* s3 V6 g2 A& l* e( W
],1 ?7 ]4 k+ c: i3 I# d' V0 |# c
codeMemory: "DSP_PROG",3 a! P8 ^7 u* A1 N
dataMemory: "DSP_PROG",3 f( b& m: T/ R" G; W" u
stackMemory: "DSP_PROG",
: O- Q2 Q G, R3 N, l- S+ D) O l1DMode: "32k",: k# z6 x3 B* q% G R% X$ y4 q
l1PMode: "32k",
& ^3 C/ q2 q: f, q l2Mode: "64k"
& q2 d3 F& O, a9 ~. T' v};. W7 _# h9 w6 m, l8 Z
( m/ N( B$ ^+ C" P/*
% `+ Q0 n$ p; w r+ t. f% ]* o * ======== ti.targets.elf.C674 ========
/ D% o6 V; R8 f" `+ ^ */: `7 B. y, {, U m6 I. f$ W$ `# p* t
var C674 = xdc.useModule('ti.targets.elf.C674');' v3 O) A( r' {: i& G
C674.ccOpts.suffix += " -mi10 -mo ";9 q' X/ ^. r) u! F7 C8 I
Build.targets.$add(C674);# M8 o* j! p7 ?& P
. G. C, X5 X/ x1 B7 T7 J
* [0 p" m& ~' n7 R. X- v====================
- s9 V1 y$ Y" U2 N: ?3 f# Q1 y原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
2 C. n& o3 l0 z5 c3 i |
|