|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: i9 {9 Z! S. W/ j: W
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 ], w* ~! S9 G8 s1 i1 n
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 A& Q( b8 n& m( }! o d( }6 B5 r) Y" t( P( k L7 V% l: e1 }% [8 o
是不是需要在DSP.CFG中进行配置, e: G1 {1 n/ W) ~% {
我现在的配置为
; i* |4 |- p9 i& v# D z+ a: D2 i# n5 K6 h. L* r6 g
/*
0 a/ C1 Z; N6 ]/ S+ c * ======== Operating System Configuration ========) J7 u8 V- a4 X+ ~' z# P* K
*/
! W5 d! K3 U0 @" E' G, D/ m
3 ^2 \2 t' F! k/* no rts heap */
4 N& C! I z h# hProgram.heap = 0;% I3 z o8 r. n* B/ `" r8 d& v
Program.argSize = 100; /* minimum size */
5 Y# E% o! r/ d# j& l/ P( PProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 `3 w4 M2 i; h1 k& F; ~
* B% _. r' ?3 u2 c, i0 G( _
/* create a default heap */
" W. k) @) C% A7 R+ Q2 nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( \$ O% @; E# M8 q* Q3 l
var heapMemParams = new HeapMem.Params();
/ ^& b& {4 h- CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' n7 U# O: r0 {
, y2 p5 U7 }5 c2 T% ]* S. J9 b1 J% A
var Memory = xdc.useModule('xdc.runtime.Memory');
! d( [$ k0 Y z; ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, x; Q1 N8 h3 \+ S6 Z
- ?1 Q5 O( U% h; V8 j$ ?/* configure System module */
* M+ l& V" o& f# a: p2 zvar SysMin = xdc.useModule('xdc.runtime.SysMin');
- g% D- x4 ^1 n4 YSysMin.bufSize = 0x1000;1 L" S' t8 a! c4 [' v
SysMin.flushAtExit = false;
- n& ]- l9 M7 k3 C: ^9 ?/ W1 y0 j. B# I' _ H
var System = xdc.useModule('xdc.runtime.System');: B: t" P: E) e+ n* O' o6 v
System.SupportProxy = SysMin;
6 s+ D/ J) H. ~1 y T8 f' F E6 C7 u8 ?2 u0 ]1 b! }. `
/* configure SysBios to use the lower half of Timer 1 */" l# p3 [0 o" F9 o5 I
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& w' R. _9 E9 d! m4 kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ t+ K% H0 S/ GTimer.timerSettings[1].master = true;
3 I4 ~5 Z7 E9 L5 }% {/ ~/ KTimer.defaultHalf = Timer.Half_LOWER;
; S" n3 }; D5 c# yClock.timerId = 1;
5 h' h2 W7 t7 [2 K3 [* W0 v6 }- x. }6 _/ N \: }
5 _3 ^1 d4 h0 g- J3 {" q F/*3 M- k) H% B2 i# t$ b/ X
* ======== Miscellaneous Configuration ========2 @- n1 d$ j( i5 a9 t, n" q
*/) }! k4 K) F7 Y" n' M+ a2 |
# E1 x0 T* q/ P& D9 u+ X, M/* set default diags mask */3 B) [ `) _, P, z) `4 B7 U
var Diags = xdc.useModule('xdc.runtime.Diags');) q! H3 Y% [0 K/ G
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 u4 e6 e6 w0 q- ~
+ S9 J% u( p3 [+ uDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 _0 _3 |/ \* l3 |% gDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& B8 ~ f# S4 D9 o8 T: [
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 ?: o$ H0 i k; @* \) X( |( i( h SDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 X, h( i4 w3 X' v( i7 R5 s
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 C1 W6 S* w, H5 N; YDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 b7 n% r5 ]0 K6 ?7 lDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- S8 h% x. ]! M Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 {; G* |& @3 c& b5 w* U6 l
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* q `1 `) N/ \4 Y% R$ YDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 N, B0 r0 d9 ^' {1 ]Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ H$ B: M G) N( x! \$ I6 EDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% w8 F" K f% k, _ ]( i
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;- p# ^+ }( `8 h7 q9 m
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ U/ Y: c+ C* x+ j
9 e; T$ f, I% p. ~/* override diags mask for selected modules */
4 k) y* V" G% U8 Txdc.useModule('xdc.runtime.Main');
K; }% V) g5 i6 e$ YDiags.setMaskMeta(
& Y8 m/ C& [5 J2 \% ^$ c "xdc.runtime.Main",7 N. M- r/ C/ w
Diags.ENTRY | Diags.EXIT | Diags.INFO,5 ?' L' k4 [; [0 K6 ]) d& q
Diags.RUNTIME_ON$ a9 u" B& F- o: i. D
);' o" V4 N5 k# B
1 a1 A* @, X* Q- s6 N2 J2 A, Gvar Registry = xdc.useModule('xdc.runtime.Registry');
; V7 N; O1 W; o5 vRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. r& g. y" y, vRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
, @2 H7 M3 R, ^7 DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;) D. M! s; I. N8 z. w! Y% p
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, n" N- W5 r: E3 w+ p: @ _- h, L: [0 U: P, J" B
/* create a logger instance */9 V( s" a/ D6 i8 O$ p
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; G% |; _6 t$ V: h! O, `3 V1 l! j( X
var loggerBufP = new LoggerBuf.Params();
, z" {. k1 k& G, s' hloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% q- V3 s' |6 |/ w( Q4 }6 h: t7 TloggerBufP.bufType = LoggerBuf.BufType_FIXED;1 J3 H7 k: y/ o# J( [- {
7 Z- X6 f- w; Uvar appLogger = LoggerBuf.create(loggerBufP);
- W% N4 c5 Q* G& RappLogger.instance.name = "AppLog_Core1";
7 w+ ~3 U5 v8 c* X5 c) T' ?Defaults.common$.logger = appLogger;; J6 g/ o, R; s l6 F& Y$ z8 w
Memory.defaultHeapSize = 0x8192;
4 M. m+ V' i: l4 @# ]+ c, EIdle.idleFxns[0] = "&LEDStatus";( e6 q ]' u( V7 _+ g. V x
Cache.initSize.l2Size = Cache.L2Size_32K;3 W0 x; P+ j9 X4 Z7 ^* t
6 v) N" Z# J: n, _7 @ |
|