|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明# y. H2 J; i1 ^
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* q4 s" p& h' [$ J. I0 y
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); r: w1 q6 c) S- u+ G
, F- A& {9 X, j5 a# Y# v M是不是需要在DSP.CFG中进行配置
! q6 I2 E% {% h2 t6 T我现在的配置为
9 A9 P; F" c2 Q' [% b$ K
5 t5 G3 b3 Y1 r: p" A, Q/*8 r, j8 w, a4 Q* |# I* s
* ======== Operating System Configuration ========1 o; t: M1 p) ~# K) v
*/
- C3 Z1 J) E6 b5 l$ ^( s D. i& e6 y
/* no rts heap */$ h' U% k" c% V, C2 O
Program.heap = 0;
9 w1 q# z, R+ f8 o; Z9 v9 d; @Program.argSize = 100; /* minimum size */
7 e/ ~: I9 w3 g$ d) d% z. [Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, \5 |, ^$ b, O' c* ~6 p$ ]6 n. s
/* create a default heap */
7 D) V, C4 l V' X4 Fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. {# c: h1 o9 [- u$ Z
var heapMemParams = new HeapMem.Params();
( L. w2 ^- S, z! b8 q/ r [. dheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 K/ D* T% J4 I5 b6 `$ {
* z: [2 H4 @, }) m6 v. k) T5 `/ [var Memory = xdc.useModule('xdc.runtime.Memory');
9 U2 {7 s& |. w% GMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 x9 o$ N9 q1 ?2 l7 a% V% e& N/ ]
' Z" K2 X9 j7 B+ w- O' W4 h' L
/* configure System module */$ ]& {& \( T/ G6 W
var SysMin = xdc.useModule('xdc.runtime.SysMin');- [; J, C: b' P- V! n9 F6 J* ~ `9 V
SysMin.bufSize = 0x1000;
2 }6 H. S* A& G ASysMin.flushAtExit = false;% [ j. T E2 |& T2 r/ S! ~
' D% m( u \% Y/ }) h' p
var System = xdc.useModule('xdc.runtime.System');) V9 N# n& F# G3 C J, F
System.SupportProxy = SysMin;; `9 l& q- m: o" F1 c8 r5 m2 D/ z
8 d+ @4 @( i: H
/* configure SysBios to use the lower half of Timer 1 */' Y4 r) P- z g; I' X1 Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ f+ x2 |! U' `9 Lvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- `( \+ Y1 s9 p( o
Timer.timerSettings[1].master = true;
2 S- ?8 v5 N7 X4 N! V2 \7 o F1 d) WTimer.defaultHalf = Timer.Half_LOWER;/ H3 u S3 `; h+ [6 E2 m
Clock.timerId = 1;9 p5 J; x- g/ Q( s$ F5 Y
4 h+ o. G# Q/ @
5 T7 X8 `; U2 F1 \: _3 [6 z; g/*
7 C4 i( N8 |: I * ======== Miscellaneous Configuration ========, J8 L# S( z4 R0 f/ {, |
*/
5 j3 l1 z. k$ \/ p4 i& r6 P. z! z4 j/ p) M( i
/* set default diags mask */* G) @ h! S) d" E4 k% X9 ^2 G
var Diags = xdc.useModule('xdc.runtime.Diags');0 B0 l& S/ a2 H% A' c
var Defaults = xdc.useModule('xdc.runtime.Defaults');
" t4 m5 L' A$ W" z, e4 f: u3 F5 A; K* Y) q' F
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ f! G, T |) TDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ m% k" K$ q. r* G3 c9 q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* v6 F' L9 r2 n' p% ~* a2 }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" O2 @3 @& j9 }5 }; M7 f
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 n" ~ m9 t. B
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 k, w* J* b/ N# ]# J9 X& y7 Z& Q9 ]Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 B( ], Q' E: `" V0 y& jDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: o% G' K& b p% t" J( uDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 S f* W5 M$ u7 t" g; i
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 j0 O+ `0 O7 v& E( cDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) B% [3 Q* J) F I# \5 IDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 y) J: y5 g0 N* h, ?6 O, v
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 M3 z. `' A- w- D: F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. @6 b1 ]5 J9 G, r8 R* Q! _( O V* b+ J, A6 P9 i- I
/* override diags mask for selected modules */
5 l& }3 n6 Z/ f8 F8 y3 D! h Txdc.useModule('xdc.runtime.Main');
; S. |' p5 z& G- ~ \. s' j7 Q* HDiags.setMaskMeta(' }$ T* [8 E/ R7 I
"xdc.runtime.Main"," p A4 E" A+ i) S4 o) i& O0 P8 ^
Diags.ENTRY | Diags.EXIT | Diags.INFO,# [- }, a9 r5 H! f+ w
Diags.RUNTIME_ON
+ ^8 a( T) A4 S7 Q+ B% `$ q1 s/ d);
8 N& B3 I: u; J) p8 G$ o6 _5 B! {+ i+ p$ Q) @8 z% M% h* A
var Registry = xdc.useModule('xdc.runtime.Registry');3 X9 Z3 X5 b& V0 l c
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 K g% y) \# M% u; e5 M0 Y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ ~- V' L5 l% x3 |
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 a) m0 c" d3 L) A$ H% o. ~
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 j: S D, f( z$ w% w& W" k4 N
) z3 b" ~1 _& T2 W+ f' _. }; T$ U, ]! {/* create a logger instance */" B& X7 X y0 ~" d, F" h+ O% f8 q1 o
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
' d7 U' y4 H$ d1 w0 B5 [var loggerBufP = new LoggerBuf.Params();
0 ]& F6 @% q/ f3 E* j2 \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */ X" S& ~& e+ h$ i& p3 u% g7 T7 O3 D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 v: m# |5 A+ U4 x' w
7 Y1 _3 i; B2 j5 Mvar appLogger = LoggerBuf.create(loggerBufP);4 t& F* S" ^9 r9 @( O" q
appLogger.instance.name = "AppLog_Core1";# k! |, G! ]5 i% U- N$ S8 \5 z2 F
Defaults.common$.logger = appLogger;
4 Y9 r% _) b% uMemory.defaultHeapSize = 0x8192;
5 U3 ~) ^+ N+ y" ZIdle.idleFxns[0] = "&LEDStatus";
7 y* @! ?# p! E4 ]Cache.initSize.l2Size = Cache.L2Size_32K;
& x0 g* p9 ]2 c, ~; j
2 s' \ _. c) B! ^2 n& f |
|