|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( M. N& a. a4 |% i. V7 x3 D我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* j: G$ |! R4 A/ z4 E( w9 Z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 M) I! n3 z4 t* ^# b! s
6 H- T- V" e$ l/ N+ S是不是需要在DSP.CFG中进行配置
# K6 n3 @0 R B# S4 A我现在的配置为
$ p! G( _$ w5 n, @( E3 [& O9 e* a9 K8 [" U/ r3 N% D6 E- C& O- w
/*
6 O7 ^; s* ], F4 w& D * ======== Operating System Configuration ========% c/ \7 p4 u( a3 t5 u
*/, m( j* }3 `8 o
8 s) S. Q2 C Y
/* no rts heap */
+ X6 m- \3 K& jProgram.heap = 0;" M/ Z0 y% f. w& D) e5 H
Program.argSize = 100; /* minimum size */" k* @* Q# S- F# i& y' {, h2 s6 z) ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 ?, u; y) R- ] O; n6 b4 t' Q; b" V8 E
/* create a default heap */
/ R$ o- z& b" u3 ~' t1 Yvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 E) s' Y: ~- o% A5 ^7 mvar heapMemParams = new HeapMem.Params();9 E* @+ h: z- F
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 e2 ^& }8 }+ K$ Z. }; w' p, s* n7 @; z* x4 @! m# \, O) b
var Memory = xdc.useModule('xdc.runtime.Memory');
& E) O- m1 {4 Q: v( E- \Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
, d% Q6 I( }7 K( o) s6 }1 |$ H0 W1 g9 S: d
/* configure System module */& l# @0 D) {4 j1 w" z: p- P# \" S
var SysMin = xdc.useModule('xdc.runtime.SysMin');% ~, `% K4 s7 r
SysMin.bufSize = 0x1000;9 v( a0 g) V" h% w; }9 c
SysMin.flushAtExit = false;
+ ]9 h% b4 s5 t, ^1 W% n& Z3 V; p2 Q/ K( B9 w5 k
var System = xdc.useModule('xdc.runtime.System');
' a' J, {! i5 a. [, pSystem.SupportProxy = SysMin;7 _9 g0 p* w0 R
9 K& b9 j( g% o8 O3 ?& F& R$ B/* configure SysBios to use the lower half of Timer 1 */7 d5 y: E6 I, o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) z' X4 u5 D2 v$ o1 M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' G8 |$ J0 Z) G8 Y) R: S) z6 L1 V/ n5 lTimer.timerSettings[1].master = true;: {$ M& ^5 _& Q2 U/ E P3 e! ^; ~
Timer.defaultHalf = Timer.Half_LOWER;
7 p+ D3 Q7 I7 ]& i- Q, dClock.timerId = 1;
+ b' I4 p, I* [% e
8 p, y' e( V) I: _$ X' O! \/ a N2 G7 q+ k7 d+ |! T
/*
0 }3 F# S8 _/ q0 x * ======== Miscellaneous Configuration ========
3 d$ ^0 Z+ S% G# Z I */$ g7 y$ y; e( w* c( K$ K" r* V: v
; T$ C5 G* e- K4 G1 `
/* set default diags mask */7 ~0 ? s+ X; T4 _$ w/ S' |+ j5 K
var Diags = xdc.useModule('xdc.runtime.Diags');
0 j: ]9 v5 I* L& G' d" Y0 _, m3 rvar Defaults = xdc.useModule('xdc.runtime.Defaults');
' B: J5 Y: D+ l! L! Z
1 M5 D( U* Z: T+ i+ E( aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 c1 [! e- l5 t) VDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ @2 X5 n& P; v) i2 D. gDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 t8 p6 z; q" T' G3 ~) Q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: U* x- l) h; h, ~5 }$ sDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ E1 k! T7 j, s
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 }0 Z- K; ^6 f* S7 n9 R$ \Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% [2 p3 Q ]: I. _% W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' u! m3 B5 I$ qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# Q) \% S' O' j" W4 jDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 K4 D5 b& w0 q- W YDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% Q; A9 I; S; e1 T# u3 M' b1 I- RDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 l8 b4 \; m F X. O* B( t* P4 uDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;: d& E$ f/ {( M; M1 w
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 n9 N* K8 e/ K( P: q$ I( p
7 Q) V `& D' J. Z i/* override diags mask for selected modules */
* O1 P5 @1 R3 X6 h. C2 kxdc.useModule('xdc.runtime.Main');4 v* z) ^2 x. O8 j& v
Diags.setMaskMeta(2 J% g/ \( V' B
"xdc.runtime.Main",3 w* l2 E' f+ w6 @* G& F6 i
Diags.ENTRY | Diags.EXIT | Diags.INFO,# r' n' p7 F1 j+ y: ]
Diags.RUNTIME_ON) Y. j" l/ T4 `
);' J/ f# a; ] n3 }8 l
) t' R. i" ^- e1 |! N6 w
var Registry = xdc.useModule('xdc.runtime.Registry');3 H2 H! @7 n! {- V4 q* T% {( V
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% O; ]( L3 }$ M6 fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% l) O9 \7 m$ r! jRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;7 u' F: f2 W2 O2 Z1 Q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 o/ u% X% ^3 f1 e6 ]6 v _, Z3 Y" `! u3 L9 L
/* create a logger instance */7 t& }* A; w2 @$ W$ ?
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: e% M# p. W& m9 }6 H3 m& Kvar loggerBufP = new LoggerBuf.Params();7 y! D/ I6 Q- U$ I. @7 x1 A
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 R$ W3 B$ |! y4 D& z& `7 wloggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 Y/ @4 N0 g, Y$ q0 s2 E8 h# ]# \. Y
var appLogger = LoggerBuf.create(loggerBufP);
8 d8 f2 d! K6 G# @appLogger.instance.name = "AppLog_Core1";
8 {& F6 U1 i. [Defaults.common$.logger = appLogger;
$ h! j; V a4 {/ wMemory.defaultHeapSize = 0x8192; % T6 M( a9 h: `, k1 h' {
Idle.idleFxns[0] = "&LEDStatus";
% N" c' L8 l1 kCache.initSize.l2Size = Cache.L2Size_32K;% q; U( C G. p$ p- C( ^; a
9 x' p5 q; }$ K; B) X
|
|