|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 d" E+ q, ^7 H# e8 d8 o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. @& D0 l, Q* B5 f& g" v3 E(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 p) \' Q) ~" C8 o! L, X$ P
4 w6 @: k/ p+ D9 o是不是需要在DSP.CFG中进行配置7 J& M( w, A2 A3 N7 }2 Q' S
我现在的配置为0 @9 {! d) q: Z+ O1 @1 t2 P2 d; M* _
2 `: e4 h( A6 H
/*! P+ R" l7 { V! w0 Q4 l9 R
* ======== Operating System Configuration ========
) f1 Z7 R. F+ s# ^. |4 D+ C7 ~ */# O" T1 |+ G1 }5 ^& I# z) |
# Z( e0 \' `% \! B! R% S/* no rts heap */
9 K4 {, _# f+ A& h5 [Program.heap = 0;% s) W- d' D+ Q
Program.argSize = 100; /* minimum size */* t8 a7 E6 O3 ^/ ]2 ?2 f- f
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ w* x* s+ r g% j
2 `9 W( J3 |8 m0 k/* create a default heap *// g5 e9 v& k9 v) \; _; `, l, g
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" t. r% g& E+ f* mvar heapMemParams = new HeapMem.Params();
/ C# V. o. C2 n2 p' K# n0 s" LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* C4 Y: C c- `% I9 C/ e& ^7 B
& w) o: A6 Q% }# _0 S7 ivar Memory = xdc.useModule('xdc.runtime.Memory');2 Q& E- G9 x2 k" ?) G8 S0 _6 o
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
' Y" Y5 g6 d* L# i1 ?. q8 J4 w( L# A
/* configure System module */
' P, X ^- f6 Y+ _2 q% R: wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; f2 ]9 H, R( M: l d' wSysMin.bufSize = 0x1000;
% F( W$ Q+ I5 ISysMin.flushAtExit = false;" i% [: L+ a- w7 Z6 r! W" `
! r: F, M8 |- `! u+ @* tvar System = xdc.useModule('xdc.runtime.System');3 S e! H: l9 X4 Z' n% ]. |% F& O8 D
System.SupportProxy = SysMin;0 g, e8 l0 j3 p6 C2 m0 I1 F$ V
3 v) \: W* W3 h1 |3 K: n/* configure SysBios to use the lower half of Timer 1 */& c" X! I# Q; v# R8 n& d0 s3 I$ |
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); s. y ?6 R$ C" C- I
var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 a- H/ }; L; t
Timer.timerSettings[1].master = true;
, { `; _9 q. f K8 q: ~) RTimer.defaultHalf = Timer.Half_LOWER;
$ `% d9 }8 `6 Q8 n$ yClock.timerId = 1;
8 C" N. r0 O. m$ x1 _' G# r' j6 ~/ [
! p% }$ u# @+ V5 p: T% Z/ x4 g
/*. k; x" ?; e0 C1 g& `# Q3 J
* ======== Miscellaneous Configuration ========6 d0 b+ w* Y, D$ ?) I& D Z
*/+ c6 j8 Z+ I1 _+ s
3 V4 \( U: e0 D) d/* set default diags mask */ q5 S, ~/ C9 F
var Diags = xdc.useModule('xdc.runtime.Diags');
5 b/ r! [, L* G2 ]) F% E: Bvar Defaults = xdc.useModule('xdc.runtime.Defaults');+ U K1 q# | D* F" v; `
_, x% v+ r% r, ]# Q1 @' ]
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& ^. ]. Y r5 j7 O5 V
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ Y5 B0 ^2 d% C2 w. U
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;( r) }! O+ E6 ^ ^5 q& b3 [2 l
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 R U3 _$ l5 N0 lDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' n \0 H! `, @* q9 K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; L* c' O7 ]- w6 S- {% K' m
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" s( _% d, ]% sDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 b/ ?( @) y- z. V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ ^1 a# \" F4 Q- H$ H, w+ U4 T# |
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( `& B$ \. O' @3 ?
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; S+ p# a m# Y# k- y! M
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 z' u' v! @; Z6 T! j; c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% L' k% x" \! ?; n+ d" f8 K7 z! w
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 ^! o4 D' l) O# p) h! ]. j0 Q) q! d- w$ H3 E2 Z7 d! e
/* override diags mask for selected modules */# o$ x; v c1 U$ @2 o8 }+ U! B
xdc.useModule('xdc.runtime.Main');7 w8 Q( E0 [% v6 P3 E
Diags.setMaskMeta(
0 d+ e7 f% g3 q# x! L "xdc.runtime.Main",5 D* h1 u! r1 G
Diags.ENTRY | Diags.EXIT | Diags.INFO,) g4 }1 l9 K$ f. e0 Y" `
Diags.RUNTIME_ON
% S; M( f8 Q0 K& ~/ m; d& ?);
3 ^4 g# R! e( B( i) e+ N$ M8 n, c4 L5 F2 H+ B
var Registry = xdc.useModule('xdc.runtime.Registry');+ x' a2 q8 u. V/ L
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& t8 l! N, ~1 C4 l3 tRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 ~4 U8 L9 U1 a0 o6 NRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ |) m. I4 J5 A% t' R# F7 YRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 e& Q, J8 R" j. `
' {; r& T5 ]! N8 `, h+ ?7 l: T/* create a logger instance */: V8 ~/ A" t% n2 l$ d+ x/ _3 X
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( W, q* x1 j: s! ~5 `
var loggerBufP = new LoggerBuf.Params();
& ]; H7 c" C* V' W) {, YloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, W; K+ x {) y& H3 |loggerBufP.bufType = LoggerBuf.BufType_FIXED;6 d( u: k2 J) N& A7 v
& n N' H6 A! O) F' b
var appLogger = LoggerBuf.create(loggerBufP);% S. V# a C. X0 X' G+ V% {
appLogger.instance.name = "AppLog_Core1";
/ l9 O# Q, z9 B( sDefaults.common$.logger = appLogger;9 J: v5 J5 n# |) g
Memory.defaultHeapSize = 0x8192;
4 k1 t4 H0 } K/ m9 B. e1 oIdle.idleFxns[0] = "&LEDStatus";
0 Z7 n, c, m( q2 R1 Z2 O5 G- \& e |Cache.initSize.l2Size = Cache.L2Size_32K;
$ ^9 z ^9 }$ j! ]! w. b5 ~7 W& X5 k' x: b% l
|
|