|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
S2 M9 d& b! c+ [ H- Z$ l9 ?( K我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, D& u' z8 |6 X% w. i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 u% ^/ ^3 k$ q8 R# i2 k) f3 r
: }3 N# K/ p5 n7 L, ^. a, X( |% @
是不是需要在DSP.CFG中进行配置
. q l2 {# k0 X4 V6 V我现在的配置为. Z6 C0 n) ^6 f- o3 R3 V" U# F
' F& o$ u7 T8 u/*
$ }. A: w( E# B u9 N * ======== Operating System Configuration ========1 t" t& w- I0 Q
*/( j- g9 L$ @: b
$ u9 W5 z J3 T- T) {- Z6 n7 @/* no rts heap */' I" i W6 x8 p# D3 W& I! e$ r
Program.heap = 0; d; ^/ O$ a7 Y! B* ]
Program.argSize = 100; /* minimum size */' M& P/ K' E8 W- D4 u: ~" Y& m. v
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- P Q6 m( n/ p
8 y, C3 l# k7 L& \# `/ F3 l; f9 g! V/* create a default heap */& |; u7 [5 [) @
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, {& s) w. x% h0 @" f; Wvar heapMemParams = new HeapMem.Params();
: t4 h8 {! S( E5 J! ~' _3 [heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 ^. Q0 n1 y; c0 B
5 @& m$ W( K& ^. y. a/ hvar Memory = xdc.useModule('xdc.runtime.Memory');- }* O7 {9 i" ]7 ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: i8 [8 I( V. g$ Y F
% i2 W) P2 M9 A8 G; {# u/* configure System module */: m5 z- c$ Q& l2 r1 C# \
var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 ]* z0 T% B$ f/ tSysMin.bufSize = 0x1000;
' u9 w; I9 e) ]* SSysMin.flushAtExit = false;
" z$ J8 R5 u: J% X. m2 w- a$ _9 l; v w% S7 B* x; j
var System = xdc.useModule('xdc.runtime.System');
9 U% K8 G7 {$ DSystem.SupportProxy = SysMin;9 w H' V* `" N; k3 ^; [
. u( g$ D! E1 o0 F
/* configure SysBios to use the lower half of Timer 1 */
# ~( y) V" }& y) i; ?0 hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ i' X: p- d1 l: Y; ?
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
/ c1 i* `8 w+ U. h7 ZTimer.timerSettings[1].master = true;# N0 c/ u6 C$ |; v& `1 D$ A
Timer.defaultHalf = Timer.Half_LOWER;
" \( D/ |3 i. I, kClock.timerId = 1;
' O4 D, }! H7 Y1 ~5 } @
/ G, D, g* J# k8 a. b& o4 x& ]2 e6 {5 g! {' R
/*! @7 u$ U! [2 L% F& J
* ======== Miscellaneous Configuration ========2 f6 b# | _% }& r6 w' D
*/
4 {# x) @3 E' i4 V1 [
* j; z( |' _0 N' J7 o& l* D: f# e7 J/* set default diags mask */
9 q8 b# M: C) a2 v8 w8 H4 pvar Diags = xdc.useModule('xdc.runtime.Diags');
$ I' Y% L+ g9 ~; _var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 _% w. M# I2 l
# s5 e- H% `9 w$ A4 gDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ e3 p' K* O3 R5 o4 G
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 X; q. s! b9 {- h: _$ ~2 Q( j
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 M% R* h& P$ C+ nDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 ^( ]4 u" m" }3 v1 L( d1 F2 T
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 V8 w! t* c4 j( W) W
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 n- m# Y6 N7 F- U& B- z+ F. s" \
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 W7 x% H1 O9 u% W- KDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- g1 q( S+ }0 J: zDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ w7 I u1 b9 Q5 d( o+ x
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: E, A( V0 A3 F7 ?% h$ t4 vDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* s) M n. Y# S8 W: p6 o5 DDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- C2 B/ r& M8 G4 ]: @) g. \Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;( O4 {3 ^7 Y& D8 u) b- h8 p8 m* F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; I% p, Y) D: D1 [0 d, u0 {9 S% n
& y. J9 j" `1 U# m& p
/* override diags mask for selected modules */: u) ^5 k9 q- L. T1 e% S8 D
xdc.useModule('xdc.runtime.Main');) r- F# _0 o! Q* n# P$ v
Diags.setMaskMeta(
4 g3 R, G) r' W1 Z* O3 S "xdc.runtime.Main",
+ Z4 @6 x$ |. J& r7 ?6 L p Diags.ENTRY | Diags.EXIT | Diags.INFO,' _+ ]$ a! J6 B( c8 M' v% p" c
Diags.RUNTIME_ON# X8 z2 L1 y) x$ S+ O' Q
);# S( D x+ b( L+ _4 M4 Y
+ v$ _ L% R! d6 p; S9 A+ d" F
var Registry = xdc.useModule('xdc.runtime.Registry');
& t! u5 ]3 L8 C, Q, u, [$ F" I6 s# iRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) f; q( U o: k* F. yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 s& V+ G! A, n( X, ]( R6 B8 Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
; Z, T2 p) R6 u0 n6 a; K4 rRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# z' [; K9 s; L. s$ |" f$ S% Y9 {0 s: j: X! U2 f7 r
/* create a logger instance */
: m2 u2 S* q9 z9 v0 j# Vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 O, E8 q1 h) ?9 j! S+ K6 O
var loggerBufP = new LoggerBuf.Params();1 T) z( M! l; U5 R% Q+ L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' t- ?; `# s: g1 S2 m8 R
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( ^, D7 E, u, n8 T4 Z9 D& x/ |3 e( r
7 K1 j; |7 v9 k" g d% _' {var appLogger = LoggerBuf.create(loggerBufP);1 X( I0 w6 K% h; Q+ J! c! @ P
appLogger.instance.name = "AppLog_Core1";8 L% U! K7 W) N3 [/ }/ ?+ t
Defaults.common$.logger = appLogger;
3 K2 |; v, O6 @' O! Q: f( a5 a9 jMemory.defaultHeapSize = 0x8192;
3 t/ w- t8 c' U- ^4 z9 `* AIdle.idleFxns[0] = "&LEDStatus";9 B8 r4 x6 _# F4 z ]7 N" y
Cache.initSize.l2Size = Cache.L2Size_32K;& n2 ]1 H( [1 J8 Y! L+ b
' X5 J D5 [: \/ F2 W
|
|