|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( V% m) D0 T# f2 k
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& A. X, W4 h+ R2 ^$ F(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 g* h. r5 |2 I
1 i& M% S9 \% S; n+ \
是不是需要在DSP.CFG中进行配置
0 A" E p' Q& I: l$ `" i2 m& W我现在的配置为2 W7 @+ L/ D& z' {, S3 D
( |# x6 A8 _* W' ?/*' V4 |+ c6 U7 I' y; u x
* ======== Operating System Configuration ========
; t7 ]% {: f# \ p4 G8 S# c4 U2 x */8 i/ D: [0 x' j
$ X3 M. ?) E7 j+ P" a' l/* no rts heap */
3 h2 l* k' [! O6 `' YProgram.heap = 0;1 Z, [ e8 o# y4 O: g
Program.argSize = 100; /* minimum size */
$ Z, s/ y" O( p" |) |; BProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% `! f/ ?, k5 T. j; f8 C4 `- ]: s; c
/* create a default heap */
( G+ k$ c( n: C: }0 h/ X- ovar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' Q8 }, [& R1 w9 b# \0 Lvar heapMemParams = new HeapMem.Params();0 g1 ~% q" n$ Z( I
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, {9 {0 ]( R0 X8 E
i! |0 }; @, |0 P0 m9 V. R+ P0 I
var Memory = xdc.useModule('xdc.runtime.Memory');
8 i* ~& y3 I. Z& _+ VMemory.defaultHeapInstance = HeapMem.create(heapMemParams);. ^. Z3 n2 z, s' G- j, F8 @- z% {" S; w+ X
5 P& W' h# `' u8 Y1 _7 Z: t/* configure System module */0 O6 S" Z' P% l8 Z) H
var SysMin = xdc.useModule('xdc.runtime.SysMin');9 N3 e4 [& b* w! }1 L& Q! X( Q
SysMin.bufSize = 0x1000;6 G# `' N& N: s9 [3 e
SysMin.flushAtExit = false;6 F6 J% r" l3 Y; z6 U& ~
1 [6 m/ {7 H7 Y ]5 b, c. Cvar System = xdc.useModule('xdc.runtime.System');6 B* B1 T8 ~3 y2 B( s
System.SupportProxy = SysMin;
0 @3 Q: {( O, b7 k
' j \" H g3 N- N2 s. u/* configure SysBios to use the lower half of Timer 1 */* s' B2 V8 S& B+ j
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 B* \. Q( | w! X; Y* W: nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
* i& e0 @6 V, ITimer.timerSettings[1].master = true;$ r( M% I% ^: G$ F' F# V0 f
Timer.defaultHalf = Timer.Half_LOWER;
* y; w f6 C% q9 J1 `* w# PClock.timerId = 1;, S, J5 C- I4 U" s
' H2 a7 @6 r! R$ J4 ^
9 _4 @6 u: Q/ x$ N
/*. M5 _; N2 ^5 X6 R$ A- s4 e$ n
* ======== Miscellaneous Configuration ========
3 |5 ~9 X" q9 A! V# l+ y2 T */
Y& m" G) l" \2 ]4 O# a
, N& d+ x$ M# X k; K9 D0 Z. Z9 B/* set default diags mask */
, O- [5 R3 n0 o N; U, |/ i8 ivar Diags = xdc.useModule('xdc.runtime.Diags');
/ _6 c8 I+ t/ z. Z* pvar Defaults = xdc.useModule('xdc.runtime.Defaults');; w5 ]. u3 u% `0 ]( H3 w! N& P8 @8 ]$ n
6 t/ j5 h% A) ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; v. t' ]- K# p$ d* a
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% `; m: h" S1 _" K
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: R: \/ [4 |1 z1 s3 R6 XDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* m$ E0 Q1 X2 U/ R* pDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" r5 `5 R: u @+ {) i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;" d" N- N& N8 c& X; D
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ u0 i/ Z( l; w) E
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) \9 S5 _- M& C P
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
j( e" }8 x0 ?: |8 K4 YDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& x8 J9 v2 t1 j; sDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 @; l: \ n D' _: F, s2 i/ a$ E
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, h6 B2 Z, b- A. l
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' @' c' Q J( N7 nDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ A y& Z/ b' Q% U! I3 V! w. U* w0 K0 [. [7 X7 P6 m
/* override diags mask for selected modules */7 ~$ a% |* {/ f4 c
xdc.useModule('xdc.runtime.Main'); g4 `' y- G. ^7 p4 G$ V
Diags.setMaskMeta(0 I) u4 G; W* s" s
"xdc.runtime.Main",
5 K. `3 ^0 b2 I0 a, m5 C Diags.ENTRY | Diags.EXIT | Diags.INFO,
4 O8 V, C, [8 f. n' ?7 \, F Diags.RUNTIME_ON @2 E5 x( k$ `8 J5 V
);
9 n2 e. J: O. D `9 p) F% k! a) T2 y- ~: T( {+ ]4 W
var Registry = xdc.useModule('xdc.runtime.Registry');
- \% ?! b; S' e' ORegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. x2 a1 W* _" Y9 I2 ]; Y9 g6 `. hRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
, @& a1 I2 d: JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* S3 }* w6 M% n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- z- z( `% h2 {
$ l; J4 h. T7 ^7 x+ Z/* create a logger instance */6 c3 R8 R" \# R+ G# y; x8 c# D5 r
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ J3 R' ^9 @$ ~! q- N+ s: ]var loggerBufP = new LoggerBuf.Params();
2 ^9 H* ~, U& ?, rloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ o: w( h8 u* |
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 c; d P+ ^! M. m/ }3 e5 Q z" Z' b4 B# k" z
var appLogger = LoggerBuf.create(loggerBufP);3 V8 S* m" Q9 F
appLogger.instance.name = "AppLog_Core1";, R. R# |+ } G. B! p# Z/ c" ?
Defaults.common$.logger = appLogger;; m4 r3 B7 m8 x& q K7 D0 J8 i
Memory.defaultHeapSize = 0x8192;
0 }$ m# Z1 N$ ~4 _6 TIdle.idleFxns[0] = "&LEDStatus";
0 [! x1 h; w+ L2 `) E2 J# dCache.initSize.l2Size = Cache.L2Size_32K;0 s4 N( n7 V5 o e
) p' X5 Z; Y' k0 Y2 P8 p3 ?( V |
|