|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" f/ e1 h* z9 W0 Q5 }' V
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! s3 [/ U+ {: u
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ p; q1 }; B4 i: A1 W5 c8 D. U6 d
$ j8 f8 {2 ~* A7 ?! F6 I/ C
是不是需要在DSP.CFG中进行配置
5 S9 w" {8 |$ X我现在的配置为
0 N3 u7 g9 G1 ]6 c2 Y7 F" g8 s. ^5 Q1 f" S2 A
/** i- r; J, ^6 g& b2 ?6 K8 H
* ======== Operating System Configuration ========
" k2 T0 e D) Q& Z; K */% d+ d: c, n6 Q! d% q; u N
9 Q0 \% u( `! j+ }, K1 p2 r/* no rts heap */- J$ _+ C8 p8 n* c5 h1 P
Program.heap = 0;
2 D' t* x) G7 y$ L% \& ]% hProgram.argSize = 100; /* minimum size */0 k. K# l4 n. J0 j8 m# ]$ m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ f; f4 J7 [; K0 Y
1 {' B3 Y$ h- S. }4 U; i/* create a default heap */
) G# Q; v+ Z5 n' L9 M7 Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- P2 C5 p/ K7 e' d8 b8 N2 K) Z. A$ T
var heapMemParams = new HeapMem.Params();# {8 ~+ X; t5 q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! H3 ?' L4 K0 B* t$ D
* l Y$ Y f+ {5 ~
var Memory = xdc.useModule('xdc.runtime.Memory');
! \4 @0 N. Z" L- v O: G* B: {% CMemory.defaultHeapInstance = HeapMem.create(heapMemParams);6 X% ^7 t+ g% e. Z% r. v
' \- N0 X. ~7 G2 h% P4 t# G% ]8 ]/* configure System module */
, B1 A b, x2 e( t9 d _; a( Wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
: k7 Z( i7 `4 P) J% cSysMin.bufSize = 0x1000;
2 z. i& P1 R/ I- V" ?) LSysMin.flushAtExit = false;0 s8 p; x0 f1 B7 j: O, p ~
' g) I9 Y# ~* ]) |) Y P
var System = xdc.useModule('xdc.runtime.System');
9 y. G, A7 l% P0 C g. ]System.SupportProxy = SysMin;$ M9 H w, A, F: B+ O8 N
% e. k, }0 ]( W$ d4 c: O" x, |1 `
/* configure SysBios to use the lower half of Timer 1 */ K7 e, P5 g! }! r* Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 Z& h3 b, M$ b4 Q6 I+ c; Q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 J! \' n7 v3 G+ h' s
Timer.timerSettings[1].master = true;/ O2 c q1 T; \. y/ s' P! L6 @% }: d
Timer.defaultHalf = Timer.Half_LOWER;- l7 P0 `; h8 n! g a# j% Q
Clock.timerId = 1;7 `) G$ m! ~( {
/ h6 C- W1 Q6 ?4 l) V9 Y' n1 ^& q; {9 F
/*! }5 a) k2 }& J/ ? W
* ======== Miscellaneous Configuration ======== A6 s) O; e- }' s; J+ R7 B4 p x
*/# B$ q5 K5 [3 a. ~
# d9 Z; b% E+ H( E9 h$ b1 H/* set default diags mask */$ G; _" @5 F, D( B
var Diags = xdc.useModule('xdc.runtime.Diags');& i+ A, E$ Q4 ^7 O$ a. D: A
var Defaults = xdc.useModule('xdc.runtime.Defaults');; @: m/ W! ?) [& h% @$ M& N
7 y% R: W5 \+ i# E# x
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
r" a2 z! c* q( d/ KDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# a7 u6 n$ A' ?( F! y6 C' CDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; F4 m. z8 M( X! ]) x. x
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 J2 V* h$ ~, i
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
) K. Q6 ~0 G; Y9 ^. |Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 W: A) v6 _1 f6 X5 v GDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 ~4 B6 @+ h# ^- ~* A# eDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! k9 c H! R- V" k+ ~" aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! B4 b1 P7 R% z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. U5 v: A. o( l \
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# }( l1 i& v. p0 R+ z# w" R. z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ M7 T" O" ^: g
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 h: \5 Q5 q/ zDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, @ m2 o Q! l5 a/ S" Z
$ J! B& S% p9 g1 n/* override diags mask for selected modules */. r& t( }1 Z8 v2 s+ j$ ?
xdc.useModule('xdc.runtime.Main');& s' L; i. k6 C& [
Diags.setMaskMeta(
! [( _: c# k1 P "xdc.runtime.Main",
+ |9 v; T c8 ]3 o1 _% g1 |( E Diags.ENTRY | Diags.EXIT | Diags.INFO,) k6 C8 B# F, {
Diags.RUNTIME_ON. T @* p1 I4 g6 P5 ]8 |
);' ]- G3 T# x0 y% X
8 E- u! m9 X2 Avar Registry = xdc.useModule('xdc.runtime.Registry');
2 K$ A; ?4 R6 F |. d& z5 w# k1 jRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ e; M& t4 D4 A/ I* x- J2 m- QRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* q' D/ c3 {( E; _8 ZRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;1 s8 S5 z0 R0 n8 ~
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) S/ e8 N6 z6 D6 }% B( t) K- }& ~5 A+ p% ^/ F' ?* u) V
/* create a logger instance */
, e+ E& j; n% R) evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
y e) a3 u/ M! c' pvar loggerBufP = new LoggerBuf.Params();: Y! l! o8 q( E/ b
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: V, B% S( e W5 w8 ~# c7 U. X) cloggerBufP.bufType = LoggerBuf.BufType_FIXED;' W1 `. T7 b: x9 M* R
, s/ ?& P4 u4 \! i
var appLogger = LoggerBuf.create(loggerBufP);
* r1 f$ Z( e; ?& ~5 T: ~! happLogger.instance.name = "AppLog_Core1";2 C/ {3 ~" {- @4 z* U
Defaults.common$.logger = appLogger;# v* s( K" D+ d y* w7 n: m
Memory.defaultHeapSize = 0x8192;
( r. e2 p. X4 e- HIdle.idleFxns[0] = "&LEDStatus";
8 {: H. w4 V* @4 c, WCache.initSize.l2Size = Cache.L2Size_32K;
]+ |7 K9 M- \! |
! B* D! T* W% ]7 K* e) H* c) h |
|