|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 o; G2 l, q3 V; P8 _$ ]6 c
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' j8 `' P V7 S0 \* j/ c' v
(不过疑惑的是,为何单独DSP仿真就没有问题呢?), g$ S1 W6 A: z" r
4 P. G. r. g w7 a& x* b' o是不是需要在DSP.CFG中进行配置: X* p* m7 o- H* H+ I
我现在的配置为+ e* P1 [/ x$ }! V) Y
3 ?7 C* Q+ G6 F. r$ M% W
/*7 g2 H, E% Y7 ^3 U2 o( v* P. r
* ======== Operating System Configuration ========; _3 b9 A }0 n2 R$ e* a
*/
, k. ]# Y/ V) ]8 o
$ |& G& L5 }* M! ^5 q2 H+ p/* no rts heap */
9 p. M0 }0 z j1 ?1 A1 GProgram.heap = 0;* k: S6 X# g6 {$ X5 R
Program.argSize = 100; /* minimum size */) [, u/ U, g {8 W( p- d. y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 g0 _+ N, u* s: l' f0 \& l( H
/ B- e$ n( O/ Z3 o/* create a default heap */
! A! _# T6 \# b1 ]- \var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
) g/ @$ @1 T, ?7 {, Z6 Nvar heapMemParams = new HeapMem.Params();6 j" r' }2 a) R# b. }% u* w( ^
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! h9 d3 I2 G+ E8 }) R* _% K$ Z, X
. D0 D+ I5 }7 h( x8 ~
var Memory = xdc.useModule('xdc.runtime.Memory');
( t4 g) d5 O' ^ cMemory.defaultHeapInstance = HeapMem.create(heapMemParams);6 I }3 h- i' P- V/ D
' h2 d U9 `# S) q) _/ r% I
/* configure System module */
6 b! ?) @9 d: a; Mvar SysMin = xdc.useModule('xdc.runtime.SysMin');
2 I: b; |* U4 Z' uSysMin.bufSize = 0x1000;
. Y( ^8 c+ O. D# C9 T% X3 ZSysMin.flushAtExit = false;+ U/ P7 ?' K# b
5 l+ A4 \9 e) [var System = xdc.useModule('xdc.runtime.System');
7 y7 \0 k: l/ [4 ^System.SupportProxy = SysMin;" s9 x; p6 r8 Y- H; ?. w" k
+ Z1 A( T ^5 v- k, v( J/* configure SysBios to use the lower half of Timer 1 */
, k5 U4 n2 O9 k+ ^ ]& e# n N& N; Rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: \3 _. x D# r, D
var Clock = xdc.useModule('ti.sysbios.knl.Clock');: F/ m. P+ N: `& H J
Timer.timerSettings[1].master = true;
) J0 ]: [" V6 S7 vTimer.defaultHalf = Timer.Half_LOWER;# a# i' ]) K" q
Clock.timerId = 1;& [9 t4 V/ u+ F
, l/ \2 ^( L% H# {' \- R' R
0 J v4 a5 Z( j9 z7 E" e
/*
* D0 Q; |. K: B * ======== Miscellaneous Configuration ========
# p* \+ m; l D6 V */
$ V- p% C/ ?- A/ F& z0 a( a1 Z: G+ K/ l1 \# Z4 v% L: T3 }
/* set default diags mask */3 R4 Y, d- d2 u. k9 ^
var Diags = xdc.useModule('xdc.runtime.Diags');/ R: \/ ]6 x7 Y* b
var Defaults = xdc.useModule('xdc.runtime.Defaults'); G0 a, ]% @" [6 i
- f! l6 Z' e/ x9 f/ H, HDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
o* [+ C/ L% y, G' ADefaults.common$.diags_EXIT = Diags.ALWAYS_OFF; n4 e: Z* A) ]$ Q6 B6 s
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 l0 C$ w* R) l) U& DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 F) l9 |& K2 y( A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" c2 Y- x3 `: |" }1 R! ZDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ O: v5 O" r, U g8 u! X* w( q: b. e
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' j h: Y/ N1 K/ A0 c) V; i
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. h3 W- G6 g7 q; A
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ ]) a# p, L; I4 y. QDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& q2 ^) _8 O% v* \Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 [' a0 G8 ^7 eDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( X4 }7 g' H/ z- W7 v8 @, L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 [3 L$ {* `5 ~! X/ B$ N$ O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 n& o7 |1 J/ g6 O5 Z6 h; q% T" p
1 R- ?3 b2 s, f' `3 h4 l
/* override diags mask for selected modules */: P/ B2 b7 n/ Q4 ^
xdc.useModule('xdc.runtime.Main');" q7 u' @& s. [! Y
Diags.setMaskMeta(
# }8 \: B5 n% J& T& m6 X- f "xdc.runtime.Main",
2 N5 c/ y# {) s, o: p( S Diags.ENTRY | Diags.EXIT | Diags.INFO,
' ?8 j1 F9 p$ Z' `# d; [+ \ Diags.RUNTIME_ON
4 B6 k2 l4 v$ N% y) s- b);
5 U4 c1 X6 I8 b% @- q
# a. L; Z- i& \3 P) I5 j$ Ivar Registry = xdc.useModule('xdc.runtime.Registry');
% T2 {" H$ O9 _3 [/ j2 A: DRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" R6 }# e: v8 _
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- k: R# ?! f `' oRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
' Y( U) Z. }* `0 T8 ~Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 g8 S# M7 b! E( m5 T/ K
; a3 A9 t+ D" T, ^( K
/* create a logger instance */
% u0 D5 G5 J6 a8 Wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 r& p" d9 r7 ^- @8 F$ W, qvar loggerBufP = new LoggerBuf.Params();
! t/ H8 {- [# J0 kloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 w2 W. u8 a! g7 s, a v
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. w, z5 `1 {) E: l" }; \
3 K: {% U# n! xvar appLogger = LoggerBuf.create(loggerBufP);8 l# i9 S3 G4 j
appLogger.instance.name = "AppLog_Core1";
: B& G9 J4 g) j8 [: v1 R* jDefaults.common$.logger = appLogger;5 X# a9 v9 M/ g( v$ o
Memory.defaultHeapSize = 0x8192;
7 I$ ~& F) S& K( RIdle.idleFxns[0] = "&LEDStatus";
, ?$ H* V1 b$ R8 E% a3 ACache.initSize.l2Size = Cache.L2Size_32K;$ U0 {& S g' }3 j. u. C( l
( Y& ^: C3 A: t
|
|