|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: j) n3 U' D0 i/ e ?我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 H5 }) `9 t0 |
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 F4 F/ u" r' ]) p
2 c, ^! ?, m9 K% l; |是不是需要在DSP.CFG中进行配置- q* Z0 j3 U% m9 L6 h1 z! ?2 p+ j
我现在的配置为* i1 n2 p9 r }% `; |7 Z
0 W) J, j8 r' S% l7 i
/*! b: T. x; Q7 ~2 j$ U5 X J3 L3 a2 a
* ======== Operating System Configuration ========
( j5 y5 ^* {1 f! C */
. S6 u$ i& F- a# z3 K) ^
. z, Q2 y# p) D4 I4 ~/* no rts heap */
0 a# y* I4 v# F0 D' GProgram.heap = 0;7 r2 ]" H9 n6 y. r- ~; I, H% f
Program.argSize = 100; /* minimum size */
9 j5 R3 e/ Y5 E/ Z$ X( SProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大' V1 l f1 f) ]: Q
/ l3 @% ~5 @1 k5 F6 s! |
/* create a default heap */
. N" g3 ?* e0 ]# [var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ W3 E$ T/ \4 l" Y- |/ ~' {
var heapMemParams = new HeapMem.Params(); G2 q, d+ c0 x+ a- V7 t/ |' @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 y u6 ^7 N: ^" H7 E8 u* l% j
0 V3 \5 w/ @$ m0 _6 [' ^6 Y; Lvar Memory = xdc.useModule('xdc.runtime.Memory');
& S2 p# _% z$ @/ ]+ \2 |! H: bMemory.defaultHeapInstance = HeapMem.create(heapMemParams);: O3 w2 m' B: {4 z2 z
1 a, C0 N& P9 j' ?. f/* configure System module */
- h' U. `, C( {' S7 o! Yvar SysMin = xdc.useModule('xdc.runtime.SysMin');
0 n0 `: s+ K7 W; }0 MSysMin.bufSize = 0x1000;
( O7 N# C) K) U0 N" ^% ]) Z' } \SysMin.flushAtExit = false;
6 c+ i) t: f1 A$ y9 f C9 i
! |+ ^- H. R: Qvar System = xdc.useModule('xdc.runtime.System'); [; T3 n( f0 S3 S1 c `+ i
System.SupportProxy = SysMin;5 O! Z% H* c; f* P
7 I: G0 C3 G4 W! Z2 p* `2 i/* configure SysBios to use the lower half of Timer 1 */) P, P% z( B1 M( u' f5 h
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ k* z" R2 L+ s F# Qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');3 O. m" j" H7 S& ?/ p; s& F& _+ u
Timer.timerSettings[1].master = true;2 D" F Z7 W. S, ?5 a4 P- y
Timer.defaultHalf = Timer.Half_LOWER;: J. e0 r( o. B3 h, H
Clock.timerId = 1;6 B$ e6 W0 r! c
, ^# J# x E0 }# S
$ w; V* S* R# n% }) U
/*
: c1 y1 U; f+ d * ======== Miscellaneous Configuration ========7 r5 ]6 l* F) `; m) E+ i
*/! D: V! O0 h/ Q; ~) F- }
0 q% X2 e& ^# T8 o5 W/* set default diags mask */5 I* D, k9 O, B
var Diags = xdc.useModule('xdc.runtime.Diags');
% [7 M9 g X" ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
: N- `2 E/ s2 ^
; X, ]' Y# z9 s; HDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 v0 ^$ Q7 C' k: U r5 {) S% e6 Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: T! d. w2 s' ? E% bDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. I% l7 e. ] G8 D
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ E+ i/ e* [( o) E) s
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 B" R: x ~$ l" ODefaults.common$.diags_STATUS = Diags.RUNTIME_ON; @2 t9 u# X3 b% V: G6 [
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
; N( }: \! @" k6 h/ c, Y* tDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 K. M B: ~# i8 vDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 f; W0 W, O6 e& lDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 H: @5 m6 s$ {5 |5 W! k7 Y/ EDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;9 k& p5 ~, J, U4 n
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 v) H) n$ Y- L+ U. v! D, I2 o
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; {! P: f# x ~1 Z. M9 C- q( KDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) D. R6 c% p/ D0 K7 g1 S
% a$ d( S% L+ @( L5 A/* override diags mask for selected modules */" [; {7 { ]5 J: \& N) ^# U
xdc.useModule('xdc.runtime.Main');3 N- ~$ D# C0 U* s b4 s
Diags.setMaskMeta(
" w. ^1 ^% i4 _) L+ ^ "xdc.runtime.Main",1 K: a* J/ [- h
Diags.ENTRY | Diags.EXIT | Diags.INFO,, n4 U! w* I; k* ]4 G
Diags.RUNTIME_ON
5 ~7 L1 ^6 N, I& N/ n);& k3 P6 [) q& \" L/ F! P
5 q& P8 a9 x! I5 M. Dvar Registry = xdc.useModule('xdc.runtime.Registry');
i. t8 _5 D0 o1 U. G9 h9 sRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- _6 c; } h$ l& QRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" t; n! K- R( k4 w: C" GRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ A) ]6 O! I+ n7 [, HRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 u- c& k8 z3 ]+ u/ S) O) r' C2 v" p% \/ L* n7 r9 D
/* create a logger instance */
2 D1 A8 N; {6 n' G2 M+ Hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- o% i# \, S: ~3 ?& l9 f, {
var loggerBufP = new LoggerBuf.Params(); G7 e- X6 B" R/ B3 |& z
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: n d0 ~ m& `7 [# s& ^, ]' o1 B7 vloggerBufP.bufType = LoggerBuf.BufType_FIXED;) i! L% j0 I; y) J$ _+ e) x! k
M2 z. x3 X3 G7 m' B* q# H7 F. p
var appLogger = LoggerBuf.create(loggerBufP);* X0 p/ @, e5 F0 ]; n" l7 ~) ], Y+ I5 A
appLogger.instance.name = "AppLog_Core1";) n: j) ]8 C# C0 E2 a
Defaults.common$.logger = appLogger;' H$ `2 Q* o9 p* P+ {" D" i. K
Memory.defaultHeapSize = 0x8192;
$ m, q0 i& W$ |' T& [( C3 eIdle.idleFxns[0] = "&LEDStatus";5 F% I3 _8 U' |
Cache.initSize.l2Size = Cache.L2Size_32K;
8 Y3 V" p3 ]7 ]( \. K0 [/ S6 G% D' o, m: ~3 v2 R# H
|
|