|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 e) ~& ?" S3 W4 Y$ s# M! _" Q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; e) K( g5 g6 O3 ~& @! W
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ U5 I- Q0 [/ g. E7 }# C
0 _$ \) o' J* j4 H8 ~+ D
是不是需要在DSP.CFG中进行配置
) A! r h# U% x0 b; e我现在的配置为' w" E4 T1 d, `' J1 z& X7 l
( y! @4 v5 e+ z n8 }, w/ I2 ~
/*
5 J. K {8 T S6 X l! d * ======== Operating System Configuration ========
$ b/ C& u# ] A */6 D- X8 h8 z* T
/ ^# l. O5 K+ P) B: V
/* no rts heap */
1 H) Q6 a$ O8 i4 PProgram.heap = 0;6 h, B- B/ R$ m6 p8 [0 h
Program.argSize = 100; /* minimum size */
' n) s1 G# W8 ?# F9 U) t. pProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 z9 ?8 R) j6 L9 ? V
) A0 f1 T* X+ i. z% E. [9 Q$ O) _; g/* create a default heap */$ ~/ O- r) r1 D0 g$ k# u: ]) i0 @
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
B0 O/ l" L1 p- D) _var heapMemParams = new HeapMem.Params();
" T/ g" ^! J* S0 z7 V1 x/ dheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" K* N* P9 A$ r6 K$ o# M6 e
3 |* ~4 ]+ B! T( ~# Ovar Memory = xdc.useModule('xdc.runtime.Memory');
3 _9 J7 N. W4 d8 k/ J: [" q: LMemory.defaultHeapInstance = HeapMem.create(heapMemParams);) c9 {- C! `. a# j- b3 j
% I* L4 p0 a& Q$ f) T
/* configure System module */
' S) Z3 n! Q: m6 rvar SysMin = xdc.useModule('xdc.runtime.SysMin');) R+ D3 O; T1 t9 _1 E
SysMin.bufSize = 0x1000;
9 k. `: Q, S, O5 P @: {0 N: q$ GSysMin.flushAtExit = false;# V" c$ e# s9 Q% h8 C) I8 P
2 b$ S7 V+ p( C+ Y8 hvar System = xdc.useModule('xdc.runtime.System');
7 ]( O+ y. y6 Q% J3 j% c$ ]* O, P+ oSystem.SupportProxy = SysMin;
! c* G) O) c2 r3 p( Q- F. m# v$ N" V* |) m; G- b3 G. |
/* configure SysBios to use the lower half of Timer 1 */
5 S2 m) A3 @* l) R& m evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 B0 ] f4 d# B2 v0 tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');2 a) s, L5 L' i* K1 D9 D, `0 [
Timer.timerSettings[1].master = true;
6 h X8 S' A) C+ A3 A- J4 c$ OTimer.defaultHalf = Timer.Half_LOWER;
/ e; A p% P& `% m! M0 jClock.timerId = 1;
% l `/ H' X9 i3 c$ `: ~2 m$ b: e) m8 ]
/ C7 H' j3 O2 s/*( Q3 h0 u- C5 @& b# R/ [
* ======== Miscellaneous Configuration ========4 ^0 G, ?$ n. p: I }# i# [
*/
+ l8 K' L7 t& N# H- ~" P6 [- k9 ^5 ~4 Y# Z
/* set default diags mask */
7 A o# W, N/ d `! b: A; d+ jvar Diags = xdc.useModule('xdc.runtime.Diags');
q+ [) b( i" K Svar Defaults = xdc.useModule('xdc.runtime.Defaults');
- U6 E- R+ i6 f! [2 L2 T$ l: Q
h2 Z7 ^3 B# d% }4 r. x% a+ s6 aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 \; `; j7 u' cDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 V8 N7 {* h0 a- K7 ]0 y8 kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 x" @1 V+ Z+ X; B4 N. ]
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
U2 R: y% I! }. f9 } s, @Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& N+ q, l8 T. ^4 Q2 J5 Q( x9 s
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- S; _9 N4 e9 G9 ^# hDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% m; w" d/ \/ t( u
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ ~, I# n- L& d! g- ^& f
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- ]6 s. L2 ^; [9 c+ Y& @, O3 q
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 w: z& t6 r8 h" X# c9 xDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* p, _3 \$ V4 b: w8 Q t3 }Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) y9 U: U) w! Z9 f1 _
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, k: W$ m; G) S) `4 ~, }* GDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 {& ?# J) e+ w
' x* O5 r; S8 S4 w* u
/* override diags mask for selected modules */
' @& Q/ C3 n, Q# H! s' Z6 Hxdc.useModule('xdc.runtime.Main');
$ V3 E( a. w+ l( W* rDiags.setMaskMeta(
. a0 n, R0 ^0 S9 ~3 O" t0 f "xdc.runtime.Main",
; q1 b0 u4 ~. ^9 v Diags.ENTRY | Diags.EXIT | Diags.INFO,
d7 g! N* ?# @- i+ M$ n/ g Diags.RUNTIME_ON
1 D! w. c4 z4 y; G: Y: ^ x; ?0 G);
% ~- q8 r1 ?/ Y( [9 v9 ]8 C1 C
3 R/ B* ?# m, U' \3 t) qvar Registry = xdc.useModule('xdc.runtime.Registry');6 Q+ @2 q7 a. @; L: p1 g# j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;8 w3 f3 G8 d3 u7 N$ b+ f
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" Y! F( {# v& J3 Y0 B: e: aRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 _+ |6 P& } q2 O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;) U0 [" c# }0 Q5 L8 ]
9 e3 _6 Y) G' s4 X9 |% W$ b
/* create a logger instance */
: f) Y p5 W' C6 Z! ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' h0 s7 V6 r/ f( r6 ]7 ~
var loggerBufP = new LoggerBuf.Params();
% Z. o& F- E1 w& l, p# ?loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ F6 P% _- s! O. R" o! y i$ w! a6 TloggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 a5 s8 J' _6 k( L4 U1 S6 t8 j- Y" ]8 G+ W3 `; t
var appLogger = LoggerBuf.create(loggerBufP);
+ i6 w7 u: t$ N4 QappLogger.instance.name = "AppLog_Core1";4 v4 R5 x: y% F( [( W
Defaults.common$.logger = appLogger;
) P' S0 D) i2 a3 L0 YMemory.defaultHeapSize = 0x8192; 5 T/ S. I( {) J2 ~) [* V- b& y( d
Idle.idleFxns[0] = "&LEDStatus";" B! P8 m2 m/ S) h' | t: Y2 c5 B
Cache.initSize.l2Size = Cache.L2Size_32K;
5 {3 x6 D1 l% `& l5 ^* o- E- A% p4 h# v- W
|
|