|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) Y/ C& B" F& n) }
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 W$ s! G& x: O0 T2 d! w; S
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- e0 ^5 B4 Y; Z3 D
9 f# k: H- i i" f9 }是不是需要在DSP.CFG中进行配置' q! b1 r8 n; S" A2 `8 j; p/ B( f9 x
我现在的配置为4 w4 X6 @% X' f) a5 ?% K
2 A# i7 m7 f! V& \' d b W/*
$ X, r1 Q, E8 L1 z$ V+ ~ * ======== Operating System Configuration ========$ G8 }6 O! \, F
*/ `: l }+ Q' P' i7 `0 L
7 m v4 @( W* n; m+ c* A. }
/* no rts heap */
& A, p) g0 J) \2 cProgram.heap = 0;
* O# \, l6 A0 d' P6 f$ GProgram.argSize = 100; /* minimum size */
) A9 W" q+ G0 m8 }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 O; \0 S) z) A) t5 u- L$ F
2 @: R! ?/ O! a ~6 |# j/* create a default heap */
; f8 M9 C3 p( M: C8 A% Rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 Y& y! A8 c4 R( ivar heapMemParams = new HeapMem.Params();! ]: ?/ s# h7 O8 D3 |* \$ y3 a/ @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* `- Y/ ]) u0 r; R/ t
9 w5 {( P! d! f- \var Memory = xdc.useModule('xdc.runtime.Memory');
; h. x1 K- U/ O' e% b8 [0 eMemory.defaultHeapInstance = HeapMem.create(heapMemParams);- A- g- @* \. P4 U* g! i, M1 J' e
, ~# |9 S$ E# w- y% a
/* configure System module */
) [: \0 {, g. ~% n9 p# pvar SysMin = xdc.useModule('xdc.runtime.SysMin');+ s3 n5 ]/ p% y5 G+ B; d5 m
SysMin.bufSize = 0x1000;
" Z8 W' W* m( i1 t, `( M) F% }SysMin.flushAtExit = false;
& I" V! x+ h7 W, \) ~! O5 `
1 j# D, d) @- B/ U# Svar System = xdc.useModule('xdc.runtime.System');$ n' _( \) v) n% b7 i& L7 m: P
System.SupportProxy = SysMin;! x; t" ~+ [6 O1 z/ {; }) b% [% |7 L
2 P) m0 A4 a+ y8 L/ k! e8 x
/* configure SysBios to use the lower half of Timer 1 */
+ u# z& I- k- K+ @" Yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( S' D z6 {" n" F0 P2 @var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ ^- w# R c& l! \4 wTimer.timerSettings[1].master = true; y, v9 N. B$ I' X6 ~
Timer.defaultHalf = Timer.Half_LOWER;: o, k3 w* e( }* J0 ^! `/ P4 Q. }+ y
Clock.timerId = 1;8 f5 X( r: y- G# _
0 m: T$ B5 G/ I- B, p$ @) }
5 v. P0 [# R3 R
/*$ e) r1 t* i3 r5 `' K; M( G/ H
* ======== Miscellaneous Configuration ========
7 R- x4 L2 K1 b' ~8 T */* ^. S) @5 T& a' z W9 Z, t
$ ]' c( l, M: v1 u" y. `% A. w
/* set default diags mask */4 u, m4 k7 \% v: W# k) @
var Diags = xdc.useModule('xdc.runtime.Diags');$ s. o- R; C9 g6 L* s1 r* w2 K
var Defaults = xdc.useModule('xdc.runtime.Defaults');, J$ ]! @) v1 t* S$ B) _
7 `$ u s' ]" f2 s" B7 V
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 T2 E- I8 K& w4 q S3 ?8 gDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 g3 T2 D- c1 {0 j" T
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, G6 U2 l6 J' n7 G0 G2 g3 v" uDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ y0 f9 B- _! y4 w) a6 Y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */. h' g6 o) V0 R# e) B, w
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 U& M- d% U% O9 HDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# U8 A3 Y; D! L7 ]1 Y6 x- t
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
/ Y" h* I& I8 N+ {3 bDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! d2 F+ b K; w1 |Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) F9 Z+ Q9 l& c% u' a+ g
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 B! u: G6 T; |9 r$ v% ?2 \0 zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) N- X; b+ Q$ W0 u- N1 b! k
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;# o* P$ A8 k# h1 @0 p/ W. z) v7 r
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& m$ Q: c0 S! F: m# A
8 n9 D$ \& D8 r1 e P( W/* override diags mask for selected modules */
6 i# ~4 c8 R7 G) \( O. R; Sxdc.useModule('xdc.runtime.Main');
; }0 t) o7 e' h: y# J% D2 x8 GDiags.setMaskMeta(
9 [% F+ p" Q2 F( H* z; r- l! _ "xdc.runtime.Main",% }( O! L# y0 y3 k3 r! a
Diags.ENTRY | Diags.EXIT | Diags.INFO,' v( t. V3 y2 t* f$ G
Diags.RUNTIME_ON$ \: B/ ?2 F& a+ Z
);! l9 x9 _8 _0 _: e$ r
% j2 \6 ^* }6 l, l3 g( B& a; Y
var Registry = xdc.useModule('xdc.runtime.Registry');" D7 K. C* `5 u8 L
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 i* B3 q5 m0 P% t( o: K3 }Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ Q8 D$ l) Y+ _! }+ ]! U( N E8 Q+ vRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ J; q# V# d$ D2 W8 ?
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 L! |* R$ {, |
% C+ q G2 {6 m5 _5 k0 Y/* create a logger instance *// W0 Q+ O$ M+ k3 u% ~4 L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. }) C0 L V! m% {: o& n0 f! {var loggerBufP = new LoggerBuf.Params();
2 E: U5 v! A+ u w3 mloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* `. E! Y. Z o$ B/ `* zloggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 @2 t. d+ Y2 g2 I9 Y& u: ~) X5 M( M. Z
var appLogger = LoggerBuf.create(loggerBufP);
6 z: Q* A) M9 _& `/ XappLogger.instance.name = "AppLog_Core1";: u" c8 {$ q! y
Defaults.common$.logger = appLogger;
+ T9 d8 A6 F1 z' ]Memory.defaultHeapSize = 0x8192; : w) Y; P" A9 s. n2 _# L
Idle.idleFxns[0] = "&LEDStatus";
6 ^0 t! @6 \4 @4 A4 V1 U6 jCache.initSize.l2Size = Cache.L2Size_32K;$ W- U0 C- d) Q6 {! O# `2 W9 `* \
+ e3 C3 F4 s! c
|
|