|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ K" u, D! C$ p( J% T& d p
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 j3 W0 w1 d6 w. M4 ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ v6 _2 k9 o2 K. w; C3 R$ X
. X/ f0 V3 u7 g, o. n+ a
是不是需要在DSP.CFG中进行配置
2 m/ `0 A8 ]0 q2 R. Q8 T我现在的配置为
) B* C9 w( z# e: w& g2 L4 F' ?( I% _2 w
/*
+ x( f, X1 o9 a8 e4 o e: H * ======== Operating System Configuration ========
6 W# v6 w2 n! d% x7 N */! J P. d8 I' k% L1 w
- J5 H7 N+ h8 s- y7 D, r. E+ F' e/* no rts heap */$ {8 Q( O' @7 N4 y6 H
Program.heap = 0;
& b3 q+ Z- i" T% c. c `5 }' WProgram.argSize = 100; /* minimum size */
+ Z! B |9 W9 b# h+ y$ ]/ F- m' dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% x! `5 p. y4 Z$ d9 }3 ]2 v$ j/ P) J7 Z- A. H5 H G5 }, |8 Q
/* create a default heap */' k0 x, o! [& T/ @3 H$ Z @
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 Z, ?4 d5 @" {1 G, P
var heapMemParams = new HeapMem.Params();6 h8 [4 ]4 D# H+ c3 W2 U0 C
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! W2 l& s) R8 ]9 y
- X% L t3 V9 e2 Pvar Memory = xdc.useModule('xdc.runtime.Memory');2 ^& O3 O" \" m0 y: l4 u+ S" v
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ a, n! @% L" X3 T9 L$ d
! h+ R: m& s; ?3 D* `$ k1 k0 C/* configure System module */
3 X, O4 x' `& tvar SysMin = xdc.useModule('xdc.runtime.SysMin');7 @" `6 M' I6 |( U$ ]: C
SysMin.bufSize = 0x1000;) V! O `; m: f: K$ O d4 Z
SysMin.flushAtExit = false;/ M# G) G; r7 t" n8 c# k
- F x- q7 i! {1 P- K) e8 Y$ w
var System = xdc.useModule('xdc.runtime.System');0 G4 Q" Y! l: s& c0 G$ R3 r9 d2 t
System.SupportProxy = SysMin;
4 I& v1 q" s9 [3 I$ [
- B3 e- b2 B! F/* configure SysBios to use the lower half of Timer 1 */$ H4 k1 |& t( _9 {5 Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ n! X3 l4 U" V- \: _
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! u* u- [# p$ MTimer.timerSettings[1].master = true;7 U j+ f6 T' U* e' j8 R( O
Timer.defaultHalf = Timer.Half_LOWER;
! h* |" }5 j2 @& ?Clock.timerId = 1;
& q8 a* M- [5 m; ]2 _3 n4 v y: r" s! f: J/ K/ C
: L, c/ |+ I( l/*
% ^- s+ O2 v: L; m& ]9 M * ======== Miscellaneous Configuration ========( {, h1 U1 U7 k
*/9 }2 r6 K [& q4 j+ V/ H i* V) ]
7 e7 z: S% t2 `) C6 }) j% f
/* set default diags mask */* p) K! o0 P7 [! o! \" ^
var Diags = xdc.useModule('xdc.runtime.Diags');
$ T4 p- f( o8 d4 A F: xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
; b# F, q7 ~: _1 G1 _1 {1 `, `% ~$ \( o5 g
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; F7 F) y% O4 ]* z# c
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; x% r5 c, ]" {5 T+ D5 A% v
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 u' T' L9 }5 R2 r- U
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& d- C0 Q w A, WDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 i# X$ {: M" D( Z6 gDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' v3 g. w6 e9 c2 wDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 o& `1 a& O7 z# [, X* K7 T; T" m) K6 t6 QDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' C8 h, |, B+ L# L. K' J: K! XDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 _ V- U" h8 c) w
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 u9 \% u/ y# @1 y. `4 C. f
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ ^" Y* i! z' Y( v) [ [Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; Z6 c$ }( G( s$ _* [
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 h4 E( j0 Z; F- ]9 \; R
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 X H6 @5 v- p* A
+ E/ |- v* M% W5 _. w; T/* override diags mask for selected modules */. i* R3 h0 A- c; u. k9 i8 P0 [* N
xdc.useModule('xdc.runtime.Main');
, p! H* H2 a9 T$ J; ZDiags.setMaskMeta(0 `- r7 u7 [" r# u+ }/ r
"xdc.runtime.Main"," E+ [% c' o9 ~/ d7 A
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" f# N1 U1 a; u* I' p8 a Diags.RUNTIME_ON
+ s2 d/ K7 @2 f8 F; t);
' T* W4 z M! _$ c) W+ x$ C8 F8 w* C; J0 P2 W
var Registry = xdc.useModule('xdc.runtime.Registry');/ u, X ~8 C. y. g% ~; A, S
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. |1 ?+ g0 Q; V# p# `, H
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! p/ s' _9 \- } {, J" L3 f, V
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
. o$ t D1 {: L& pRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 `( }- s6 I7 ~6 h
: u5 U: \, d7 t4 V( R. A/* create a logger instance */- L6 e6 S0 f( @% k% Z$ ]
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ K% o3 `; S8 [' u6 Q
var loggerBufP = new LoggerBuf.Params();/ E4 M S' x1 u1 O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! G% m8 S. p1 O h
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
; d0 l5 _3 D, E6 p: k- ]
0 z7 l2 F w0 _' b: X" J4 l4 Avar appLogger = LoggerBuf.create(loggerBufP);
% z' V0 F, _' j. a% i8 N( i# \5 c) yappLogger.instance.name = "AppLog_Core1";) Q. z( Q& @0 ^% D
Defaults.common$.logger = appLogger;
( _; x' S4 a! D/ o3 WMemory.defaultHeapSize = 0x8192;
: p: Y" ~0 }4 {8 i, dIdle.idleFxns[0] = "&LEDStatus";
1 k; z1 Z0 h3 j# O( ICache.initSize.l2Size = Cache.L2Size_32K;2 p# ]: L7 a0 E$ s5 m% C, x K
9 _% d& ]6 t. w( R& d7 k
|
|