|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 Y% B$ }* u5 N/ q8 O& j4 D
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* Z+ s' z1 P# Q) e3 A9 ~+ ](不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, o) z" e. X) c* _0 g+ [
- H7 K f1 v5 v! u. ?是不是需要在DSP.CFG中进行配置
4 a- o0 D3 p0 ?: s3 u& ^0 {4 {我现在的配置为 _5 y! {; ?4 W9 q
! Z- g, N& }3 H0 T J- H0 l {( I3 b
/*
8 |0 H: n% f ^6 N; v" k! N * ======== Operating System Configuration ========
2 E0 C `2 m g3 v( j- \ */- D3 {% Q. o: _
9 b) O) {+ O; n1 y% @. U" i$ k
/* no rts heap */
6 `- c1 M- ^3 \7 b7 T/ yProgram.heap = 0;$ j$ H; p. z* @. F+ W8 J
Program.argSize = 100; /* minimum size */. q1 E. C: E. D9 G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 o' Y3 @/ i# d% p. x9 T7 ?
2 t* Q4 J5 B, n4 \- t/* create a default heap */. s' @ X! _' ^$ v( B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. f% a0 ? W: ^var heapMemParams = new HeapMem.Params();4 ?$ d/ G. L7 Q2 T' ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 u I2 I+ C% R4 \
' A! a" g# u' ~var Memory = xdc.useModule('xdc.runtime.Memory');
# p a; }& G4 j+ j( k! GMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
' r, ]6 ]3 ?( Q, P( v* ~/ m
! `/ Z% O5 \+ W6 l9 j4 q2 ?/* configure System module */
7 u; G6 I8 `+ Q; K) h m# _ }( ivar SysMin = xdc.useModule('xdc.runtime.SysMin');
9 {: p& t" J/ \: G, c6 K$ wSysMin.bufSize = 0x1000;
2 B; t% ~- g; F! I" {+ n, _& @SysMin.flushAtExit = false;7 d, ~# d# V4 Q7 ~
7 b' f: f; e% d
var System = xdc.useModule('xdc.runtime.System');# f8 w; U" J0 h! k5 ~1 e
System.SupportProxy = SysMin;
! o% j& a# n0 F; `3 w
3 C8 g! o7 [ I G' @! s. Y A/* configure SysBios to use the lower half of Timer 1 */) [7 V+ w6 o$ v, O
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( o Q3 A+ R) f6 A5 V
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' o* B8 i* q/ W! w9 [, k: d
Timer.timerSettings[1].master = true;
u* p$ \3 ^/ l' E' Z3 Z5 `Timer.defaultHalf = Timer.Half_LOWER;
s) d3 n; l7 K7 E+ d. Q1 tClock.timerId = 1;" x7 S" v0 {6 M& B3 G8 r2 }8 M: J
( k, t% j" k v
$ I Y/ i# @ S/ v& U$ e8 x
/*
" [. N; L; B/ E7 F0 _9 |8 X * ======== Miscellaneous Configuration ========( R0 m; r% }- w6 [- z7 x
*/
8 ?; L0 g/ @2 D# T8 \( I- x9 f M o* b7 j
/* set default diags mask */
: ~3 l6 l4 c& p% f- Lvar Diags = xdc.useModule('xdc.runtime.Diags');
' C* t! @1 Z0 a0 }; U1 Svar Defaults = xdc.useModule('xdc.runtime.Defaults');
1 _. [; Y5 U# P# ?, ~
# F, q5 g' ]$ e, V6 y1 U6 dDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. F7 O' P4 N& s& w* B/ ^; e
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 y1 j: D2 O7 z2 U; U0 R) b: kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. x* h) p3 ?1 FDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% I$ d5 a4 r0 _# J7 K2 CDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
% \- J0 N& R5 E6 j) L' U; `Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 H% u2 d9 g6 Z9 q: N# oDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 E) I) t9 k2 F. C9 @4 |
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
W% R+ b+ N9 U! Z- l/ l7 v ~Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 w% \3 G' M- U# [8 N1 [Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- @6 |0 ^$ O2 GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;! p7 g4 \: X" d9 I
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 D6 x1 h5 t, C9 c7 z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 J8 y1 h z7 g9 X, e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 G* b% F2 ~# {: d7 D
2 n! V+ T/ A1 W4 y( x0 F
/* override diags mask for selected modules */8 G% E: r2 s9 d6 D2 M
xdc.useModule('xdc.runtime.Main');
( G1 d5 p9 O& ? V! M& ~5 eDiags.setMaskMeta(
, A3 B' Q& x7 X/ c" H. N "xdc.runtime.Main",
2 _4 K7 T2 S6 Z Diags.ENTRY | Diags.EXIT | Diags.INFO,% q6 i' Y5 O) S! \3 ]& s
Diags.RUNTIME_ON
2 i a; j: f8 {4 W6 x& X);
- v1 b K4 R# C& g4 h5 L% x. ]7 I5 h
var Registry = xdc.useModule('xdc.runtime.Registry');0 \* x1 L; p: X H2 B d; u3 u
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; X0 K9 S1 c" K% q" M T5 r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 j$ I' C+ B- N3 R5 hRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ R. R5 q* {# b" U* s( F" D# s
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ q- f5 ~) ?+ ^7 v6 v# g, l: y% k$ H0 a( X* k2 p$ m8 O* Z2 W
/* create a logger instance */
2 U8 s, p! d0 p0 r; I! ]* j/ a) mvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 `" w& @4 ]; e. o; ~& zvar loggerBufP = new LoggerBuf.Params();
& U! E! `' H6 K6 i ~loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. a, |0 k* g0 d9 K: i8 Y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ a6 t M' ]' n& C9 T, u& C7 D. X* K+ n
var appLogger = LoggerBuf.create(loggerBufP);9 `$ ?$ o/ G2 E* [/ f+ i( R7 V
appLogger.instance.name = "AppLog_Core1";5 A' n7 C, J( ?. f D8 S% h7 o
Defaults.common$.logger = appLogger;* w( {( X$ Y+ c, p
Memory.defaultHeapSize = 0x8192; # P* G+ V2 Z6 R6 T L
Idle.idleFxns[0] = "&LEDStatus";
, p9 n" Z9 o/ b' w* \, E+ {8 mCache.initSize.l2Size = Cache.L2Size_32K; u* `0 G- |# F5 k( W. l
7 g1 I9 Q7 v9 U6 r
|
|