|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 n) Z+ H) \& ^5 x
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ ?' X+ Y( g4 J% s6 D- K, y) G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); K% g, y, l! _; z5 z$ B
& c$ v$ j% C+ z, O( e是不是需要在DSP.CFG中进行配置" D, c& U8 c5 P U. [
我现在的配置为4 f2 A# h+ ?+ a# U" p
) P0 Q c1 Z& V) p; A5 @- }2 @/*
9 ?0 a# e2 f5 T! f' h * ======== Operating System Configuration ========
; M: K6 t% D( s* i- n4 s$ y; Z! P */
2 U' n+ A$ ~# f. o* g# R% z2 \% K% X7 F" ]
/* no rts heap */
Q4 J! N; ^# l) |Program.heap = 0;
I% @5 X4 U4 n+ {Program.argSize = 100; /* minimum size */
3 e, F; |2 u9 r! ]! [. S; ^! IProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 y0 ?# w% @, e- c! o
" C* h" ~0 @3 S8 }9 m0 _/* create a default heap */
3 N' `* a/ Y9 I6 J8 B8 cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+ m1 J9 F) b: U- Bvar heapMemParams = new HeapMem.Params();! \9 |8 k8 u3 N( H9 v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* J) N1 _( m, K$ s5 L% l0 G
) z9 Y: v! \; Jvar Memory = xdc.useModule('xdc.runtime.Memory');
' ]: b6 c) ?! w4 JMemory.defaultHeapInstance = HeapMem.create(heapMemParams);1 \9 I+ M* x3 ]/ F3 S
: n. w v% c) U7 q/ q+ O! t0 l. C; F
/* configure System module */1 [% C# {! ~7 C9 F3 h
var SysMin = xdc.useModule('xdc.runtime.SysMin');. @2 |' h2 U( W1 p5 x& [6 h
SysMin.bufSize = 0x1000;
' h Q/ Z) d. i9 l* f% wSysMin.flushAtExit = false;
3 E7 u+ x) r9 x# S8 ]# K
8 @1 g, J8 Q. H' I5 W- F2 h7 [1 Rvar System = xdc.useModule('xdc.runtime.System');! z2 e) ~, n6 p/ V
System.SupportProxy = SysMin;
5 }* G" z. E0 r2 g% |' C# G6 x, [8 f3 p% {1 {: i
/* configure SysBios to use the lower half of Timer 1 */
6 L# r( P9 {* L& G9 M5 v8 Rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
x" w' I) J* f* A# o' S( pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 R( a2 h6 E6 H3 r1 O& C# RTimer.timerSettings[1].master = true;# A: {( u* Z# Q1 }1 U+ J' f
Timer.defaultHalf = Timer.Half_LOWER;5 C$ t. j5 F+ i8 [& z" Y% m* i. ?
Clock.timerId = 1;: a) e' @! w& a" M6 R" M$ g
! N5 G5 K9 H P% a1 D9 F. _6 n0 N
2 b0 O6 r: l, ]; q/*
7 z, w6 D: p+ R * ======== Miscellaneous Configuration ========- d! g9 w7 z% ^/ h7 D7 ~; {
*/) [5 b2 j1 Q$ O0 J2 D' a- j
9 u a9 c& x/ X
/* set default diags mask */% ` T4 {! F1 p T7 B N& Y
var Diags = xdc.useModule('xdc.runtime.Diags');
; q8 _& {5 b8 V3 D% {+ I3 X; uvar Defaults = xdc.useModule('xdc.runtime.Defaults');- J4 s2 z% \; v N. W" a% ?8 ^
) v: y+ @% b3 V- Z
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, I1 ^) j' d4 U. u+ J7 r% |
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, o2 z. o" y, w1 s ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 F/ V4 k: e( w& i' A+ iDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: X* m! i- S# U
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! O$ b9 Q) R! F/ uDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: _6 A \4 c% ]5 ]& _Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, Q$ n+ m+ ?# G+ c. }& E( ODefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 O" [! Y' Y+ }" s& ^! Q# _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 H6 ?; J" x2 A# u/ d
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 h0 G. f7 o- S f) g* ^- m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF; x6 E0 p' o+ k; U# P5 \4 R2 L
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 X3 E: P5 |' ?& s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;: v1 N1 [* {* a/ C; H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 C1 P! U3 A4 ~' ?+ V- i' _1 [/ j" }- S$ u8 s( c: k9 R
/* override diags mask for selected modules */% _1 O7 U) C( I9 c4 w2 Q) Z; n$ Z# V6 m
xdc.useModule('xdc.runtime.Main');
8 d1 v' h$ `0 H8 A+ {! MDiags.setMaskMeta(
4 i, O5 r( H: h [7 l: L "xdc.runtime.Main",
3 Z9 d, y! J0 I8 K Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 O2 k1 E Z; j+ d- p+ ? Diags.RUNTIME_ON) A5 t) P: R0 q. [+ q
);
; m, y( M! A/ Y' r* u5 a8 P0 k3 H) F$ _
var Registry = xdc.useModule('xdc.runtime.Registry');
9 y, x6 M' i* T4 dRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- p+ D, v5 w7 _) v& l* bRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 M& ~5 J# P- \2 a" K
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 o3 h& a4 z2 L" ^. ~% @Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. X4 Z8 |& m! I& W7 |6 N3 i& @2 {" W
/* create a logger instance */8 v5 o6 l7 o# Q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ N4 y9 ~( e0 gvar loggerBufP = new LoggerBuf.Params();
$ z5 R/ \4 s" q6 Z, Z: ^loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ }7 `5 `' G8 n) y: D( }% nloggerBufP.bufType = LoggerBuf.BufType_FIXED;
& I( M# V0 `" i% {4 W* p! F& q
1 r9 P, w/ H5 ovar appLogger = LoggerBuf.create(loggerBufP);5 U* o, Q& D7 N& I& G
appLogger.instance.name = "AppLog_Core1"; N2 S+ A1 K$ S6 r
Defaults.common$.logger = appLogger;% q2 x* z e0 ^9 M
Memory.defaultHeapSize = 0x8192;
7 ^/ {6 r4 ~- U4 QIdle.idleFxns[0] = "&LEDStatus";+ _+ s! @& U( V1 q7 m
Cache.initSize.l2Size = Cache.L2Size_32K;
- U! w. Z5 \( j# e& w1 w2 D4 }4 U3 \* K9 I% B
|
|