|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( x! @- s& A. x' p我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" I3 l: F" d( F1 G9 D
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 I6 c1 Q3 J' N4 d) C v
O/ p: O6 f/ Z是不是需要在DSP.CFG中进行配置
3 @2 I7 g+ C% ^1 n% k* m; _6 }我现在的配置为: N( U4 W0 X( B1 B
- d) L" J9 v+ I% X% i- ]
/*
2 A* Z1 v3 p% f/ o * ======== Operating System Configuration ========
6 T+ N: Q: U% _# g& O& L. [8 z */ ]2 b" y) |( u, J, n
! e4 p1 S. Z% X, x
/* no rts heap */
* f" W; ` k) F$ M- DProgram.heap = 0;
5 V- z4 |4 ~& O. ?6 E. VProgram.argSize = 100; /* minimum size */
+ T9 ?. q/ E& y4 cProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大4 q. N0 m* j/ F' T6 f
3 m: U* A$ Z5 A0 `/* create a default heap */
1 i/ a8 E* d& k4 n* {* vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- N! v# Z) Y" p1 j0 ~0 Jvar heapMemParams = new HeapMem.Params();
; ?' Q% @ N0 w: U8 EheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ |; I6 e; _) L# t7 j" V+ M
( W" H' J$ p4 Q9 G
var Memory = xdc.useModule('xdc.runtime.Memory');
! d( G6 w; C7 x3 [# _; {9 {Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& H* m$ c3 m9 E/ Q$ |
6 B: p; j& o6 S4 |7 ]) y; F7 q/* configure System module */" T# M- V1 x4 U2 m
var SysMin = xdc.useModule('xdc.runtime.SysMin');
6 [; |5 [4 m. l/ iSysMin.bufSize = 0x1000;
/ _9 Z+ u& c7 z" V" M4 cSysMin.flushAtExit = false;
0 ?2 u9 g5 n7 }0 ]/ B9 W; u0 N/ f- Z$ s. X; I: {
var System = xdc.useModule('xdc.runtime.System');
+ c/ J6 d) ?: z/ `, a7 F X; y7 SSystem.SupportProxy = SysMin;2 B7 _5 z9 s8 s5 H! M h
( Q$ B% J3 j; _8 @" b
/* configure SysBios to use the lower half of Timer 1 */' I3 i. S0 @! M( j; X
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); o/ z; N9 l% L1 x. h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');5 Z+ o: O$ C9 V, T
Timer.timerSettings[1].master = true;
k! t3 z. W3 H& D* D8 hTimer.defaultHalf = Timer.Half_LOWER;
( W% f7 e! u6 w9 K- SClock.timerId = 1;4 Y' s' }. e# {6 L% t: _, [2 ^( X2 F2 }
' E2 p1 ?. H+ c! W. y2 p6 b: ?9 d! ^: h" ^3 f6 K* ~0 l
/*
8 d' A5 [6 Q3 L; m$ j. `, H/ \! H * ======== Miscellaneous Configuration ========; x+ M |3 m4 Y; B& L4 y" ^
*/
6 B' k( t; U/ E$ R0 x3 D) R( K0 L; F7 ?$ t
/* set default diags mask */ M9 a5 l g: ~; c* I* k
var Diags = xdc.useModule('xdc.runtime.Diags');2 |% m5 g5 y; W& T" H' c* N1 g) `
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 }9 Y {8 x$ l% c- T. |. q' Z* L
5 m* y1 C9 T( XDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 V I( E7 l& }: \2 ^7 H6 W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 Y7 z2 y/ j3 `: K& J7 jDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; s6 l8 n8 q: }. U' w# s7 n
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' ]+ q- c1 n( XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& z+ u9 i' J( `Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 s2 [/ e# J1 W
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 Y5 g1 l ^" |/ i) Q- u: u
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 W! k/ R. p) Y$ ~& }& LDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ c; d# b1 b5 o) [7 s
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; ?4 \/ `" q7 v! a5 p+ P. D0 ADefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 t) t* [5 R* ~& wDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# _/ d- b" v0 t7 _- O" [$ {
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* w. p1 q/ ?! A$ SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; d* o- r, v' H+ p% q+ b
3 y/ e( Z% n( ~/ Z4 t4 B
/* override diags mask for selected modules */
+ G. ^) k+ t+ G8 m( Fxdc.useModule('xdc.runtime.Main');
! t' P8 g# I4 h# i wDiags.setMaskMeta(
G9 ]4 Y' }7 p "xdc.runtime.Main",# X: ^# c4 q6 _/ |9 }8 F+ g
Diags.ENTRY | Diags.EXIT | Diags.INFO,
- K7 N3 m5 z v- d; L3 ^ Diags.RUNTIME_ON5 B5 f$ c/ {" ] ^( u/ S9 o
);0 q V5 c6 W/ y8 ?" M) r
2 A& g- m0 Q! q
var Registry = xdc.useModule('xdc.runtime.Registry');; d, K9 J$ ?4 M" j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) u3 L' d/ l( NRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' H; @! \7 h3 Y; z0 C. d: BRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;% x- f4 q7 O( y. `$ ?
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; Z1 O9 [/ ]) U* Z- Y! ^
& ~5 X7 e6 t# m& m& e2 l
/* create a logger instance */# f* t! Z' E- S B3 n- A* p
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! H1 A& l$ m9 ^2 t! B- Kvar loggerBufP = new LoggerBuf.Params();3 d4 v7 u ?4 f' u) U i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 |1 l1 N$ y S! n1 q- h1 UloggerBufP.bufType = LoggerBuf.BufType_FIXED;, P2 |# W0 }7 e$ W! U) @4 {1 w8 a
2 ? I" [; E" E# @/ W+ G6 {$ q
var appLogger = LoggerBuf.create(loggerBufP);
' b% G6 k- d+ f8 `$ W' _% y4 LappLogger.instance.name = "AppLog_Core1";4 c3 E4 a0 S9 J& H/ ?: d8 @0 a
Defaults.common$.logger = appLogger;
8 T- A9 w, v( n+ D' @6 i* xMemory.defaultHeapSize = 0x8192;
9 O8 W1 I/ m. k0 ]Idle.idleFxns[0] = "&LEDStatus";
/ e: [, ?& K6 ]8 j. S* y7 {9 r' vCache.initSize.l2Size = Cache.L2Size_32K;
|! m: E7 m8 F" x; c h* Z# i2 M* r* }( w \6 `
|
|