|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. S! s% U4 }1 q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& _8 V( h, ^' g+ d(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 ]: ~' k" x% q
* C" _' l8 t# k7 d. d是不是需要在DSP.CFG中进行配置
t# g$ \. R! s- z% J( Z) y6 P% a我现在的配置为( h5 ]% S: I4 } W
. D# i( R0 B# V$ t) y& l
/*: E, ?2 D4 B# X, ^4 t
* ======== Operating System Configuration ========
( d0 b' M& P* |, e; [- @* x */. N+ H9 {) S1 { p& z
7 {! e% r/ z" I% P6 C/ {) q/* no rts heap */: A" W! i: h8 l+ H
Program.heap = 0;
3 g3 w# m1 B4 [5 Z0 IProgram.argSize = 100; /* minimum size */& S4 e, S! S# _5 l; F, K7 I
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' q/ }5 }# [8 v( ?4 ^, f
' C$ J# g. D- M( e/* create a default heap */" y( Y. G& l5 T7 O' K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( Z' J' H/ G' @$ r( t) i3 w6 K1 g
var heapMemParams = new HeapMem.Params();
5 L N5 V4 {6 Z/ J$ ]heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 Q8 V; S$ ?, @ l! J; _ O
+ G3 |' X- q8 e. o# Dvar Memory = xdc.useModule('xdc.runtime.Memory');9 J+ A2 {/ N7 T5 r2 ^+ m% m' O7 v
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 z. B. }; r8 g; k4 z; t' a$ k6 d- C! P0 T o) C
/* configure System module */
5 p+ a7 W+ t. nvar SysMin = xdc.useModule('xdc.runtime.SysMin');
9 V3 F9 \$ ]8 T3 Q. ~6 q, @' KSysMin.bufSize = 0x1000;, j8 T2 h/ p& k! F
SysMin.flushAtExit = false;
9 E+ c* e9 h8 P* J1 g! x; C- U' o8 N, r/ Q# u% b
var System = xdc.useModule('xdc.runtime.System');$ w5 W/ D$ H8 L& F9 i- i
System.SupportProxy = SysMin;
- _( c+ k& x6 w' u. n5 l) }9 n) g, u
2 i# A- x# \0 |$ a! M+ t3 e/* configure SysBios to use the lower half of Timer 1 */
7 Y2 @5 b7 ]' H, Fvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& m/ h9 Q% d9 g, J& G7 Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');: d6 s3 w- Z) n- i
Timer.timerSettings[1].master = true;
3 N- o6 {% \, K) E) |- OTimer.defaultHalf = Timer.Half_LOWER;
) z6 @7 J U6 P( h: i! A. F7 iClock.timerId = 1;
& y( }! {1 O& l0 w. t' p5 _7 o- H5 e: u7 z
; n0 P2 Q% \+ X8 h: Y/ d4 M
/*7 J4 |' F G6 e; ~( x" A
* ======== Miscellaneous Configuration ========
# _! f+ q5 G- G& f7 _4 ~ */
( {9 z- r4 s5 Y8 U& ]0 B5 y% F) F5 o% q' n
/* set default diags mask */) {* j9 f5 D) N: F$ F% F
var Diags = xdc.useModule('xdc.runtime.Diags');/ Z( a$ _- {- N, |; [
var Defaults = xdc.useModule('xdc.runtime.Defaults'); M( P, L) I: s, o. ], [0 r
9 C: S: ~' O5 L- k# pDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; P% `: L' d% j3 }6 }, J
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& o$ n C/ U( i; e1 J0 GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 j% |% o0 B0 D& p% sDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ p1 U6 c! l7 F4 g5 Q) W6 M _Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 I- ?( z: u: Q% K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;: t4 P0 a. ?0 p) u
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( U% F" @- I% x/ G9 iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 K( J' P' h* ~Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, D3 i/ r8 F6 l+ v
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 g1 S9 r2 @, Y3 X F4 GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) X7 h: z; U0 r; V2 x
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 p! r$ }! W. z* a: A) c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* X1 H5 C, S, i: _- A% f
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ w, l$ j: W$ D# a W
5 V2 K3 y3 \# K: y1 Q' t/* override diags mask for selected modules */
* Q9 F) H2 V& y+ p# m4 v# s* C' txdc.useModule('xdc.runtime.Main');
9 @& i1 N7 W. M5 F1 z5 t! iDiags.setMaskMeta(
& `+ D, E( [# h$ }$ K "xdc.runtime.Main",
J& B K6 x2 i$ b* D1 Z. q Diags.ENTRY | Diags.EXIT | Diags.INFO,
- Q2 b) c, B" s" X1 s) Z! `# Q& R Diags.RUNTIME_ON
5 O5 L% e" G6 M2 X3 k, N [) R);
1 p w5 c- i+ u& z: _5 R5 b `/ v+ A' [1 \$ ~; j; u# O+ l
var Registry = xdc.useModule('xdc.runtime.Registry');7 ]& k; ~& o9 q: h* t) h ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; `+ E. Z) o( f2 Z
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* t+ _# Q1 @- f
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 H8 a4 \, f5 \" L6 ?
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;) T0 m9 u" q/ l0 o% [' r( |
% V* q% ^/ i2 }7 A& B
/* create a logger instance */
- P* X4 }5 @" N$ Vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; w- p7 J8 ~, @; i
var loggerBufP = new LoggerBuf.Params();* x; A, t0 i% I' _3 \8 E" U+ r/ J
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 g2 j" H9 H! d/ ]7 b: floggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 k7 M) C/ G% c" w* I& V$ H9 c0 W0 m( s" T7 Z2 P5 b# }4 a) h
var appLogger = LoggerBuf.create(loggerBufP);
* e# A8 O: M" v$ x' _appLogger.instance.name = "AppLog_Core1"; s" x: L' a3 g+ g0 G) U, Y
Defaults.common$.logger = appLogger;2 Q9 l$ w6 ]: E ?0 t& V2 z
Memory.defaultHeapSize = 0x8192;
+ n9 k" o$ e7 A, Z5 `- L7 B0 CIdle.idleFxns[0] = "&LEDStatus";/ t6 N8 D% w. `) p. f8 B6 B
Cache.initSize.l2Size = Cache.L2Size_32K;4 L; f. u% B; e( i: q
) H/ c1 b+ [3 f Z# @+ g" `: U |
|