|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- `* E* O) h3 X0 ~# u7 v e6 I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 ?& N L" c* G# D2 K- P
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ _& J. Z T- u0 [7 {' l: E) C3 m
# I: z% T% f0 \) X- y
是不是需要在DSP.CFG中进行配置+ Q! r6 }# ~5 H
我现在的配置为0 ?7 H" O8 l' ~$ `3 A+ C. |( J6 X) u. W
/ q$ h! g" ^/ t/*
6 S+ L5 J! `, Z* _7 b2 B# U * ======== Operating System Configuration ========
u% G6 C" \' X& T7 c- [: N* K9 @% W */
" W2 J: A4 V, A* V/ Z. F, a! X& n* r) o
/* no rts heap */
( L3 s/ A7 g4 i, MProgram.heap = 0;+ Z# G, p5 m& w& d. r
Program.argSize = 100; /* minimum size */
, X7 I* W* z: e) K/ dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 K: ~6 r2 D# S( I% i: P1 D
5 d" k$ C, y, ~% V1 b3 | O4 R: g9 o/* create a default heap */ r% ^# t" S, y' z1 {
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 p" _" {' J1 G( Z! q# Mvar heapMemParams = new HeapMem.Params();
+ Y% `: q5 n& h. }, K# DheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ f+ S- R; D8 _: @+ ~! t* h, y7 k
var Memory = xdc.useModule('xdc.runtime.Memory');
2 P( z m) s! E9 Y+ o) S IMemory.defaultHeapInstance = HeapMem.create(heapMemParams);0 E8 u- A* S# u3 X. [
- p0 `* [7 q" [5 _% l/* configure System module */
; r* q7 c: D: Z; fvar SysMin = xdc.useModule('xdc.runtime.SysMin');" ~1 j) E4 c' k7 V" U4 O
SysMin.bufSize = 0x1000;: ]5 `1 v8 F4 G/ T3 n
SysMin.flushAtExit = false;# x% ?2 v# j5 e i& b0 L
9 X" E, h: U: A: c, T2 }
var System = xdc.useModule('xdc.runtime.System');( L$ f1 Q/ ^6 f' R7 P8 [# A. ^( Z
System.SupportProxy = SysMin;
- b4 P5 |% q5 @6 E
8 Q- G7 D) i) w4 A/* configure SysBios to use the lower half of Timer 1 */
# T# R3 w9 q$ xvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% N4 C& [" ~% A7 j' n! j1 }var Clock = xdc.useModule('ti.sysbios.knl.Clock');& R, @) f# V: I4 T+ T
Timer.timerSettings[1].master = true;( j G2 ]) ^& H% {
Timer.defaultHalf = Timer.Half_LOWER;( R% M2 g. [+ \/ A0 Q5 X( y
Clock.timerId = 1;
2 I" E% f, d0 n/ K5 S0 m, r( |3 {
/ @# k* S* E: j6 |9 e3 c0 _& M8 c0 x" p. ^% L0 B0 X, V9 K
/*
6 i( @* a0 N3 F- r/ i * ======== Miscellaneous Configuration ========" \; x9 r! R, h& R/ w0 x; y$ ?
*/
1 _* G( b- i1 |: B% S2 [" `6 V" q- D/ B* i: ?
/* set default diags mask */( y, R X3 W: E, i1 s& p( H% L
var Diags = xdc.useModule('xdc.runtime.Diags');/ O8 G8 G/ J# y1 q( Q3 q" V! F
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ ^6 q3 b7 y/ H1 \! j0 }
7 A I- J- Q) `: `; [' O8 yDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* o/ W8 B0 s3 @. Q3 }Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; C; y! W; X K; H: QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 N* k& {& I+ E/ s3 |+ S
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" e9 d* t' q |7 i/ ^# s6 F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: I! s$ Y) ?4 t7 A+ t3 f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;) v, q/ |9 C0 l: t
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" z: t% e$ E, T( ^
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
B. G$ \" Q1 f; [, JDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' R" z2 h) i! V- d% V2 r* b/ BDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 L1 y2 j0 n3 Y+ \) N h
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) D7 Q, k: p* cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- M8 f/ Q* `9 n' `5 m: o
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 }5 ~) Y I. D) QDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 A2 K) Q/ h6 C; q2 e
" Q; `+ A- [$ o, k
/* override diags mask for selected modules */
* [( P. q y4 W8 P4 f* l( k* wxdc.useModule('xdc.runtime.Main');/ p6 L, k5 Q) j2 `" S% U
Diags.setMaskMeta(
) J& z1 e4 a' R; l- v "xdc.runtime.Main",
1 M) m) V+ B+ y7 t* C: h Diags.ENTRY | Diags.EXIT | Diags.INFO,9 F* r# {6 }6 j/ ?" J8 ], n
Diags.RUNTIME_ON
8 q; v1 E! {1 n0 S' Z);
4 L( g3 C# P+ L- k) ]! U/ t5 G* k# C& }6 g, |6 y. y* c
var Registry = xdc.useModule('xdc.runtime.Registry');2 e2 r: K. Q9 |3 G! g$ Z; X& n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, W7 s( g) \* v) G2 V- IRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# `" ^9 Y- n% b6 S
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;" }! O( k8 \6 ]8 S- R3 _7 ~
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' o4 S2 f X( y5 I4 C/ g0 f8 f$ }3 w, _( T7 h. |) N8 J. G5 M
/* create a logger instance */
( M" ~+ r& t- q3 `$ K! Xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 s' }/ ]1 Y& p& T5 ?- H
var loggerBufP = new LoggerBuf.Params();
5 U3 f, O; V: V5 z1 ^loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- x# X: t5 M2 C* m+ f
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 y( [1 p/ O) N/ F
' N- z8 }/ g& [6 h- S! d/ Uvar appLogger = LoggerBuf.create(loggerBufP);* y, M1 c& K7 m# g* d, {9 G2 d
appLogger.instance.name = "AppLog_Core1";
; u- [2 J& c6 A3 ` }5 sDefaults.common$.logger = appLogger;
R5 O1 T: B2 F6 {0 S( \5 [Memory.defaultHeapSize = 0x8192;
* V. Z( M7 ]: l2 [/ f' K; l, ~! c5 RIdle.idleFxns[0] = "&LEDStatus";
7 Z! v R! f7 ?4 O# l& ?5 `Cache.initSize.l2Size = Cache.L2Size_32K;
2 X) |, ]" Z5 d) k& N3 ]! ~, B
1 O: C4 r! ^6 ~* Y |
|