|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 W/ V! I( Z) {5 R4 d
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 s5 [) I' H' g. f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' m* b4 N1 U* \6 q' e, W- h) x2 z; j
是不是需要在DSP.CFG中进行配置0 d% C! N0 _! e- q/ e X- `
我现在的配置为
* H# M- \- S2 c3 V0 C, X8 Y9 ~- l9 S+ P4 k9 m
/*
* X6 q4 e, J F7 E, d5 S* _6 S * ======== Operating System Configuration ========3 P) H! G0 N% r7 @
*/, v) e1 O9 j. L' B
4 g. F, u+ M0 q/ b7 i# |9 F/* no rts heap */
5 f. j4 \2 m L P6 KProgram.heap = 0;. O5 p( Y6 q4 X4 A4 k, X
Program.argSize = 100; /* minimum size */4 I" J' B2 n/ t0 y! A4 ?
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- {1 [; p& H4 g4 [! L
& w {+ ?& v% v2 b; O/* create a default heap */. m, g4 K0 ]: t9 D' V+ @
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# X* ^$ f; Q' y# z/ D
var heapMemParams = new HeapMem.Params();6 r8 |1 d$ A" N; Z
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: c T. `, O+ ~, N
! ]5 d! @- Z, G& Y
var Memory = xdc.useModule('xdc.runtime.Memory');
2 B4 ]) a5 ?+ {" S' }$ VMemory.defaultHeapInstance = HeapMem.create(heapMemParams);* M$ X" X6 N9 G; |5 c
$ q3 }; ?4 I8 S$ e/* configure System module */% m1 Q/ h: u3 C
var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 K3 H: I9 Z+ |/ m TSysMin.bufSize = 0x1000;
' Y( R% h4 q1 s, y% \- a8 ?5 bSysMin.flushAtExit = false;
R5 _9 a' P* s# ~0 y0 M; U! G1 E' L1 n) ?
var System = xdc.useModule('xdc.runtime.System');
5 N# m/ ], @' D, N' f0 p( MSystem.SupportProxy = SysMin;
3 R! j: r8 w3 I5 `! P( X+ S8 o6 x6 e5 p) e1 A
/* configure SysBios to use the lower half of Timer 1 *// [& S- @3 w6 P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" I: ?$ B4 `$ \- N' B
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 l$ g' O: A, k; e9 n& w+ P! ~4 ^Timer.timerSettings[1].master = true;
+ m5 p+ S9 C) E Y& O: ETimer.defaultHalf = Timer.Half_LOWER;
; o9 {; N9 {2 S4 _; ZClock.timerId = 1;* V& \+ g% v0 N
+ |3 b0 J3 |. f* E( |" V% s
# g2 G3 a4 Y2 {' _' ]
/*! I+ n9 H) i6 K* E) N
* ======== Miscellaneous Configuration ========* K4 S8 [" `. {! v
*/
$ I6 h! r; }) K
0 k' L9 _8 T* R( I- A2 E4 J/* set default diags mask */, N' Z0 B7 A% C) f( ]2 }: X# O
var Diags = xdc.useModule('xdc.runtime.Diags');
8 U' y5 |6 q6 A, p% ]var Defaults = xdc.useModule('xdc.runtime.Defaults');2 {, Z$ W7 H, V) G
z. X& I7 P2 Q# t. x
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! N( \7 ]/ @6 ]
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 ]$ V6 ], V9 ]! Q5 MDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 Z9 R! t: P" z# W3 e* r
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 c& p# H& h9 E R- N% LDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 S. o1 t, s* G" MDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- u2 r& O/ q# d* c; bDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ g; ^; t9 k9 v0 \( J' g6 q" B$ T4 \
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 Y& @8 G2 @* a8 z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; x8 y* c! i/ _" x) A: [Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& u X c7 u9 O$ W4 G. ?+ M( G; j
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" t4 [3 O& y. \# h. |
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 N/ w) }6 o0 j( V0 I* U# w: X, L: J* DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;, P( r9 {6 w6 _% M
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 R% W8 o% q* G" w
7 q8 @1 x$ H) R" Z
/* override diags mask for selected modules */4 v+ e3 }# _( s/ z% s
xdc.useModule('xdc.runtime.Main');
) G) g0 c6 a5 }, B6 _' u+ WDiags.setMaskMeta(
# v2 {. I: W# T3 k9 H& ` "xdc.runtime.Main",0 R* M7 S& a# _. u1 c5 t
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 f i7 G# \/ y; m# b* U' J) m: m
Diags.RUNTIME_ON
0 a2 N+ T" }" |8 p. ~( \);. ?; i) R6 `2 X& z
4 _( ]4 y, d* @& tvar Registry = xdc.useModule('xdc.runtime.Registry');# ^: @( r/ @0 n0 F3 g* w5 B" |
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) _) H, `" _0 u5 b$ B2 [: K5 {5 q) a
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ ?' I$ T# B1 m* M
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' w7 U% [( T5 D! M1 kRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF; X$ b* d, w! ]$ Z) R" r0 b
& Z: R. o/ z- V5 p& i4 E
/* create a logger instance */
7 ]3 e# I: C6 }. ?var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% |, t- O1 c- W9 B! ]8 l+ g5 f! r0 vvar loggerBufP = new LoggerBuf.Params();: s4 l5 [( K4 O/ F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% I0 m: H" q ?" }7 V& d2 L5 \" AloggerBufP.bufType = LoggerBuf.BufType_FIXED;1 M7 h1 S8 k- X6 _8 N' F, P
U! {3 s: c) r) B# U& k" A
var appLogger = LoggerBuf.create(loggerBufP);
2 A; n4 J" J7 s3 ^appLogger.instance.name = "AppLog_Core1";
4 w4 E X. @* d6 M+ X, RDefaults.common$.logger = appLogger;
. Z: ^* a: `+ t# a# QMemory.defaultHeapSize = 0x8192;
& |9 o( c7 a( N* s1 S# sIdle.idleFxns[0] = "&LEDStatus";
: R4 y" \. {1 ?& @/ K8 F+ E! YCache.initSize.l2Size = Cache.L2Size_32K;
/ i, B7 r: ^8 T1 c9 s$ S6 A6 I* h' {3 L$ y0 K
|
|