|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( c2 z' `% U3 J. g( ?- K, C
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; w& Y, Q y4 E* [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 `% p2 s. E$ Z& k+ |& }
1 e6 ~6 |% W1 K0 d
是不是需要在DSP.CFG中进行配置
8 C& x: Y! f3 _# u2 }4 F& S! a8 ]7 u我现在的配置为& ^6 h3 l8 h; @6 \( U. c
2 I6 z+ R# g% m1 f5 z% z0 R
/*
5 i9 `$ f! n5 I" P! R$ T * ======== Operating System Configuration ========
# N; ^ [$ i8 k& C */4 r3 n" E$ s6 J+ B! q: r3 s
0 f* C! w- n* H' I
/* no rts heap */- l5 h+ ~9 w. ^8 I4 z
Program.heap = 0;
8 {" z9 K" ^0 N# Y; gProgram.argSize = 100; /* minimum size */
' Y9 F( H, n2 g7 W& MProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& j E) z: n8 K6 |( V8 ]" ]6 b% O% h% J7 G5 F7 h
/* create a default heap */& s2 K' W9 O) M# O2 a
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 b% X0 B( m# o$ N9 {, E. Jvar heapMemParams = new HeapMem.Params();: g9 P* T5 A$ q" U2 L
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% ^, z9 I; v; V$ v
; \7 j* v2 d# g( v' O2 qvar Memory = xdc.useModule('xdc.runtime.Memory');! p+ s& U& M- a, u1 T- X. Z+ U* I
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 {, v* ?3 R4 u
' m) g4 m0 Z4 K% A3 { U/* configure System module */
0 L0 z( |# a' w7 v/ J/ fvar SysMin = xdc.useModule('xdc.runtime.SysMin');
( ~1 a; a8 D- _SysMin.bufSize = 0x1000;
% f4 ?, G' v: h1 hSysMin.flushAtExit = false;
1 A2 ?; Y' b: A. P4 y$ f$ m9 }
8 d7 m' [8 I0 P% j6 r3 ]4 B+ t; Mvar System = xdc.useModule('xdc.runtime.System');
4 U% k# _) n0 M O% h% ySystem.SupportProxy = SysMin;
, ~- h. E% U: ~/ v7 Z: { k" o. S
/* configure SysBios to use the lower half of Timer 1 *// j8 f1 Y" t8 M% i2 F* I% O3 T$ l
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) X( ?& }3 V! G4 s9 k* O% fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ B" L% W4 \+ B- J% v; O/ _) f. B
Timer.timerSettings[1].master = true;
( M; H3 Z$ E- y/ yTimer.defaultHalf = Timer.Half_LOWER;* N/ h$ a" k: W5 g
Clock.timerId = 1;
: b" L! q |1 |. K8 j5 ~
) r d# b0 t% ~* ~! {1 T7 K2 X, P! x0 J
/*
9 {3 P3 Z! Y! Z2 W5 S. j * ======== Miscellaneous Configuration ========
, Y- K2 T" L- L! k" R */0 j8 R7 Z4 Z6 j7 }8 b
4 n( y0 _3 H- ?3 O, A
/* set default diags mask */
8 M% K7 U3 R8 |6 [4 Gvar Diags = xdc.useModule('xdc.runtime.Diags');
0 o6 R: r6 ^6 W- t: ]& g2 e/ @+ Kvar Defaults = xdc.useModule('xdc.runtime.Defaults');
) }1 L6 |% ^' L/ q: j( x' z" I( d% G' m" r0 _7 j
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# d5 ~/ H1 z2 A3 \& m i5 v9 w# [Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 o! l. C' m" K7 T0 P
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ |3 R9 y, g9 H& ?- E; C# S9 |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 K" v1 y3 z& C" {
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, H& X( |1 n5 w
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 D' L( {6 C9 ~) D) g' i+ XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) f% H7 m. i9 t0 g# `- ]3 \
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 ~; T; m4 _2 p
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 T! p1 O U1 SDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 W. d" g/ O4 _! I# U M0 m EDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& a/ O" S. v$ Z5 l' \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# S( n4 ^& z E6 N9 d; r, ?Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; ]8 H+ q) _" W, s/ o3 fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 Q; l# D; u# g) T: P
& A% {' e Y# |; V" m/* override diags mask for selected modules */
; P; y( i y; J( jxdc.useModule('xdc.runtime.Main');
% U, g; t1 R0 O g. {& WDiags.setMaskMeta(
) I7 |! B! }8 ?+ Y5 k2 ]5 n "xdc.runtime.Main", b: h, g+ \$ J4 g0 Y* B) f$ {
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 ]% t& q) u+ z# s3 `3 [. f$ ]
Diags.RUNTIME_ON ?7 u& @2 ~9 @( ]
);
$ w7 w9 s* l1 ~0 A4 R" t/ @
3 V( j- R( z" Q' D' kvar Registry = xdc.useModule('xdc.runtime.Registry'); T0 l9 V7 h* I8 k6 o) k7 M$ @% W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ D9 k8 F0 \/ i! q3 FRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 n( t/ o. P3 {
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 r/ O! J1 o& }4 _8 e. D6 [, KRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 N: h* N- z" x- B$ g2 R8 D0 @+ U5 {
# E: }; j8 j( {1 \- ^# s: K/* create a logger instance */& U- g- E% D8 p' Z w8 |! G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" `6 E; H* o& _5 j: a: d
var loggerBufP = new LoggerBuf.Params();
/ z5 o) F! b/ [( }8 U( t4 IloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; M4 ]4 M3 F% JloggerBufP.bufType = LoggerBuf.BufType_FIXED;4 O4 J0 G1 U7 k7 C/ j7 N' ]
' o, A- g. q4 `' P6 Hvar appLogger = LoggerBuf.create(loggerBufP);! k- O5 w9 p7 O6 T: W: {. z
appLogger.instance.name = "AppLog_Core1";6 ^! h+ a3 E/ A. M! t. Q( l( T
Defaults.common$.logger = appLogger;
* |! V6 L* i' W8 w" Z1 TMemory.defaultHeapSize = 0x8192; ; e2 w W- N( c3 A) F. Z
Idle.idleFxns[0] = "&LEDStatus";
0 o3 Z+ r- h3 O% K+ bCache.initSize.l2Size = Cache.L2Size_32K;
, A( f+ a5 W* D2 p0 v* _
8 E+ ]9 `0 A- ^: x7 G- P |
|