|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) }/ C0 `% H& T2 z) f
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' i' V) c! R$ T7 e% i! A
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 M$ |4 w) S S9 r) |! s6 e
0 j& U Q6 B$ ]是不是需要在DSP.CFG中进行配置
) P) m0 t" _+ \我现在的配置为6 H, X( A+ U! ~- S0 \
. V* `- W' p) [& g: P1 ^5 Q/*
& T) v* ]3 G( P# g * ======== Operating System Configuration ========
3 t+ E& ^# I7 A# u# K, X1 i */: H5 ]0 K# w/ M% K
1 J' ]0 ]7 }5 P W& M# Q" \/* no rts heap */6 L5 g9 i* j) Y8 b0 P8 }
Program.heap = 0;
$ m# Z/ u7 R" j# KProgram.argSize = 100; /* minimum size */! b. q. c* R5 P* p. m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" h2 ^3 V. S) {. I6 o; l
0 g4 h4 C; n/ ^8 ^; | |4 E+ I# }5 X/* create a default heap */" A' F( h! P8 n* f5 z- ?
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% ~( d9 y+ a6 `$ F$ F
var heapMemParams = new HeapMem.Params();
! h1 k/ V4 G* d/ l! fheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ Z! V' X$ K& O8 v: E$ I: _. M' o: @* n8 `8 F' w: [
var Memory = xdc.useModule('xdc.runtime.Memory');4 u$ Z d" {) e, Q2 x
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
" }. M& D3 {& s3 l; q' l2 z' H" t& z# H- A4 q: t
/* configure System module */5 \$ k. o% [3 o: P
var SysMin = xdc.useModule('xdc.runtime.SysMin');
# v* r: _ s- USysMin.bufSize = 0x1000;
/ `% ^9 Z6 Y' {6 S; L# a% B9 fSysMin.flushAtExit = false;' w8 j1 i. Q8 Q4 A! \
+ w3 n4 H3 B# c9 P. wvar System = xdc.useModule('xdc.runtime.System');- f2 |1 W. \8 j- ^; P9 s
System.SupportProxy = SysMin;, H! y2 ~9 X4 C1 ~( J' r8 y$ o
" t/ M6 `5 S, J9 M
/* configure SysBios to use the lower half of Timer 1 */2 s. k+ ?5 |" Q$ B2 Y* P# H4 X2 D/ Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( z; ^, a3 u4 m% @% S6 \var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 {, p* }! x5 O1 O' m
Timer.timerSettings[1].master = true;
5 P$ n3 o2 u, N& Z" Q3 h$ @( A- @" LTimer.defaultHalf = Timer.Half_LOWER;
' P N# j( v! z$ r' y) z# k1 K' {Clock.timerId = 1;
6 z" p i9 `8 [1 U; T! r. T: r* _2 E
# _$ i& O& n! H' V2 k; w" R, _) G( @: c2 w+ a6 ]! u, U
/*3 `5 n* y( o! _% G$ |) x' }
* ======== Miscellaneous Configuration ========3 G1 F8 w& v; \- a
*/9 m8 y7 v3 g2 T8 A6 @/ B# F4 z
. s: w9 ]7 f0 b; Y: T' m b4 U" T- g" y/* set default diags mask */
1 |% H ?2 J0 x9 ivar Diags = xdc.useModule('xdc.runtime.Diags');
|4 f+ {: ~. u5 }var Defaults = xdc.useModule('xdc.runtime.Defaults');
, {* k) _0 \( i; D, X
- m$ q/ n' v" X( cDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 t+ u" ^8 i, z* J
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# B$ }2 x% G8 v( n7 g kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ M1 H" W5 g% y9 m# C" \. ~Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 L3 T+ t3 f' q K% q8 L
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 C" b$ M2 f8 z5 A3 R$ P! x' z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& Y9 M/ p& I) ZDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ t/ b4 Q9 [' }* T1 ]
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 Y. S& l3 e6 D: CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;* @9 _$ T2 P. p: d! q1 y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% q: y4 E' K9 i# K- HDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 q2 M% l2 H8 v9 h- J3 |8 Z ODefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 V4 q3 }" C2 L9 n# ~1 \; l; @' W) c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; b5 ?$ g+ K; i* h- r0 i) C
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% R2 J# a5 W- q# G6 U* V8 a1 K$ l! c! ~) s$ s
/* override diags mask for selected modules */0 a1 X5 R8 \0 l2 q" |- m3 W: U
xdc.useModule('xdc.runtime.Main');
8 p0 g8 Q. ~1 z# j. ^Diags.setMaskMeta(/ U9 f. A/ C; Y# d" m+ K$ ?2 }+ i
"xdc.runtime.Main",2 v x$ r0 ~% o
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 W/ r8 R4 X7 G2 y7 H; s0 T) t
Diags.RUNTIME_ON
- }4 l$ z- ^8 K);
1 @$ ~0 I7 Y6 r1 o3 J$ o' g; |' t. V( Y. a3 ^
var Registry = xdc.useModule('xdc.runtime.Registry'); a3 X8 ~* M2 Z; A
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 H( O: Q* d7 |( ` sRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 T0 k7 z3 b2 m [8 HRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. {# [; o* \$ B! SRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' I! D* J) D8 l4 p- R1 h4 e$ `/ ]8 @1 m6 d8 x3 L" j+ w6 R- Y% [
/* create a logger instance */
- V5 Q2 s3 v2 d+ t( Fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); |' D+ G7 i. U! T0 B' ]
var loggerBufP = new LoggerBuf.Params();( V7 w1 ~# [4 B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 C9 b0 t, s; |: ~$ m! i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;* a0 u# O- n- E& w: F
# I' T8 o' c0 W; T. n4 Q9 A# Evar appLogger = LoggerBuf.create(loggerBufP);" v1 q: O% p2 o: P
appLogger.instance.name = "AppLog_Core1";
5 P/ `3 F& Y0 N9 LDefaults.common$.logger = appLogger;0 n# ?4 L. e6 L
Memory.defaultHeapSize = 0x8192; 3 k/ H) A, ~' E- E) y( C. O
Idle.idleFxns[0] = "&LEDStatus";4 i, b% R5 p& u7 I! z. l
Cache.initSize.l2Size = Cache.L2Size_32K;
+ N |4 r9 j/ a S7 l/ n, M& m- S3 _, L
|
|