|
OMAPL138arm核跑linux+ipc,dsp核跑sysbios+ipc,如何重设dsp端程序起始。- I) Z* k _; J o6 o9 r- j a$ `
板件使用的是创龙的核心板,linux系统是创龙提供的系统,dsp端程序使用的是例程hello为蓝本重新生成的rtsc工程,使用c++,其中的bld文件如下:7 E) q, j8 R2 S+ v0 v5 P
6 I1 {8 _2 [' x
/*
( V) n1 P& ~8 y- D5 h* H" x( s( ? * ======== config.bld ======== m( [ R( ~1 k
*
! v0 ^# V% \3 r */' E* Z5 K/ F: q0 e
* b7 _4 f: u2 v e$ W& |
var Build = xdc.useModule('xdc.bld.BuildEnvironment');; H2 |( C) p/ f4 D5 r6 J- O
! K3 Q4 J' o0 u: I
/* Memory Map for ti.platforms.evmOMAPL138
5 t* J) ]8 N) K *
- m2 y- Y( P% ` * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory: h) l, v+ d" }7 ~
* ------------------------------------------------------------------------
( |! T) u% v3 Z$ n% `+ C' ?$ X% G/ ]. u# w * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
t: s% |1 V2 r7 j * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
; _/ X$ ?$ p; J, x6 O * C201_0000 - C202_FFFF 2_0000 ( 128 KB) SR_1 (data buffers)2 R* L& i6 e. o; ?$ p
* C203_0000 - C2FF_FFFF FF_0000 ( ~15 MB) --------
D, a, g0 p3 f1 R( f5 M+ c * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data). a+ j5 B3 _1 E: G2 r$ I1 O
* C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) --------
# m! m; I0 ~# N" P3 ~2 a: {' }% x9 ]$ j, I * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux
/ }/ x7 d. T$ A9 G7 I/ @ */! t# S1 u" @2 h/ q8 s' t) u) i" b, V
- J2 N0 L( l; R) R4 y }8 Uvar SR_0 = {
' m3 \, [( U5 f2 F6 [, Q" P5 d name: "SR_0", space: "data", access: "RWX",
& h) q" B" B5 J: @& ^& \" w base: 0xC2000000, len: 0x10000,
7 f" {+ b9 s9 F* h7 H comment: "SR#0 Memory (64 KB)"
# q' B7 f% h w7 T: T. c8 M };
/ V+ ^9 J( C8 \2 r/ D
* X3 W9 S& s# k6 w# C; gvar SR_1 = {, m8 r7 Q* h1 Z$ i1 C: L: |
name: "SR_1", space: "data", access: "RWX",9 p5 b1 s2 n8 N; b0 Q
base: 0xC2010000, len: 0x20000,# S# w C9 \8 m) o
comment: "SR#1 Memory (128 KB)"
3 [2 W* U8 S* x+ _3 L };
' @9 U9 g" I! h. @3 C% q9 P& C: I" S- @6 J# I
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
* t" V# D. i" [, c5 | l externalMemoryMap: [/ U8 }, y. f" f9 }8 t
[ SR_0.name, SR_0 ],/ n' z: q% `& S ~+ J: B
[ SR_1.name, SR_1 ],! c w% N& j8 N# V4 A a
[ "DSP_PROG", {
9 i! R8 ]2 s" w9 O; V) b$ o name: "DSP_PROG", space: "code/data", access: "RWX",
; i, C) I9 C5 J @) i* i: o7 v base: 0xC2100000, len: 0x1E00000,8 |; h; e7 Y6 g6 Z
comment: "DSP Program Memory (31 MB)"/ B% U& \4 ^$ q8 I% \7 {( ?
}]! F0 u2 I* C' `& n
],
0 f5 D) H6 {' n" D9 Q4 B# a- [ codeMemory: "DSP_PROG",
( j/ [: a, \# w2 P% e& {' I dataMemory: "DSP_PROG",
& {& m/ h8 o7 k7 x3 h stackMemory: "DSP_PROG",# v& f2 y+ N- S; i9 w+ o4 s
l1DMode: "32k",) H% r& T8 {3 W' x" P6 w/ ~, N
l1PMode: "32k",
- @3 c1 S+ S$ U$ d" y5 i1 u4 Z; A l2Mode: "64k"
% L J, B" f2 O: ?* h, ~$ u};# K( T! \1 X/ ~. P5 l- |
& z4 k+ g# p6 m! _4 H/ U" h# t/*
, O- D# `6 S% U" q# U$ w/ Z * ======== ti.targets.elf.C674 ========
& K7 ^0 o+ O' h+ W+ d */$ V) Q1 x% t1 i% E' x' \- p
var C674 = xdc.useModule('ti.targets.elf.C674');( Y0 x! ^2 d4 T. d6 R% \6 t4 P
C674.ccOpts.suffix += " -mi10 -mo ";) _" `9 F. ]9 e2 ^2 l) K6 r8 n1 g
Build.targets.$add(C674);
1 c) Y9 T; s: o/ y' d5 | \3 E( o, h( X3 J" R3 F3 s7 _
1 U& |" a% z- c
====================5 X& q. |& H$ k6 v2 S+ y8 ~
原来DSP_PROG是0xC3000000起始,8MB长度的,现在因为需要一个比较大的缓存20MB以上,所以改成0xC2100000起始,31MB,但是编译之后,好像dsp启动不起来。重新修改了rtsc的platform的DSP_PROG的起始为0xC2100000长度31MB,程序还没有修改,还是原来的代码也没有增加缓存相关代码,只是调整程序空间起始和长度。不知道还需要修改哪些地方。* C1 G2 w0 q' K" k1 a% q
|
|