|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 @. m2 k+ ]* }- q3 B( J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 l9 L; _) r. m' [& m
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 B9 q4 p+ \7 j
' X! w |. R! H是不是需要在DSP.CFG中进行配置
) `/ Z) j+ T% I+ i5 d) ]我现在的配置为
6 R% i8 g6 b- ?
, E) `% P% P# {; ?1 o% o/*
9 D& K* c( T- \/ M* Z: ^/ l G * ======== Operating System Configuration ========
/ _9 V5 O0 a, G */6 C% [0 v' ~- d# b) Q% O }
4 C5 `2 t/ Q4 y
/* no rts heap */
" U, V5 y; H+ Z0 yProgram.heap = 0;
F+ o% v" z% D: ~5 L* ]0 F* M) k5 b' bProgram.argSize = 100; /* minimum size */4 l8 L8 ^( y5 X9 _
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 |0 j9 A( n2 n ^" \
9 \! L$ Y( N! t$ ?; k4 L) G
/* create a default heap */
+ y; P+ }1 I. r9 Q' K7 Pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( t1 K6 z5 i( u
var heapMemParams = new HeapMem.Params();
% h5 {( m6 |) S5 E' Q. CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
^& H$ M& D: }( F6 E: ^
2 \" }6 |5 l$ Z1 G0 Kvar Memory = xdc.useModule('xdc.runtime.Memory');
% ~4 S/ i% y ^. G+ F; }Memory.defaultHeapInstance = HeapMem.create(heapMemParams); z. s, @1 J. A- A
i4 Z: C. D' Y# A1 l& n0 m- e9 j/* configure System module */* q3 G# I. F" w2 B7 h Z# B
var SysMin = xdc.useModule('xdc.runtime.SysMin');
. k2 t' `+ m+ O2 E* x0 r nSysMin.bufSize = 0x1000;
8 B+ B. f. |& N9 c/ h5 oSysMin.flushAtExit = false;+ }. I9 I, p7 m7 }$ y
) @6 ] D. k. u& E A
var System = xdc.useModule('xdc.runtime.System');
. U! _+ x: Z: M% |4 z$ P1 [System.SupportProxy = SysMin;
9 w1 f h& U+ D
. A3 h& @" |) `' H3 x( `% ~- u/* configure SysBios to use the lower half of Timer 1 */ T/ r% [8 r* A" t& E: v9 s# V
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( ^" R4 N! X! P e* F8 uvar Clock = xdc.useModule('ti.sysbios.knl.Clock'); n: x6 I, J# \9 H
Timer.timerSettings[1].master = true;
n. [7 r( V, y/ k) s% NTimer.defaultHalf = Timer.Half_LOWER;
) Q0 I. K: X' i. c! PClock.timerId = 1;
1 @! O' z* z+ N* n0 E) S2 G& K$ K7 Q( p" F% @0 t- T7 }" w; E
: H" l8 L7 Y7 s2 n% H4 p! T/*
3 ]) \) P( q) B+ N6 [( z$ x * ======== Miscellaneous Configuration ========
( x1 T# M9 T+ h */
2 B8 L& V1 a$ L8 n1 m
& k2 z( r9 |6 a" o/* set default diags mask */
# L% |% [1 A9 |/ @+ j' }" D- o5 ]var Diags = xdc.useModule('xdc.runtime.Diags');
( P" a+ N% `% ]- D7 Gvar Defaults = xdc.useModule('xdc.runtime.Defaults');
! K- M) _5 L* f+ s. G$ A4 |
1 r5 k6 }5 T' k' L+ ]- [Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' {9 J2 T6 X+ O: F3 y% t
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;. k4 q# a# H+ H8 n
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
i9 J2 c/ v' n4 s# Y5 \* VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) P( ]+ E. j+ a7 |6 z8 H; V
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 I# C# n' `* {6 c7 J# jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ B+ T4 F; o TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 E3 }* R, z) \; y! u
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 n/ D0 L M6 x" ~# H- \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# E7 ~6 B! r4 U# a/ a- T* v
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 J! E) L: U$ [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& d' l0 c5 |, i& O$ _9 G
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' F4 }! h3 W2 X5 U; G& c# ?9 V' N# k
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 _" G3 I; y4 R7 i$ {+ n' aDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
|/ h" V+ @4 D. y# N' G' w1 l. x+ x" ^* m! ?4 Y
/* override diags mask for selected modules */
4 }/ ]) ~/ s: o, n; }8 \3 Fxdc.useModule('xdc.runtime.Main');& S& Y& g$ n% y1 y3 k8 Y
Diags.setMaskMeta(
9 w+ n3 F( C1 u) z "xdc.runtime.Main",
( n9 V+ l5 ?/ a0 x- B Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 c8 H5 s) \- x% z Diags.RUNTIME_ON
6 ]+ J: W" g6 b! U6 O7 z);
/ l8 P* n8 _3 @
( z: c; E/ s- m+ ^var Registry = xdc.useModule('xdc.runtime.Registry');
; T5 ^' ~7 k. t. IRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 @: D; @, z5 N. _# U4 v" M
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- g. U3 k* B4 k# a5 b: CRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;; ]3 N# I; o) n! M: {9 [/ G$ M
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* q F4 p& p/ F' `& |& L
. ] Q o% }; \/* create a logger instance */
" Z% O; s, k ]" r- hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ ^2 ?( j/ p' a" v1 R) C
var loggerBufP = new LoggerBuf.Params();' J6 Y" a. \. O1 S4 ?* B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 [2 Y- S2 K& QloggerBufP.bufType = LoggerBuf.BufType_FIXED;( q* J' \: a" B2 @) C
; [' D3 q5 r4 O# e7 j4 r: l) _var appLogger = LoggerBuf.create(loggerBufP);
& u5 l# f7 |4 `! U0 K3 x' ]appLogger.instance.name = "AppLog_Core1";) G9 J/ x! |. Y( t9 k
Defaults.common$.logger = appLogger;
1 Q- N3 e+ S- E2 zMemory.defaultHeapSize = 0x8192; 5 M8 p) j( U6 Y4 P5 s
Idle.idleFxns[0] = "&LEDStatus";$ D3 a. @0 n# @( L# \) s
Cache.initSize.l2Size = Cache.L2Size_32K;" `0 S+ b% z# M) X
% T, V5 X. B) G
|
|