|
|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。
, ]; L# _# w, e$ m5 [% G 板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:* c7 D% Y: ~* M3 k" Y+ U
# ?, s( g2 A/ t. e: G/*
% B }7 c- O" F5 |0 i * ======== config.bld ========4 l, b _5 d/ k
*$ J. d8 Q. f) J
*/" c* A3 v! I8 ^1 b' R/ h
' N% r$ {4 s! W+ W1 U, Y9 _. |
var Build = xdc.useModule('xdc.bld.BuildEnvironment');) O2 t0 U+ X: r e7 S3 |; l
( b5 _% j! u {/ S
/* Memory Map for ti.platforms.evmOMAPL138
1 p q. U# @# T' y" o/ W *# y7 e/ b# e% b/ u" E" d% O
* C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory3 {. C; g+ M- P" ?7 i& G2 _: v9 q
* ------------------------------------------------------------------------, G! r i6 Z; A& N3 N# R) M
* C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux3 e- s6 e, a/ h! X. j- ]8 s" `) @- q
* C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
% m4 e5 K) v- l1 J2 q% Y/ ^ * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)* d5 |9 Z' k1 F
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------7 F* n- Y/ M q- M
* C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
. I" d" ~2 ^' Y9 o3 _ * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
' n" \& [' J' ]9 b * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
& N+ M5 e7 d# P6 v. I D% j: u; ~% d */
: i( \5 l3 p$ h1 ]! W4 y- s! d# q& n2 z) _3 e& @) S7 v
var SR_0 = {
( m% R8 X. w) A: j! A8 C name: "SR_0", space: "data", access: "RWX",
( o0 t' e% K2 l; y& L base: 0xC2000000, len: 0x10000,+ \5 o) q+ g" l/ `$ r" R
comment: "SR#0 Memory (64 KB)"
# ~0 ~ G" I9 j+ @+ t };% a' K4 h6 U. a8 _; p. G/ R
! ]5 k5 [& `) `" d2 j) u
var SR_1 = {4 d$ c+ J3 S/ g$ Q+ X
name: "SR_1", space: "data", access: "RWX",
: f5 x/ t5 {" z( S base: 0xC2010000, len: 0x20000,+ Z! }5 D. k- p' z- U8 Z, O
comment: "SR#1 Memory (128 KB)". a! C8 J8 j' a
};- @6 X W8 u- I/ g& r; |0 _0 ]3 K% l
: R* P# D- f! l: h& i
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
, Z1 k- U. Y2 _7 c. y p externalMemoryMap: [1 p# y! k& f$ s9 _4 Q3 U
[ SR_0.name, SR_0 ],
' Y$ ~( l \6 K% a6 S" E, a! ?$ _$ ] [ SR_1.name, SR_1 ],& x d8 p2 D4 P8 [. ^& @
[ "DSP_PROG", {
3 q5 |- p5 {! q name: "DSP_PROG", space: "code/data", access: "RWX",( O% j2 {7 t$ h8 O
base: 0xC2100000, len: 0x1E00000,( v( z+ D6 ]' {2 Y
comment: "DSP Program Memory (31 MB)"- V1 h1 _$ z# [' B9 K% w2 |* v
}]
! q' B" b @# W" a- x ],
# r# d4 p6 C; y$ Y. _: u! V, Z codeMemory: "DSP_PROG",0 @9 v; U( }% V K8 H
dataMemory: "DSP_PROG", l$ o+ F# q$ j+ }- p6 k* h; b/ h9 H- {
stackMemory: "DSP_PROG",& o' e7 D9 l, e; j9 i: V
l1DMode: "32k",
0 _! l7 g4 t* o7 Z. l l1PMode: "32k",
4 ^' g0 G7 p5 U v _ ` l2Mode: "64k": i; i, g( [8 D* U
};
2 W* i- L8 d% \ _0 m; L& C9 G- z) \$ O- h+ ^8 x6 U! a v3 i
/*
2 e1 ]. Z+ T+ S+ K * ======== ti.targets.elf.C674 ========
$ ~% b% r8 n* N& R2 s4 Z+ } *// U$ h3 A& \1 B; o& w
var C674 = xdc.useModule('ti.targets.elf.C674');
# v( ~! p; A+ M. l. i- k9 ^C674.ccOpts.suffix += " -mi10 -mo ";
4 w' n0 |, }$ e q2 P! TBuild.targets.$add(C674);: P4 x4 E3 r4 A9 k& g2 \/ E- B
8 {' v: i" `9 k; V8 }* D& N3 m8 E0 o* H! O; q0 f) t
====================
3 ^4 k1 j; M/ `' w% L J8 g: \* d原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。
2 q: k$ o) A3 S% I |
|