|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 y5 g" J& h+ L- R* N
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 Q" X7 C3 g, I, X! f0 U* `(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 x; L) O7 P9 u7 ?, C
* H$ y$ k6 B3 @6 b1 [- ~* j是不是需要在DSP.CFG中进行配置6 y5 \" O z( c5 K
我现在的配置为
( m2 p4 C$ y* f8 s Y
: K$ T- M/ o" U* O% X/* _0 y. J- ]' ^# C9 i$ r
* ======== Operating System Configuration ========# J4 m1 {6 e* ?# `/ M: v% i- N
*/
& l* S# X7 O* ~8 [, h2 n6 d ?3 q$ a$ H# d
/* no rts heap */
, B; d# G/ u$ `' CProgram.heap = 0;6 B% d0 p9 h. U" L
Program.argSize = 100; /* minimum size */
( r6 x5 {) B) r e) V* c% I4 RProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( |: ~' \9 y8 g, Z2 q
' o! c' O& I0 Z/* create a default heap */
& K- t7 K1 u/ W- u& xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ g9 n+ C" r/ N3 L- F3 ^var heapMemParams = new HeapMem.Params();5 R. x1 H" K! n& F6 N
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 z7 E5 j. B: [4 i& `7 H# [* T! O2 ~- Q4 c5 l9 h
var Memory = xdc.useModule('xdc.runtime.Memory');
' C7 U% O1 y) L6 I+ d' j, g. p: lMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ R$ S4 t" x: U$ z% G7 M. O( v6 k5 Y7 ~9 t. Q2 l! s8 a) s
/* configure System module */, H6 G, h9 S/ l' \& V
var SysMin = xdc.useModule('xdc.runtime.SysMin');: }% r+ X0 a4 K2 b# b+ D
SysMin.bufSize = 0x1000;
8 p# M5 I6 V, ^, xSysMin.flushAtExit = false;( a& n% \: e0 k5 V
) D. I7 }+ A) S, P0 X9 C7 b5 R
var System = xdc.useModule('xdc.runtime.System');( |% X% ]+ `7 @$ t p+ N
System.SupportProxy = SysMin;
" U; B$ t) I) n5 ?
8 _; Q# j# [/ ~% G1 e+ {/* configure SysBios to use the lower half of Timer 1 */
, E+ ?' t" }, J" x* X( Fvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# ^! @) ~7 U, I# f( W7 G4 s
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" o5 t$ f3 P$ ETimer.timerSettings[1].master = true;
5 J9 @( _; ~0 s9 uTimer.defaultHalf = Timer.Half_LOWER;8 r5 t$ u5 O9 W, n6 v7 @
Clock.timerId = 1;
3 r* o0 Y' \% ~# D3 z$ R' D) H* B" ^' v
: M S2 N, w9 @/*& z+ P3 D3 S3 ?6 ~0 ?7 A
* ======== Miscellaneous Configuration ========
7 @- u' _! q& H( z */
$ c, P& N+ ?8 f5 {" p k# v1 q
{( ?5 m8 K5 J/* set default diags mask */
- r, e# X. t% D/ T& O! Vvar Diags = xdc.useModule('xdc.runtime.Diags');
P' B+ e' E2 E$ _; Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');
0 P/ i' T( }7 K9 h/ t2 y" O" t+ w* K7 S/ o3 P! r" v# L/ w
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. T( s V+ d6 D# P. n4 ?/ v/ kDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;* C. K/ A- }+ `5 ^0 H1 k$ R
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 I, O' Q+ ^# ]/ aDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& R- f1 Q% M5 l# ~5 K$ aDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ H/ x7 z0 s* \0 ~# S
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;# R9 ]% \" ~' g- s! ~: j
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 W: c7 @7 Y6 f) A8 R. FDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 Z9 L2 t8 n, V7 d) \" d9 t
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' w: m$ W+ F/ L
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
5 T3 S/ |. ~; b" {1 B. RDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 q9 R' ]; g5 t# [' c3 c! [
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( U9 l; B) H5 h& m: X9 [! {
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ S; m9 ?% _ E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 }0 f$ ~0 _ S: e @0 y
! A; y" H& H4 E% G- J/* override diags mask for selected modules */
$ y# S' M% y0 txdc.useModule('xdc.runtime.Main');; Q' v6 |% S, g% `0 o
Diags.setMaskMeta(
! c5 v. h7 r: \; T "xdc.runtime.Main",' |$ H F5 t- q- v7 e6 X; T
Diags.ENTRY | Diags.EXIT | Diags.INFO,
- r: H2 d4 Q, P8 Q Diags.RUNTIME_ON3 }- \5 m* {5 w4 Q J
);" C8 m* D$ I! t1 D/ q- f
' I. E/ f) O: S" j. r. {4 T
var Registry = xdc.useModule('xdc.runtime.Registry');8 G5 k3 K5 S0 W" `
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; ]. k& `& ?9 V, l
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* w/ |) I' M9 {# F" W+ q# R# w
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
, D7 x1 {0 z s0 Q5 n- BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ d, J. p) L& C, _, s% P% Z) D0 b) Y$ b: ^
/* create a logger instance */. d5 }# y! q1 D5 [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); V( l& U- {/ A3 r7 c/ [+ t
var loggerBufP = new LoggerBuf.Params();) v5 R& A" I4 f5 i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- |" ?( f5 Q/ _: X# M( h5 K
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 y; m3 k' S% F! X& ~
3 P! {. V! D- o) Y2 P3 z1 U& Cvar appLogger = LoggerBuf.create(loggerBufP);6 l) H, t' q5 c$ ?# y) C
appLogger.instance.name = "AppLog_Core1";
4 @1 U# w. p, ]' N2 j5 [7 F3 \( EDefaults.common$.logger = appLogger;
! W; D) R, X! W, \Memory.defaultHeapSize = 0x8192; - H+ d4 |6 G" h4 @, }
Idle.idleFxns[0] = "&LEDStatus";* U; H' n! }# [* d/ B$ O
Cache.initSize.l2Size = Cache.L2Size_32K;
9 c% F8 V6 T7 R; t" E o/ T. K* U. K$ j; f m- h
|
|