|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 w, A; U7 V' [我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& n& o5 w; Z3 ~8 c3 l4 e
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& Y9 T7 F& c" y9 x
8 C! K g8 e3 ~$ O是不是需要在DSP.CFG中进行配置
. U9 H1 ^% Q6 h4 ~" q9 @( \- r" {我现在的配置为, ]9 K9 F6 C' V6 w& e, L
* J: V0 |: o1 u4 }7 ]
/*
. x. q1 D7 h4 F * ======== Operating System Configuration ========
. p9 z, L/ x, l( T" F */4 [/ G% @( ]: x$ b2 y
/ y+ A$ S U% R4 L% b3 q5 s/* no rts heap */1 \/ Z) d) R8 z5 A# o1 V7 O% g* i
Program.heap = 0;4 C( h. q3 L, o* u! R
Program.argSize = 100; /* minimum size */
/ H; a: J' O. n( y' gProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 |) g0 |, R( _( V k ]$ F$ e) H% I) c" U6 U, E
/* create a default heap */
A) i1 d% z' ~! _8 ?var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 e; w# L: [9 E3 g, y- }1 E
var heapMemParams = new HeapMem.Params(); c+ n% v# X+ S' {, D7 y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 X: C+ V1 ]+ p& C$ w
) o: p9 b+ v ]5 C1 g& _; V* avar Memory = xdc.useModule('xdc.runtime.Memory');0 A( O* c. ~, H6 r8 _0 }1 a0 |( X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);6 I7 d& u% Y8 `* C3 F h
1 c: Y: e0 N' B1 _6 A
/* configure System module */ ?; ?1 l; r$ ~* G
var SysMin = xdc.useModule('xdc.runtime.SysMin');2 G- o% {4 R- q5 P- B
SysMin.bufSize = 0x1000;
M" K! p' }* Q8 ^& k3 F& mSysMin.flushAtExit = false;
5 a/ X) e: B0 I6 B) b8 `! Y+ c ~% _' A4 [$ P/ f* \( O
var System = xdc.useModule('xdc.runtime.System');$ e# b2 B4 _$ b# G' @! h, W- e
System.SupportProxy = SysMin;- W# y: h/ J9 @. N7 }# A0 X% w
1 Y( o8 y' k- @8 g+ N9 f, z* o
/* configure SysBios to use the lower half of Timer 1 */3 N _" W& o& `0 J2 |
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');6 r9 \1 c7 j, e6 M8 m& @% n0 b
var Clock = xdc.useModule('ti.sysbios.knl.Clock');! x( c+ T* z g4 L2 r" S' x, C& h
Timer.timerSettings[1].master = true;6 D0 n! i. u- ^4 i) j# s' L0 o
Timer.defaultHalf = Timer.Half_LOWER;
* N% ^7 v( M& U4 b/ eClock.timerId = 1;
% {/ o+ D; l' X+ E2 x/ Y8 O% b5 i/ |7 f- z' y8 `
1 E# L7 I3 k' m/ ?" k/*
+ R. [& C* ^1 s. }" O9 O- ^9 Q; t * ======== Miscellaneous Configuration ========% s c1 |+ o# Q5 m8 y" R
*/" g7 `( C/ ?. M7 b0 W% M! c( {
9 V/ k% t! d: m* T9 C1 L# ]$ a/* set default diags mask */9 w* A& l5 x, \3 L+ i3 I1 u6 F
var Diags = xdc.useModule('xdc.runtime.Diags');7 F, C3 E6 e, S
var Defaults = xdc.useModule('xdc.runtime.Defaults');% g/ A$ k1 G9 ?
- y1 E0 P8 N7 A& L% q ]. z; hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 U, s+ I5 o c, [Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 ]1 ~. z8 P2 z: |; g8 EDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 i( {. ^, h& l& j6 M, K$ |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ d( j# x, ]. w7 SDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 K) y# v u& \- _8 gDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 Z I _5 c2 u4 c! P
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ ?5 m# B J7 _+ `
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 s* _& U" @, i5 A
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, @2 R3 ^& @) R nDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;" X7 B; f1 O( b& V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" l Y/ @7 e( R# R
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 T3 X9 z* S; [6 ]1 [Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) q$ K# w/ e2 sDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 U8 z# y+ B7 B3 Z
$ f6 V3 G1 Z; x1 z4 O6 K/* override diags mask for selected modules */
6 H9 o* u' t3 U& b$ M* f% t2 uxdc.useModule('xdc.runtime.Main');
, X8 b! L1 Q, w5 X5 `Diags.setMaskMeta(& Y) u4 u' u5 _6 h t8 _; l% Y" X
"xdc.runtime.Main",
( S1 A8 v+ V+ u( V+ h V) g3 y Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ O/ s* q- C; n% w! [- n: p Diags.RUNTIME_ON
8 y* L8 z% U# W* E( v);$ e5 }, }! B- i% V6 D5 v. H0 u
* Q' l5 t0 i1 q1 xvar Registry = xdc.useModule('xdc.runtime.Registry');
' @/ Q3 e& Q8 ?+ k. X/ MRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" F9 g) Y3 u/ Q* DRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 [+ `# H7 q% qRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;; l( [# ?; V' F( Q" [# y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ e+ k \, I3 \+ }) S) T+ r. M" f1 A& w2 U {% U. D) F
/* create a logger instance */
+ _) w2 g0 t+ d* avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. \9 o0 p9 Y6 F8 ^
var loggerBufP = new LoggerBuf.Params();
% o9 d7 v' M* sloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( N" g5 A6 H# @1 D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% E5 v k) a5 v# }8 D- c* M5 l7 r7 ~6 G
var appLogger = LoggerBuf.create(loggerBufP);
# _% }( h0 |& F) q5 QappLogger.instance.name = "AppLog_Core1";
9 B1 E0 R2 V5 m3 i6 R2 ~Defaults.common$.logger = appLogger;
6 c. i1 Y a( e9 A/ [Memory.defaultHeapSize = 0x8192;
3 p0 H" E* T! |Idle.idleFxns[0] = "&LEDStatus";$ L$ |& X6 J6 ^- z: d/ N) E
Cache.initSize.l2Size = Cache.L2Size_32K;$ K6 F( h8 d2 E' H& @/ J2 d6 o* H. `5 j
5 G- h/ K7 z' |1 h |
|