|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% V6 ^ S; T! P% x" d, \
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# @8 I \/ k* c6 H3 i
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& M% q* |; i9 ~8 y' J% T0 r) h% E$ O4 I' U& o
是不是需要在DSP.CFG中进行配置# E5 \* s5 M. y/ }2 o
我现在的配置为' K- z% w1 F- R% E4 F" X% e
1 i/ X; {. ^+ N" R1 {, { E/*
: T; `* V: ]3 \+ e- F7 Z) n% v! | * ======== Operating System Configuration ========
& v2 n6 r" D$ M4 M9 ^* i* W. R3 ? */, _( ]- ?" I3 ?1 G& m8 o7 c
6 o$ Z) {7 T2 a$ w' X: } Y; I
/* no rts heap */
! u } j4 K" E1 I1 H# rProgram.heap = 0;4 ~7 S" z5 @3 K
Program.argSize = 100; /* minimum size */
3 M5 c% K( i& ]Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 w7 q! o* h: g* L% V" k6 J5 l& A9 q2 y
6 R/ }2 }. C* {# u6 j/* create a default heap */
3 Y1 @- N s% P- Mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 X, E' Q l) l% U) @var heapMemParams = new HeapMem.Params();
" \% _$ ^ _8 x! cheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 O \- {8 e. j% W2 T
7 q$ ]. [! A4 M% c* [
var Memory = xdc.useModule('xdc.runtime.Memory');
6 F6 j9 J" s X- s7 nMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
( }/ G7 K: M X* `
) q, b! S- V& q T) c% ]( d6 S$ A! m/* configure System module */# I2 S/ C8 I, V: m! Z3 V
var SysMin = xdc.useModule('xdc.runtime.SysMin');
, V& E9 i) m" ySysMin.bufSize = 0x1000;8 E5 E0 a) n: c
SysMin.flushAtExit = false;0 _. x# W4 _5 t! B8 }7 \5 E. l
2 h$ h0 t8 J( N. H
var System = xdc.useModule('xdc.runtime.System');
% S6 C$ i% W6 Y d8 c( [ _9 YSystem.SupportProxy = SysMin;
( M9 ]' F) m6 f) G' n9 a0 \
+ M7 w) r+ l1 N( o' d9 }/* configure SysBios to use the lower half of Timer 1 */9 L# C2 w( }6 s! Q4 ^8 q8 c
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');7 q( \% h8 @0 P5 A0 T- t
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; S, T! a1 w& p# n! |- O1 N YTimer.timerSettings[1].master = true;9 k# n& E" \9 q6 z% S7 F2 N
Timer.defaultHalf = Timer.Half_LOWER;& |2 X% ~8 S4 P; e Y1 G% b
Clock.timerId = 1;
; K( f4 n; l& p r4 ~2 D' K: s: L: V0 a8 @. `
% s" s3 u b: p& i+ Z, Q* x- w
/*
$ V& b+ S# F+ z& O, d% r6 b * ======== Miscellaneous Configuration ========
* e9 @5 f( N P4 g) V5 U */8 M8 u' [6 k& i8 f4 d8 N
) a; \2 V. f( z
/* set default diags mask */
8 K2 E# T4 ^3 f1 B. E. m4 H7 u/ J( {var Diags = xdc.useModule('xdc.runtime.Diags');- M) b. B& s, S* ^% ]6 ]6 Y
var Defaults = xdc.useModule('xdc.runtime.Defaults');0 i! k1 V. r- ^6 M8 G0 V9 C
0 T p* v4 ~" N
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! d- h* {: ?( q; p6 A
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;7 M- q; E# o, t& w/ |; Q" f) t
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" q: W# ]/ ]( D* ]8 G
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 w8 T5 b1 i' |9 \( A5 F- ]Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) J2 V/ S: v* w/ z( R+ V4 B
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;; P% b' i5 b, B7 g* v5 y' I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( r3 n8 ~1 Q# h; T$ Q8 }& UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' a& u1 G5 a) F3 L6 I3 |
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- h- a/ j( C% K% S# C& i" S9 w
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, v; S+ O# b# g* X: YDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) w# v2 _, x, t$ }3 k9 r
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: w b _! m9 a7 Q! |8 I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- z" Y+ l( _5 F" JDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ f1 W+ S% o, o9 i& I
, {( _: ?6 m7 v" q* _$ x' x/* override diags mask for selected modules */
" \! G* a8 Y8 m) }/ s: q' D& ~xdc.useModule('xdc.runtime.Main');
) V. V5 a5 a$ t+ `# q: [: NDiags.setMaskMeta(
- A; ]) l+ [8 p5 i$ p( h "xdc.runtime.Main",
! B2 m. x0 g* [; [ Diags.ENTRY | Diags.EXIT | Diags.INFO,
; N; L- o) c5 F. v$ r8 W* |* t+ S# ^1 ` Diags.RUNTIME_ON, f. P' @3 ~, [+ \4 o5 q
);
/ g. y& G7 m1 ]1 M( R
' @1 j% s6 ~* ]" @* Yvar Registry = xdc.useModule('xdc.runtime.Registry');- Z" t1 B' k! R+ _# { v% w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
D6 O5 ?$ X0 ]7 t2 U0 iRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 U/ W$ @) X1 h! ~& ]( x+ V( c1 hRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. n1 B X6 H5 U/ }
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ N. g1 n1 l0 l. g4 n: ~
+ r; e9 N# G4 R5 l1 D
/* create a logger instance */
. |5 z' l! T+ j) y1 y0 ~5 gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 k4 t* B+ f( J6 p/ p" r
var loggerBufP = new LoggerBuf.Params();
2 ^6 {3 s$ _+ t- T, E: AloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 m- M+ H: M8 f: R7 c; ^- w( CloggerBufP.bufType = LoggerBuf.BufType_FIXED;
& Q9 d' k0 O0 d7 x; |1 o* y( `' R6 n3 |! f
var appLogger = LoggerBuf.create(loggerBufP);( f) B0 }$ @5 [( q/ A+ ?" O- m
appLogger.instance.name = "AppLog_Core1";0 K& @9 L0 g7 I- h( {% p
Defaults.common$.logger = appLogger;0 e; a- j# u8 t$ z. c$ j
Memory.defaultHeapSize = 0x8192;
% x, W- g/ D, {4 R0 S6 pIdle.idleFxns[0] = "&LEDStatus";8 m) b6 V9 H, D8 `# u& z0 i$ c) p8 H
Cache.initSize.l2Size = Cache.L2Size_32K;" D( ]5 a% c: u
. g5 C# K/ p. H |
|