|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 _3 ^* r1 O |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ y5 T& Q; a: s7 Z5 g(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; ~0 H7 ]; u& ^* [7 u) K4 Y* X" {9 y
# H/ }/ m: e3 ~2 j* d$ K7 y( x# g* |是不是需要在DSP.CFG中进行配置
# C! G5 u3 I2 F4 s. u$ \我现在的配置为
, m1 Z$ J7 C3 z6 r. m! G
1 @3 x: c+ d' N7 ^5 t8 `& w/*
8 Y9 a3 e1 D+ ~, j * ======== Operating System Configuration ========" ]( A/ _& F4 k5 {9 T5 U6 F! ~* O
*/
2 i% O0 u7 D( K5 r3 @. e0 n/ z) u2 S
/* no rts heap */0 v! ?& h4 ~; y1 d
Program.heap = 0;
/ T2 `& B% r* X, l& E0 U7 dProgram.argSize = 100; /* minimum size */
7 s) V; W# t3 t0 q7 lProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 P6 E5 ~3 H! H$ _4 g. @4 `0 _
& ^) i2 F3 W* k0 X. ]: u- J/* create a default heap */
# C0 D7 R+ f, L4 e$ t: N/ tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& d6 g4 L; K% |/ v; [( m; Z: \
var heapMemParams = new HeapMem.Params();
) F z( g: M& Y1 o: q# W; SheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! M, r6 e8 x# `7 t+ l
$ N0 U/ |; ^3 n) ]* p6 D* u
var Memory = xdc.useModule('xdc.runtime.Memory');& v g- T1 H1 W0 H
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. ~+ n' U3 n, P/ V1 ]! }5 |% ^. Z+ H! J g. K' M# _
/* configure System module */
1 |: \6 s- z- ?( h' p$ wvar SysMin = xdc.useModule('xdc.runtime.SysMin');5 y* l% q& I/ I9 Z6 \# K
SysMin.bufSize = 0x1000;
$ r/ G6 T4 ]7 F I/ H: T7 L% h6 q$ ISysMin.flushAtExit = false;) E1 Q5 _* |" G# t4 S
4 g* [5 F0 Y% k+ F& |7 z
var System = xdc.useModule('xdc.runtime.System');9 D- j4 i4 U: N1 R3 L1 Y7 E
System.SupportProxy = SysMin;5 ~" w& w. @; z- ]: z# N/ c
" Q* O; k: P! \7 k& r! e/* configure SysBios to use the lower half of Timer 1 */0 N/ C9 Q+ A% r0 m1 G
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 `/ D! `& r. b& L7 Q" ^var Clock = xdc.useModule('ti.sysbios.knl.Clock'); D; O/ \0 s* x4 w; A Z/ c# q) E3 q
Timer.timerSettings[1].master = true;
3 X! y! K, V( u7 NTimer.defaultHalf = Timer.Half_LOWER;
4 v# f! a5 N4 z3 U3 xClock.timerId = 1;
7 h* U! M L6 F
& ]% M4 D) P' T( n" M$ ~; V9 X
5 r! o/ u' r* ?/*) Q, f+ y D2 }
* ======== Miscellaneous Configuration ========
+ U; ]* u N; r' Y/ _1 _ */
3 y( i# l8 P% e5 [' `6 h, }
9 f0 d/ k1 q( ^# d/* set default diags mask */# d1 R* ^* @% x
var Diags = xdc.useModule('xdc.runtime.Diags');6 V* C [4 l+ v8 B! Q
var Defaults = xdc.useModule('xdc.runtime.Defaults');- M. ?8 f9 } E4 r+ c9 h9 f: y
h0 t( ?& j) ?# O |5 S1 R" VDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! l3 F7 r; h; h% j
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% u8 r, ]& p5 d' m5 ~1 N$ `; i5 M1 H% ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 U% o' B ? Q. Z( L
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 g6 c8 S) L' L2 N( S& X7 S1 I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" c$ o' R6 R7 G3 R
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;; }8 y/ P0 V. ]3 ]4 B
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 A- q' w# b0 GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 r4 P4 p# Y UDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% p/ t$ D6 ~" z( q& I, E$ ~9 bDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF; _1 U- }: p' Y0 _+ |# @
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- T# t* s. l; g" ADefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
! q2 C! r3 @. Z7 e4 PDefaults.common$.diags_INFO = Diags.ALWAYS_OFF; X, q2 |7 W, d- d3 A' b s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 }4 R& D% L8 f! I% `
a$ h4 q* {8 \; H/* override diags mask for selected modules */% w* x3 H) \1 T+ y$ O+ k
xdc.useModule('xdc.runtime.Main');
. {. ?# O; O; |Diags.setMaskMeta(
% F3 k. U& L+ w; O8 E: H; D "xdc.runtime.Main",8 r; P9 D( A* d4 I( j l5 U
Diags.ENTRY | Diags.EXIT | Diags.INFO,0 V. S! _2 ]. y2 f+ i/ q
Diags.RUNTIME_ON0 y# y8 H9 c7 C: M
);
( p$ m8 x6 e5 l* q0 K) s
$ A& P, ^' t4 U4 i+ q# rvar Registry = xdc.useModule('xdc.runtime.Registry');
+ i+ o2 ]) m, _# PRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% I* C. k; B1 ?0 o7 [2 q, O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" o6 l8 f* X; s$ o. U" Q* V; @
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;! H- r6 }0 p8 a# j7 E
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 |' a+ t1 Z. Z) x2 R
# h' j2 A y+ l/ Z% w/* create a logger instance */
0 W# `+ a/ f! C- mvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% d* ~- q( o) x9 c Hvar loggerBufP = new LoggerBuf.Params();
. |! t( ?# a: l( T9 NloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. W% Z: N2 V6 Z7 e; NloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ G9 v0 u7 ^( x" I
' U* ^9 @1 a) P# [+ F, y u: n# ?var appLogger = LoggerBuf.create(loggerBufP);/ [5 V' I6 G- P+ o' x0 ~+ x% t) \
appLogger.instance.name = "AppLog_Core1";
2 i7 \$ ?8 k( Z/ ~3 XDefaults.common$.logger = appLogger;5 H" s4 U/ {/ L- y! X5 l6 {, p k5 C+ W
Memory.defaultHeapSize = 0x8192;
5 M- C+ E2 s7 [ O# p. aIdle.idleFxns[0] = "&LEDStatus";
; Q" m2 @9 ]0 OCache.initSize.l2Size = Cache.L2Size_32K;& p! h& c# s) m. I$ x
: D! w' [$ ~: j7 l( f) h& Q% c \
|
|