|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 u1 d; h" y7 ~) S我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- _2 K& W0 Q7 T" l/ z+ @6 v+ Z9 J(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! D0 C4 p" n G( k
+ J7 t) c* n0 _" ?* d# _是不是需要在DSP.CFG中进行配置
: ~0 j) B, Y/ W9 {' K# ]% k% X我现在的配置为
( P6 q0 P. b$ U7 y0 A' n
/ X8 u$ h+ G% e4 T/*
; Z; q2 w8 X9 L5 `6 |9 w * ======== Operating System Configuration ========
, O+ X% r: {" \) {4 l0 z v$ t5 ] */; k, m6 R! N1 m+ A1 s: A
: w/ U7 |$ p- c' C7 S
/* no rts heap */
9 S* J( q9 k J- Z9 pProgram.heap = 0;# s3 _+ X- W+ e1 b( o" b
Program.argSize = 100; /* minimum size */
: l; B8 j* e+ @8 r" ?4 C# x$ `Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! d4 T" w3 E$ B& {3 a# T9 X* o* \
. g. T8 Z7 H) Z- a/* create a default heap */$ J3 ^( }1 }/ A* u/ C
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 [- X# {& \# w) ]% C1 r% A' N
var heapMemParams = new HeapMem.Params();, C% R8 ^* ^9 v0 Q$ [; Z7 T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 O8 t1 H+ K$ h. k: N4 R i- M
- p' |; B( ?6 b2 [var Memory = xdc.useModule('xdc.runtime.Memory');+ Y0 d6 `* K4 E2 [/ m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); E! [: b+ A6 }2 r) k
, b1 u3 \' u' b, i7 n( T, |" d/* configure System module */
+ Y5 g9 d8 U1 i e( @. g2 K3 `& Ovar SysMin = xdc.useModule('xdc.runtime.SysMin');% K# s7 d0 T" y v- C
SysMin.bufSize = 0x1000;, G/ t. m9 d: A. ?0 {* [
SysMin.flushAtExit = false;
: N: _% d T! b3 u+ G- H/ ~7 H, A0 {: B. ] ?, ^
var System = xdc.useModule('xdc.runtime.System'); N+ _* L2 c5 ]+ N7 |0 D- C% Z3 _9 a
System.SupportProxy = SysMin;
: L; n. r8 }/ ~' W9 i( h/ }4 Z U
/* configure SysBios to use the lower half of Timer 1 */$ K) Q# u0 X3 e$ ]
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' m: y' D/ P3 [
var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 u [7 ~$ F& |# s
Timer.timerSettings[1].master = true;
4 s! n: }( A9 C! F( [Timer.defaultHalf = Timer.Half_LOWER;
5 \7 U: Y0 U1 OClock.timerId = 1;
4 c0 U% [. D" J5 y. ]% k5 X. M( p; l! w. `1 [# s) @- R5 R
$ o N, g$ }0 A: t! C: @2 G- `! K/*0 Z7 I1 ?) W% S- Q6 v- n N
* ======== Miscellaneous Configuration ========1 I. {, B6 f$ Q1 b, K$ ~8 b
*/
6 `( p2 P2 R0 D9 |
$ t: _+ g1 `) q% m" H- N% Y. N3 _/* set default diags mask */
2 m0 k$ e- h! T2 {% h& I% xvar Diags = xdc.useModule('xdc.runtime.Diags');
A8 }/ n6 t$ ~6 V5 d L6 g5 wvar Defaults = xdc.useModule('xdc.runtime.Defaults');6 I$ V- f0 P4 s9 Q
" e+ K" T; N- l# V, b8 K9 GDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% H( p- Q5 H Z3 Z* z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;1 Q; x0 ~) ~: i( X
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 ^/ T0 Z( {! w3 `
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 y+ U, D9 w* g8 P( L @Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% d0 U- N/ T1 H. w/ R7 u" V& |
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 D9 b* h- F: b p+ u$ m
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
3 K0 y: e9 ^, [6 u* f0 \3 j) |Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 e2 Q8 q/ z8 x5 ^( w* T$ [Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 ~) M4 j7 V/ V" ^. v- a* b: d" o1 k
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, ?* {. ]- {5 n, r- @; ^2 UDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 f% b x/ j8 b' KDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 O. `2 y- w; J4 G$ @Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 k; C! b- \' Q9 o
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( B3 B, s9 V+ @& E. S( I( S; V
8 D M7 A% i0 s- V. Y. o# S/* override diags mask for selected modules */2 J" U9 f6 k8 K. Q2 G. s! Q
xdc.useModule('xdc.runtime.Main');' O( I& t1 U/ }4 F v$ l
Diags.setMaskMeta(
( F5 I( X: Y& p8 i# b3 G "xdc.runtime.Main",
, _6 m+ p ?/ o; {! g Diags.ENTRY | Diags.EXIT | Diags.INFO,
! d E+ y& W- ~0 y Diags.RUNTIME_ON/ b( Z9 Z# |) @% V5 f! c
);
8 O$ G, O6 B K# i2 b+ Q( {5 \- r/ I1 s
var Registry = xdc.useModule('xdc.runtime.Registry');
- X. c* B3 S1 X V- iRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* p+ Y" E6 W# rRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 E. z9 ~& c7 M+ h7 @& ]
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 {& h+ ^ R7 H' G/ zRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;% w8 M$ X' ^2 u8 @; U0 L8 V
* `7 W3 s; Z. w" G! E2 v: b
/* create a logger instance */, Y& t0 v( K6 b/ |/ g. p0 _. d
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
1 }% Y1 Q8 S4 ?) ^+ F( g; |var loggerBufP = new LoggerBuf.Params();
/ u. W6 N' H: n6 gloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */# ~$ [, o* N" c: ]8 F
loggerBufP.bufType = LoggerBuf.BufType_FIXED;' S3 {- g/ E6 S% Y
0 b; Z1 u7 _& i u. Avar appLogger = LoggerBuf.create(loggerBufP);: j) W) p& n/ s: ^# P
appLogger.instance.name = "AppLog_Core1";
! o! O$ m* {+ N2 ?/ u8 _Defaults.common$.logger = appLogger;
# K$ r1 P# M5 B' L4 U5 J- X' cMemory.defaultHeapSize = 0x8192; 1 U! E' ]0 f$ |5 \! ^" W: `
Idle.idleFxns[0] = "&LEDStatus";
7 u7 T7 I0 `6 wCache.initSize.l2Size = Cache.L2Size_32K;
2 p* `2 C p1 B: {
$ D* o1 ~" G3 X4 n( m |
|