|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% L* o+ a$ c) p; \3 I& C: U: X/ u. p6 s我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. k4 t3 [, _% Q/ G* n(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 n8 | t) d! W
8 j. a, h. Z5 k+ q! n$ D是不是需要在DSP.CFG中进行配置" v8 g- O/ X# Y# ~' L
我现在的配置为
7 L8 H; w3 q6 K8 Q7 U! G9 K. H1 k2 k' f' o9 R& d
/*
7 N+ p) w( ?5 Y * ======== Operating System Configuration ========
1 e& ]6 r$ y) L. R9 W! j6 E9 B( k */, Y0 L) w' ~& l2 L+ M& u
% Z2 v8 _% G" ^$ D1 f n& R
/* no rts heap */
1 r6 q& k5 Q0 eProgram.heap = 0;( V, ?" m8 }: d1 B! c8 c' W
Program.argSize = 100; /* minimum size */2 F4 b4 l: N- a, Z* R0 s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' d! H H5 C6 _6 v
: w' ^( C; B7 n( R" `; W
/* create a default heap */
( w: U) U( W9 ^* c' d6 x4 R9 kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 K9 C& `4 d9 \, C( E3 s! K
var heapMemParams = new HeapMem.Params();% ?# t* U# C; N$ J) n
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ C+ d+ H+ Q9 f9 c, L
8 h" W0 ], u4 T3 w. I
var Memory = xdc.useModule('xdc.runtime.Memory');2 _4 c: h/ H4 ?* \
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ X' r/ q9 r& t: ^3 D( ], P* i# C* v3 }
/* configure System module */
& }) l) X2 m. I$ C% C/ q" ~var SysMin = xdc.useModule('xdc.runtime.SysMin');
& I# P4 o3 Z6 K6 `SysMin.bufSize = 0x1000;, N s, b) M/ E1 z8 ]- _* T8 M( R( \
SysMin.flushAtExit = false;8 E7 i$ C" R8 s" j1 C7 {
" U# V. E0 b" j$ ^3 R$ q/ B
var System = xdc.useModule('xdc.runtime.System');
5 l7 d. a2 I$ v) hSystem.SupportProxy = SysMin;( t: z& F1 a/ I
4 L Q. H+ }5 b7 h* c# E8 w* v
/* configure SysBios to use the lower half of Timer 1 */9 o# z% f- C5 e8 @" P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 w' E) U% P& g/ y1 I. S J9 M2 J6 avar Clock = xdc.useModule('ti.sysbios.knl.Clock');; I% H+ Y- q; j; R0 B
Timer.timerSettings[1].master = true;
% C% f. [& R8 F& @9 T8 k# zTimer.defaultHalf = Timer.Half_LOWER;
6 p% l- }$ |3 v+ l0 LClock.timerId = 1;4 g3 s5 a, e# ]1 U' T2 |9 i
$ L+ y6 Q5 @) g% N
* i1 F/ ^; z+ f" j! V8 J) F/*
" ^- M- W8 v, @5 `& c6 g. H8 P; M * ======== Miscellaneous Configuration ========6 C8 |/ H' E8 |# C: M, K
*/1 v3 b2 R9 u0 f, f
% m* @, r* C. D2 d1 C6 f
/* set default diags mask */8 b7 V# D- m; {$ _& T& A- m, {9 A
var Diags = xdc.useModule('xdc.runtime.Diags');; d9 m% w7 y- j9 U
var Defaults = xdc.useModule('xdc.runtime.Defaults');) k3 K: J% Q# a/ [. I
5 J- x" u' R6 z6 M. @! yDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 E$ @; y# r. |& d `- `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) @7 X' Y' T2 x& a" H
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. w% z! X7 f- u
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( _3 w/ \! a8 u: bDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) Z: Y7 \ j( F' _ l1 W
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. h7 }8 U0 j, mDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% m. v. S( H6 }4 X5 V5 EDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, j! N; a' q* m+ W" y# v5 B3 ADefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ s" K7 l) S! X/ t& }Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' m0 H% \; J0 [' X' e4 Y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* _7 q( t+ ?( O' _. pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 D/ y0 l i5 h! J4 nDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ a& z* b- O* S" h3 N
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* H% j# t( R. V+ _2 p# F A! E# V
! \. x- b, e# Y8 K/* override diags mask for selected modules */
% D) X6 [1 n$ p; t8 a1 {1 axdc.useModule('xdc.runtime.Main');4 O! z" c* s( y9 ]
Diags.setMaskMeta(
* a% P3 \$ | R) w$ \ "xdc.runtime.Main",
0 \$ X& t* x, i2 }) s1 i; o g Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 K/ n( e/ W/ e Diags.RUNTIME_ON
( j( i) U5 U0 l# }$ q# |);
9 U: u* U. e. B0 E# O8 E: p
2 S6 M- W' c! W; F+ C' ^$ _var Registry = xdc.useModule('xdc.runtime.Registry');
. F* @4 q h/ X8 ]Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 G/ o" C3 f; G& t# _0 O$ XRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;& ]7 L: L8 m# P2 R
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* q& P* l9 n) H/ `( VRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;! C3 k$ G7 R7 L, q
. a% x5 b2 m+ u, s* e) R/* create a logger instance */' `8 z1 @$ z; D' ^7 n
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. D6 i( [8 ~/ F z8 ~6 O
var loggerBufP = new LoggerBuf.Params();) N/ G/ u% }' E& s9 J/ d( v
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% A1 H2 F3 s! ^% g ^: floggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 e0 u9 N# e5 h! v
0 X: V' k R0 I8 avar appLogger = LoggerBuf.create(loggerBufP);
: f2 ]: L9 ^* Z4 pappLogger.instance.name = "AppLog_Core1";
# `5 `+ o3 l1 \! T3 mDefaults.common$.logger = appLogger;* T& W2 a! M( {2 h
Memory.defaultHeapSize = 0x8192;
}9 i5 }3 s; h! F- j' r& i* R6 ^Idle.idleFxns[0] = "&LEDStatus";
7 M# w7 g2 D+ @( l$ J) r& [! }+ LCache.initSize.l2Size = Cache.L2Size_32K;
& e+ ?: E/ }0 P) _ [
3 [) S* D4 l) y2 `4 m5 J |
|