|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* n: T( W; e" t4 d我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 [% I: {# f7 M( ^& b( h(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 O R# h9 ^1 ?6 V6 t+ e4 p) F+ S b5 }
是不是需要在DSP.CFG中进行配置
: X9 g/ g/ }0 }; P: N; v我现在的配置为3 Z4 e5 x7 }0 b7 b0 Z* B4 L0 X6 ?
$ h) ^8 a2 _: Q/*
; _; P0 f$ R/ `! X" r2 k: g9 S * ======== Operating System Configuration ========+ t; ~: U1 I P
*/! \7 v) Y- B* n' m. q2 @( |. h# i
1 e6 T! s. m7 K1 E
/* no rts heap */8 U( ?* F W5 V0 i! Z! U4 D
Program.heap = 0;4 M( t7 _- {* F; A5 u6 l
Program.argSize = 100; /* minimum size */8 t% w; V7 X8 U, y- d. k, f
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* D- @8 d8 c1 M& M$ ~" E' K
+ U2 R, u8 j9 \6 a+ n8 z
/* create a default heap */4 e' k/ G" L& N: h8 L, h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- G, l5 t2 Q0 d8 R' a, O! Ivar heapMemParams = new HeapMem.Params();
& k% P/ y# k2 P1 u2 EheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 b/ J9 t* u' _5 \- ~" V
* Q, d% R5 S) a# x3 m Uvar Memory = xdc.useModule('xdc.runtime.Memory');
R+ R5 a+ m* H( V# LMemory.defaultHeapInstance = HeapMem.create(heapMemParams);6 O3 s8 A& {5 z3 f( U
! o! Q }( N! h! c% [
/* configure System module */
. E' M& [ X4 G, t$ a9 {2 b" Yvar SysMin = xdc.useModule('xdc.runtime.SysMin');
( x3 y0 T. v: l- f% wSysMin.bufSize = 0x1000;
& a2 l: J( R$ J% |- x& q8 R- O1 [SysMin.flushAtExit = false;
6 \. I2 A# \5 t S+ ^! J6 E O: t8 b; u% l u& v9 F
var System = xdc.useModule('xdc.runtime.System');% l% i$ T. h" ?4 G2 G! U
System.SupportProxy = SysMin;
: [4 W: m% z1 X" ]- H) l2 k/ _8 z# _: w# F
/* configure SysBios to use the lower half of Timer 1 */8 w$ ^; Z/ e9 L3 |# T. a ^
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 Q$ M. j, L& Y# Q' K( d2 N/ j! dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 m5 z5 n1 }6 s9 x6 M( Z' p+ l7 R2 NTimer.timerSettings[1].master = true;
& y4 v! W3 T+ }- b* DTimer.defaultHalf = Timer.Half_LOWER;: ~/ X* ` E8 W7 V) j
Clock.timerId = 1;5 Y) f& u4 L# ^) j
. j; Y5 {3 u9 O0 Q6 c
7 a: w) w. L6 e! y% h/*) R+ P3 b3 e1 m2 y" o7 d" L/ V5 l9 T6 q
* ======== Miscellaneous Configuration ========
0 w. }" E' _4 F* ?) D1 R! x) b2 S */
/ E5 G( C; \+ k7 M. f
& G7 l% d9 s% z# h- v0 k/* set default diags mask */
7 g/ Q+ [ k! s) K6 J/ U4 T/ {var Diags = xdc.useModule('xdc.runtime.Diags');2 d. a2 ?8 P' Y( q7 Y( e
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 l8 r4 f6 T. R1 Q ] t$ [
4 s' o) V4 H' I8 J& tDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 o- K; W: ?$ EDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 ?6 w5 O* t* N6 zDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;, U" h2 e( O9 I" w2 B# G2 |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ N( x5 u3 _6 {1 O: h2 o
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' G: J C( Y) \ J8 G+ }- {Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 b5 H7 J) r) d- b' U$ G" F) L; UDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 K' R$ J/ r# \) r% K7 `Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 J' O8 k6 ]1 g0 r vDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) m2 U+ _ c; }. t1 tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;; y( _# N, A8 a. X+ Y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) r7 j! y, z# ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* W; P0 M$ Q$ o+ mDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. i) R4 M- G4 G0 o$ J' b+ hDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
a0 N9 t+ j, p* j! X1 b: H$ |6 i" d9 d, Q
/* override diags mask for selected modules */
4 S$ j& }& b/ \; l7 X8 X6 lxdc.useModule('xdc.runtime.Main');$ W& E9 t' @: r3 [4 F5 \% F
Diags.setMaskMeta(
" r! H9 P7 i1 Z5 ~) B, J "xdc.runtime.Main",
7 b# m& [; Y$ L% i o; ] Diags.ENTRY | Diags.EXIT | Diags.INFO,
( }: ?7 U1 E' K& w& j% \* t! p) ] Diags.RUNTIME_ON: o9 H9 O/ i- S1 I. R" i' V
);9 S2 |; B6 b" t$ \/ H
) N0 V% ~8 U$ l9 _var Registry = xdc.useModule('xdc.runtime.Registry');* `$ z: v, j3 Z8 K4 o$ H
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& p5 c* f, a4 QRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# h' H D9 R7 D) v% A7 P
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 U( v. L2 S& d- S% o" y- H# PRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 U5 y/ J( h, c: }1 Z# X" c" h) j0 T# n
/* create a logger instance */6 X; w2 x4 W6 I8 [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
6 M1 [- Z. z+ w: E- ]* wvar loggerBufP = new LoggerBuf.Params();, `4 K6 i& ~) m8 i# s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 ^' n: u$ f0 t4 j. j
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( `* i; \1 u& w; `
% @# c0 u( V( O: Jvar appLogger = LoggerBuf.create(loggerBufP);
( k0 w6 o/ _9 P! Y7 _0 RappLogger.instance.name = "AppLog_Core1";5 ~4 i" Q& R4 i" t, `& K
Defaults.common$.logger = appLogger;
* r7 |9 D0 V: ]2 t) AMemory.defaultHeapSize = 0x8192; + |+ e% h A% s( T$ b6 ?; S/ s
Idle.idleFxns[0] = "&LEDStatus";& d9 A- ]. Q+ }' q7 M0 p2 @2 I
Cache.initSize.l2Size = Cache.L2Size_32K;7 g7 c+ i9 g h/ n8 M- q& l
/ Y# Y; X4 f$ T) z3 B
|
|