|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 V) L Q* n: Z/ X' v6 E7 P% B% P. ^5 X
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) w& m) s/ t s7 F0 @; w
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 ]1 P+ m4 x& [) K+ u2 H+ b
2 y/ m& E5 d) R! ?是不是需要在DSP.CFG中进行配置
' @8 ]" O ^% \! q- \7 b0 |% @我现在的配置为
. K y" u" R* A( @5 m, f( A s1 E O% i' r% P! X
/*
7 L& I% E! e! q) f. h * ======== Operating System Configuration ========
% P/ c Q9 g/ K1 ?; G */
" A, w/ [( k2 B- n9 z# `8 r: I C3 Q: W* \0 H0 k
/* no rts heap */
4 ~2 u1 O' [( {4 y$ S% QProgram.heap = 0;, P" c l: w; ~0 Q! O- _3 r, z' D' o
Program.argSize = 100; /* minimum size */+ Z% W7 v$ ^5 X% n9 B, F* q. K8 |
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: _' Y1 H" E( l$ }* i
m1 {/ x0 C6 u: N
/* create a default heap */9 x3 p3 V' T) w, a& d
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 H# \: ?! b. ^
var heapMemParams = new HeapMem.Params();
- V/ \$ X: D" y/ B }" iheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 ~. n8 ]9 {3 T; d1 p1 N/ J% O
8 Y! [5 F- u; k) }! g6 e# j% ovar Memory = xdc.useModule('xdc.runtime.Memory');0 y+ A0 O. f4 J; k
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ u7 s& L& J/ K" ?+ y, w1 {; k* Z
2 ~& G5 h& f" s0 O' Z, K/* configure System module */
0 O1 M6 E- N% i8 dvar SysMin = xdc.useModule('xdc.runtime.SysMin');4 @) k( [7 v6 m% u3 u; q; C2 i
SysMin.bufSize = 0x1000;
% @/ n6 q; C% JSysMin.flushAtExit = false;
. {5 _# h0 o- S$ ~+ {8 S
1 b# w. X, Y S% x2 k" [var System = xdc.useModule('xdc.runtime.System');% S/ ^/ U% m7 p L. j
System.SupportProxy = SysMin; e. W' e( y9 }
0 M, \3 ~9 L6 ^" q2 i2 g/* configure SysBios to use the lower half of Timer 1 */3 U W6 I' R4 j5 j$ z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, i5 \9 @8 B8 f$ [5 @# P
var Clock = xdc.useModule('ti.sysbios.knl.Clock');5 r8 Q! X* B+ ]8 [; M4 q4 M5 J
Timer.timerSettings[1].master = true;- V/ K ^! L& \3 N
Timer.defaultHalf = Timer.Half_LOWER;
* F' ]# E; F9 e' X0 Y) _Clock.timerId = 1;
+ K+ |+ y# X+ P4 N6 V5 {) `- [( C$ l8 \# x! V
! y) C" [4 h* S& t% f+ }2 {- M
/*
( I7 A8 b# t" O6 t. a3 E6 G * ======== Miscellaneous Configuration ========" m0 v4 a, }" P7 X
*/
- D% P6 r3 f: V: F: l. d$ \. b, S e0 k9 X, @7 v
/* set default diags mask */
; f& N4 C! R, `+ w4 C7 i0 ~var Diags = xdc.useModule('xdc.runtime.Diags');
9 ]" \+ C- F: m% l% l% Tvar Defaults = xdc.useModule('xdc.runtime.Defaults');2 l" j- s7 T+ M0 Y7 t
( \( H+ O! O" N" |+ X9 D- VDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; X' Z6 C' d, @7 ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 u# z! g, V% `Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 U3 R/ P! X) s0 c- tDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ [) a9 j# r! h, \5 ` rDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: S% I) f" n; Q, X" x" o5 l
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 C0 u( {5 j; m7 Z4 r" hDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 _' b* s5 g5 S& W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 M% C; F# _2 ^8 NDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 u) @4 G# X6 f1 w3 W, h9 mDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% C) R' I( W B6 z& ~, D! q4 M
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( G B9 L' D6 S/ q/ L' iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 }8 n5 e+ z" V- F: s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( r7 h& N; U' A9 h9 c; K2 X) j! FDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. c5 W8 K; B+ G, t- y5 h4 h
M* W* ?1 ?$ s4 ?& s( d/* override diags mask for selected modules */
$ {* @' ~+ }2 B8 \$ n8 |xdc.useModule('xdc.runtime.Main');, L9 f2 y3 M1 b2 y$ w* s
Diags.setMaskMeta(
( x# P- b5 p* |9 _# y x' @ "xdc.runtime.Main",
' N( g+ Q* |& f Diags.ENTRY | Diags.EXIT | Diags.INFO,# S: B8 F1 r/ ^$ O
Diags.RUNTIME_ON
' R' G6 b" c6 a- j( g) ~);
, @$ w, m4 h7 U' d2 F3 \; \+ ?# {/ c9 |1 o" H5 D
var Registry = xdc.useModule('xdc.runtime.Registry');
V# Q8 K/ v1 hRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& y: k+ q; A+ T. e3 c
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; f7 f7 U e+ f+ I2 m& W+ q! i0 I2 e
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;" _) r( z" s, R) y, z- E* L
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ P" O* M6 Y2 H9 i
$ T; T7 L% u$ S7 M4 f3 M/* create a logger instance */% X; L; w/ H) [. b3 w4 [( H
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 T- V0 o r; ~$ B2 ]1 ^var loggerBufP = new LoggerBuf.Params();6 y% O$ Q" E# h; {& ]) N; S! s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 g% l8 S d; S& `) [
loggerBufP.bufType = LoggerBuf.BufType_FIXED;) t$ R/ O4 H& ?" a, z
2 E) D* x- X2 M! s
var appLogger = LoggerBuf.create(loggerBufP);( I* V( i% [, @: z
appLogger.instance.name = "AppLog_Core1";
' S0 c7 z8 T: _# o6 b) Q5 CDefaults.common$.logger = appLogger;
* l' B# l' G1 m; X# }: xMemory.defaultHeapSize = 0x8192;
, t Y$ Y7 V( W6 ^Idle.idleFxns[0] = "&LEDStatus";
( z7 ]$ U3 Q0 o5 |" [/ ^8 QCache.initSize.l2Size = Cache.L2Size_32K;
/ i- h7 q+ N2 Y* ~: R8 ]7 s
M, X9 x" g4 g1 l |
|