|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ }9 Q. H- B) Y我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 O% ]6 ^3 g1 R ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! y8 S! s: I3 q0 t# ^' o7 V0 r
1 w2 w$ g: ]* M3 m& u* B0 T3 X是不是需要在DSP.CFG中进行配置
8 b9 [" n! Y$ g9 \0 h我现在的配置为
) \: |( O7 p5 d; P+ ~' R e. Y% s& g |. O$ o, F
/*
) t; Y5 k8 I" @7 f8 e/ N6 I * ======== Operating System Configuration ========
7 y( `( z% K' X: h. _2 [ */& W- v" h0 m* a
# g- m( m( x; \ e+ N# W4 B1 p/* no rts heap */$ B4 h0 \4 p2 W& h0 n7 @
Program.heap = 0;$ d' h; a+ D1 k6 P$ h
Program.argSize = 100; /* minimum size */
, ?: W& p2 }' @+ H( _" ^6 VProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大8 d, G9 x* g7 z4 [# V
2 J1 X& s/ U* v0 l1 d& }0 Y/* create a default heap */( Q1 F- [! l) F/ b
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 I* d# s5 u( [- _* g
var heapMemParams = new HeapMem.Params();
( J+ ?. G; D. Z$ qheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 B* y0 j' q8 s/ p* |2 q- O' G$ \7 c8 O: v
var Memory = xdc.useModule('xdc.runtime.Memory');
' w# F7 Y) H( h6 }2 T* zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 a1 W6 X( f' u4 y/ n/ i- C6 d* \- B: F# U0 i7 m i
/* configure System module */
0 }8 y' E; Y+ d) q6 M( d. n+ Rvar SysMin = xdc.useModule('xdc.runtime.SysMin');/ X0 D" X+ @* n) l- }
SysMin.bufSize = 0x1000;
0 H& G3 V) q% y" TSysMin.flushAtExit = false;
$ W; `: v3 j) f( u( w
1 }6 C* K* u$ J4 J$ _4 mvar System = xdc.useModule('xdc.runtime.System');
( P) L1 @6 p" r5 d3 h' pSystem.SupportProxy = SysMin;5 Y* c2 w- T2 }3 V4 t5 M
( t( d( U$ R/ L( v' `" p/* configure SysBios to use the lower half of Timer 1 */( G1 H) L" J$ n; z3 k; x
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ r4 W! K& |5 Yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');4 W9 e# p5 H7 ?' K8 t* J
Timer.timerSettings[1].master = true;
$ |5 X5 }/ O0 cTimer.defaultHalf = Timer.Half_LOWER;
( i' ]( D+ [7 Q/ C. x5 WClock.timerId = 1;6 b, j: I" u7 p9 h C L
6 f+ o# ~( H; |* ^5 l* o3 v
+ m( H' @5 E$ M/*
. R$ W7 P: _- _: _ * ======== Miscellaneous Configuration ========% H' l8 K2 K( \* G7 X2 l t7 `
*/& U) @9 m8 _3 o1 J) e( j
& [; [" }0 ]# O+ |/* set default diags mask */% S1 O* P) Q1 [
var Diags = xdc.useModule('xdc.runtime.Diags');
+ T5 j Y3 a9 w+ tvar Defaults = xdc.useModule('xdc.runtime.Defaults');* O& S" P8 }! L) t. ?0 H
" u) a4 b" p& j( S2 b* w; ?( S. ZDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% D( T$ ]! I8 q6 m6 n+ s& }
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ u' J: K8 R, B* {/ nDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. W& n! I4 i4 H$ w' } i; `
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */+ W' ~7 f6 m9 Z$ j/ l) \" t
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! t, y4 }3 i$ ~7 I* r$ L' SDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;% _9 f$ r; t. ]; v0 l- b% o+ I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' {* w) k% k2 v7 Z4 {/ PDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 y8 f8 e- ?& Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ [: J1 x% `* }8 P" T* V: n, ODefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ G& C) G, B4 y: j' e' C9 ~! M
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 h% X, \ Y1 l5 h5 v- [& [Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 E, Z$ ~/ l+ E3 ]1 P
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. n# v$ ^- H. d' \2 g% Z% ?
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% A0 |& L; ^4 U/ k6 N% V! h2 x( Y k# U2 m% p
/* override diags mask for selected modules */3 x5 b5 [2 X, |/ G
xdc.useModule('xdc.runtime.Main');
! P* I5 G! T3 pDiags.setMaskMeta( a# U! w X W/ X e" s+ w, `
"xdc.runtime.Main",
7 s7 W! T# [5 f) j* _/ @( X7 r Diags.ENTRY | Diags.EXIT | Diags.INFO,* X" F0 ~9 U; C# W8 \( [& `- @& d. s
Diags.RUNTIME_ON5 w! ?- d& d1 {$ ]% i0 Q
);
3 j0 \) ~/ W2 [! c" A$ u$ j1 ?( ?+ O; P. d' o6 }
var Registry = xdc.useModule('xdc.runtime.Registry');# }- I2 O- ~! ~. X: n( C) c3 j. l
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ i. A; K( u# _8 V4 N8 K4 Z
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
x; g) Y8 y6 E* M( Q4 YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;' s# R' K/ }% J0 B" `" C
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
?' V. I6 S& [& D8 R- p) M6 {/ E! f l }( H
/* create a logger instance */1 ~5 W" S$ s/ b
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ W9 K7 O+ K' c: x! n# {var loggerBufP = new LoggerBuf.Params();
) G" ~( K8 g7 V! m' }# C4 ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 Q; T6 @* w# b+ C0 QloggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 j" l c3 a( i# g
* D" V* c& g. Bvar appLogger = LoggerBuf.create(loggerBufP);. x, q* Y; q& u" z2 ]
appLogger.instance.name = "AppLog_Core1";/ r1 X( G" @( Q
Defaults.common$.logger = appLogger;! A/ t. O) E& L. i8 W& a9 F
Memory.defaultHeapSize = 0x8192; 6 h$ d5 |3 q! ~* u
Idle.idleFxns[0] = "&LEDStatus";+ E( d# q2 n( \
Cache.initSize.l2Size = Cache.L2Size_32K;& V$ w, O& [% y9 P7 ~
" o2 F0 x0 H8 _) l |
|