|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 h! \- Y, {- @; Q% k/ {! @& Q6 [2 l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) Z4 q: `: q' i% f/ a(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" N0 s+ }+ y1 ?
7 O7 I4 N1 i+ u9 Q7 n6 w. h
是不是需要在DSP.CFG中进行配置
9 b& h) u& t- V [6 S& d" J我现在的配置为* n, B: Y. f+ g
9 e/ F% y2 b9 I" L' L/*
8 i9 k+ }6 I5 A+ F: l * ======== Operating System Configuration ========$ T( i' R# R8 @4 S+ X! L2 E' u9 C4 r
*// _# q+ F. _$ `0 l! p
3 n% b' F# O0 N5 S9 u+ X/* no rts heap */
) Y# U- u4 W8 f' b5 OProgram.heap = 0;: j* S+ B# q+ x. h
Program.argSize = 100; /* minimum size */- {# r o* S: o Z. j. s% G$ k$ T
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 s" |& v Y* b( h% L: m/ J
( v7 x: d: c" F. g& y
/* create a default heap */
& r8 h( M' [2 z5 _- d1 ^var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* v( T' V% S% \7 U
var heapMemParams = new HeapMem.Params();9 `* ]2 r' y- H* d0 U
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大6 f& P5 x4 O6 G$ F9 h
0 J. r5 T) V) ?: d0 o A) k+ D
var Memory = xdc.useModule('xdc.runtime.Memory');7 m8 x5 p0 k: b+ _% t, E4 u5 [
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);) x/ G( \; @3 H
) T; ~+ g. \: T. b
/* configure System module */ D' @$ X+ j9 W6 B _, M
var SysMin = xdc.useModule('xdc.runtime.SysMin');- A- Z; i6 A4 l! X
SysMin.bufSize = 0x1000;6 Q0 g: H+ T2 b. h
SysMin.flushAtExit = false;
/ W. H0 W) W# P" ]2 o4 \0 }8 ~8 E6 G7 r) M# U8 y! u: N# ?& M, j
var System = xdc.useModule('xdc.runtime.System');6 G* ?. n/ {* r8 M
System.SupportProxy = SysMin;
5 J% d( i2 M9 |: h1 n# a7 B" M1 f( B( J8 y/ J! G
/* configure SysBios to use the lower half of Timer 1 */9 T/ h3 I% ^8 U
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* p6 c1 h! [* x' x& U# q Gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');6 i4 q6 O. }/ {5 o. o6 Y
Timer.timerSettings[1].master = true;* K" w }4 t5 n% ~9 m/ Q: v. e
Timer.defaultHalf = Timer.Half_LOWER;
P6 U8 t' s* h9 q& vClock.timerId = 1;
/ I) s, x0 c# I1 D
# j0 A0 y5 M% M! T% D9 }8 B# m2 w! O o; ^
/*
$ B& R' u- P0 @$ G' t/ p * ======== Miscellaneous Configuration ========8 a7 i% P* R, Y& G! N. L5 q) K. R* ~
*/ D* M- M [! |- ?
% @: D( S$ H, G/ e/ J% Z: C2 i: u# A8 s
/* set default diags mask */& K. n- y) x" d6 Q$ {7 b t; C
var Diags = xdc.useModule('xdc.runtime.Diags');
# X" {" y* w Ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
' ?* o# }0 T7 Z$ c" j6 C, k$ T
7 U/ ^$ @6 H1 gDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ X5 Q* W5 F/ r, z5 V$ u) d
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 m* l' B' s/ N. D$ e
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; ]7 F+ g+ h" X/ p' o& w2 h4 V/ _. c4 EDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! ]3 U M; Z' A$ u5 ^Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' q5 t' U/ ~" v0 W G% i7 bDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, ~, U% T- i* t* gDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 w% d6 X8 Y+ ^! ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 E) m0 j: e2 V: H7 Y! [- pDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( j/ M! B4 g* XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 Z4 G$ y2 N( C4 y: \
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 D3 \* Y5 [1 G! }1 Y" j: _Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. o5 [: {" I2 V' Z5 ^* P4 p
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
7 r; W; `2 C5 f; s. O7 E$ vDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! b: u3 H, t9 \3 k+ ^* F, s
, P' b u$ W- v& K
/* override diags mask for selected modules */
4 Q. a1 u! X; g$ s$ w1 Rxdc.useModule('xdc.runtime.Main');
7 A& x& t1 c, _) c, ~Diags.setMaskMeta(/ S( V% U$ f3 Q1 z- C6 U, s, A4 o
"xdc.runtime.Main",7 X7 Y! t3 \( \( `5 h) `
Diags.ENTRY | Diags.EXIT | Diags.INFO,! T! v# U0 u* T: n; s
Diags.RUNTIME_ON0 o0 {2 U7 Q1 G+ V) l- U" E0 s. E
);- O a; u% b0 n
8 u! h# W- P) d, X lvar Registry = xdc.useModule('xdc.runtime.Registry');
/ Y$ ?( {* H3 }2 k. `: uRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ [" @7 I- i8 {* @- \. l
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ U. u. X2 P! x( c4 p. d- HRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 @: {; q8 ~$ Z9 e; s1 ]4 v
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. D1 Z3 g/ C1 s4 T* b9 D$ o: A; Z3 k9 n; f) h& s7 ?5 A
/* create a logger instance */
r, G8 Q9 i: j* v& e) l5 ^+ P( Svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; {/ V; e7 t9 L0 M, L! f; a. O
var loggerBufP = new LoggerBuf.Params();6 J" L5 b! a+ P; q5 B- X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! N. ?1 w3 j8 j8 R$ K
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' q* s8 u' A$ b9 S6 D+ L
( I1 ]2 r4 L7 e5 c& v& uvar appLogger = LoggerBuf.create(loggerBufP);
* q4 x- G7 i+ h7 OappLogger.instance.name = "AppLog_Core1";
& l- U& G$ u, R# b& U. O1 QDefaults.common$.logger = appLogger;
9 E: b$ ? e4 \- ]Memory.defaultHeapSize = 0x8192; 9 M' X5 b6 _' l$ G2 V* y
Idle.idleFxns[0] = "&LEDStatus";! z& E; {8 l# ?' }
Cache.initSize.l2Size = Cache.L2Size_32K;% Y2 t3 ?5 }! v3 A7 \+ y" u
0 B4 z+ u0 J4 g% m$ y# ~: Q |
|