|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, l1 q! P- V1 _) `* q. g9 `) W7 o' t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) }( @* R& @9 c- ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
4 M$ _ ]. y% Q2 c/ ]6 p% z2 y1 i5 E, d4 T
是不是需要在DSP.CFG中进行配置
; s6 Z* [5 L: w8 e! n; ~7 f我现在的配置为* P; L) l0 _! \# m! O' M) t& D/ }
\0 W8 n# ], R9 j, Z/ _0 P/*/ A" E- R" ?" \& v. v3 c+ W6 K4 }
* ======== Operating System Configuration ========0 u- l o2 ]* a. w; d5 H& n
*/
, t8 y y9 ]6 c6 G3 W
( W. u _1 M) J9 E0 G/* no rts heap */0 X- k- ^( L: U$ e. x
Program.heap = 0;; O6 K/ U& [4 B9 X- i% R* h7 N
Program.argSize = 100; /* minimum size */- P& \. q1 h% f
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 u* O* r, L; s% ^1 ^7 ~7 t, q# }( ~
3 d) J: d" p! \9 {9 L/ V; ~
/* create a default heap */- I6 `$ u7 n0 E& I" P* C
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
7 S" Q$ T# [4 r- Y1 J5 m3 [* Vvar heapMemParams = new HeapMem.Params();
/ G5 o! {# t1 W6 vheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 ~6 H1 }: G: u* p( C! ^
' l6 `: M/ S6 f/ Dvar Memory = xdc.useModule('xdc.runtime.Memory');
6 T6 d0 b Q P8 ~. y0 \1 oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
' p; p% v" l' \+ I1 t9 q$ N
& y6 l9 @" W8 n) C V# L/ t9 h/* configure System module */
" T& T2 r* U/ `& E* lvar SysMin = xdc.useModule('xdc.runtime.SysMin');
: d/ U, l# u) k" b( s9 _ n9 q) MSysMin.bufSize = 0x1000;2 J& s$ w: V O: w) G
SysMin.flushAtExit = false;
8 C7 v3 x8 } j9 Y' P4 T9 D: d2 [- N3 N: r o1 q
var System = xdc.useModule('xdc.runtime.System');+ h4 i1 W b& x+ ^
System.SupportProxy = SysMin;
2 G6 V8 j) L8 W. x; t5 y. f& S, B7 n! ^5 a& R* n2 Z: V
/* configure SysBios to use the lower half of Timer 1 */4 @ \1 n' P, N, Q9 T- V- q2 [0 ?
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); l# {+ d" G5 N- h/ g2 {& H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ _3 }6 z' e$ X6 \( S+ S8 c) B( `Timer.timerSettings[1].master = true;
- ]: T( ^, {: P" @5 T6 vTimer.defaultHalf = Timer.Half_LOWER;
. O7 q. ^& c' ?* A5 F: _" h7 _Clock.timerId = 1;
( q% H. a8 E: l0 U
4 M7 e* ]2 j$ o0 \
8 _( x. O$ r- C2 y0 \9 b- f8 W& h/*2 \* V9 D* n, o
* ======== Miscellaneous Configuration ========. Z8 j: A+ D7 j; s$ `) O, _
*/
* x& H. Y1 F/ d2 q8 j+ R8 @$ B9 V* ?/ L; _' u. n: Y
/* set default diags mask */
( a8 O4 E; r. p( Tvar Diags = xdc.useModule('xdc.runtime.Diags');. g0 a4 }2 c X; {* a
var Defaults = xdc.useModule('xdc.runtime.Defaults'); {- k% U0 L9 n
5 x+ w1 x+ L1 K1 ]- H
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- C& K" g% W9 }. _4 GDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% }3 a+ |" D0 m5 `6 j
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 C- E7 t- Y; ?/ gDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 y9 g. X) w3 v/ o4 a# [* f( XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ j) q3 q2 ~ Y( }' k
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;) t3 b, f' Q5 v2 U
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF; i- R. T- _ A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 B+ `6 _% S0 e( T/ {: K, M2 Q! i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# l! u2 W: \" u$ t/ Z# M
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF; O9 A B7 a/ E% h# q% }0 `4 m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) M, o" c' h$ X4 n D
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ E- J. r8 u( L$ F0 m
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' J6 ]& V0 J4 g* Q& z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, P6 _+ ^- t; X! F2 n5 s( f3 v' w6 y0 q1 t; m; g$ b9 S
/* override diags mask for selected modules */' P6 J- i9 l9 Z
xdc.useModule('xdc.runtime.Main');8 [5 v% V/ X. [9 B6 _4 g2 j
Diags.setMaskMeta(# o7 n# V9 J; o* V2 N1 Q7 T
"xdc.runtime.Main",
( z4 }/ |8 O0 Z9 x6 ` Diags.ENTRY | Diags.EXIT | Diags.INFO,8 b( V. W7 g! z8 B& m' _' I
Diags.RUNTIME_ON
& [9 J6 [! D/ z2 t Z$ f);
5 W+ S$ e' L: |% u* V Z; [$ }
& ~6 {! K8 S3 p9 [& Zvar Registry = xdc.useModule('xdc.runtime.Registry');
- b1 p. ] c& Z9 SRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 `. r% Y9 z5 R& f E0 M( MRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 M( V9 ?+ N! G8 C6 V( JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;3 E3 g/ a! _8 O9 m
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 g( ^, G) x4 `- E: z% {$ T- u1 C5 @! P% r: Y* _/ D- V4 C
/* create a logger instance */- b! x7 l# [( q6 V+ m+ U; d; d
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) X( E/ }; B2 E5 n
var loggerBufP = new LoggerBuf.Params();
8 f r s6 X7 ?% W7 o2 K! p3 L6 ]5 T4 kloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# \. [ E/ Y9 L# l! i; s2 [loggerBufP.bufType = LoggerBuf.BufType_FIXED;; l+ O% A, _+ v( V9 w3 }
1 d7 s+ p. w8 R* |
var appLogger = LoggerBuf.create(loggerBufP);$ p% V5 h- }& D, z/ L
appLogger.instance.name = "AppLog_Core1";9 C' m# x7 f' I* Z. k- c
Defaults.common$.logger = appLogger;
( N1 A0 f. F9 ~9 r% L" r" v5 ^Memory.defaultHeapSize = 0x8192; * u5 I! K$ n7 R! b9 {* g
Idle.idleFxns[0] = "&LEDStatus";
8 k8 }8 j) [' X. r$ F q9 VCache.initSize.l2Size = Cache.L2Size_32K;
5 g# A* Q. a: L7 d! |: y4 |; s9 e1 h9 r2 d
|
|