|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! ^9 V; H9 D3 m* Y& Z% T# Y, R
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 V9 ~9 {- \7 b& ?$ T1 S(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 F+ x! _! n1 I! Z( J. n# S
D& R9 n9 Q2 M: u; i
是不是需要在DSP.CFG中进行配置
5 w# A, I( Z f) C我现在的配置为
7 F# W9 }8 Z" u6 Q5 k- Q
9 O- s2 h1 g" ]: W+ U/ ]% c+ r/*
! u! ~+ b& C" [7 M3 r * ======== Operating System Configuration ========
( p/ X) W X# |0 Z% A. T. n */
" J5 ?# Y3 |9 {. ?. _7 C# r0 b
+ M+ `3 p3 N- z* k) m8 L/* no rts heap */0 P1 S( O$ q2 P
Program.heap = 0;
) b3 w4 ]" ^5 t- D4 gProgram.argSize = 100; /* minimum size *// L1 M# g, c! v* Z& H1 @
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, U3 I4 p8 l% O! w! G6 `3 K
( D. Z7 i, e2 w( I$ W- F4 x/* create a default heap */
$ W9 c& B' J: P" x; o2 ?! O! D5 [9 Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 r$ o$ r# z/ Dvar heapMemParams = new HeapMem.Params();9 E, T1 s5 R8 Y5 k, G
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
4 q6 C' d2 F- G4 E: d& Y2 l1 d7 x3 H8 Y; D
var Memory = xdc.useModule('xdc.runtime.Memory');
1 B" x& Y* C$ D, K3 k/ `Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* K! p7 m5 C, e$ k# N) N: h
4 O* u1 C! p( v3 x' K* B/* configure System module */9 R# P! @6 q. _: w( `6 s9 W
var SysMin = xdc.useModule('xdc.runtime.SysMin');
7 F- F; ?' [; y# `5 ?2 vSysMin.bufSize = 0x1000;
# A* `- U6 m8 y3 R- E4 _SysMin.flushAtExit = false;
- P% S- E2 z/ O0 w9 l$ q
! n3 \1 T0 N, wvar System = xdc.useModule('xdc.runtime.System');
8 C# y: J- I' h( x, a0 b* W4 N$ R; MSystem.SupportProxy = SysMin;
( @- i& }; ]1 N+ f) r" I
) f! I0 l* ?, H- v, X' P! \/* configure SysBios to use the lower half of Timer 1 */ j$ ^+ H* K) l/ B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, C! ^' z' q2 D1 C$ z9 C1 u
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" A1 e5 X- \4 q3 M C: r4 sTimer.timerSettings[1].master = true;/ L. k8 ~9 y( E9 q2 ?6 N8 \
Timer.defaultHalf = Timer.Half_LOWER;+ d# U, ^* F% e/ l: M
Clock.timerId = 1;
8 m5 P& V: I' ~. F1 N: h e
! k, T# v# y1 r0 M8 H
! \( E, @/ U/ B# L# `/*0 O: p- Y1 U# D6 G$ b6 O; I! Q
* ======== Miscellaneous Configuration ========
2 B- s; m. b9 m2 m */
$ C' [- p# \2 t5 s$ ]9 V7 ]8 b/ \; ]* U+ O) @& Q7 v2 Q
/* set default diags mask */
9 W9 H2 \) t0 Evar Diags = xdc.useModule('xdc.runtime.Diags');' Q& V8 j) h8 E% [6 i
var Defaults = xdc.useModule('xdc.runtime.Defaults');
# x7 z. v6 `7 j4 m$ V% P6 ` F% c& ~: i
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 j8 z) E; b/ _" q( S+ K+ {Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 U2 Q3 g' S GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ J; \- k- q; `" ?0 `. B, VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 }+ X. Y |, S% g1 P& q }% p8 o
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* S9 N- V) C ODefaults.common$.diags_STATUS = Diags.RUNTIME_ON;* v5 c) n# Z: o1 b
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% Z& c! r# J1 _6 \6 K
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- J" m% |' u( j: s* K6 e9 D) F
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 J) y @' S- r+ S0 u! y' t
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
^7 G2 z! Q( O! A7 nDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 T7 T' G& Y' J1 N& \# dDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
! o. U* s! ?9 n" A( SDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;: S% y" n: P8 H& V2 f4 |( ~% B
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( B& V, S" c3 {# @' M
: j2 v+ }) V6 s% i6 ?
/* override diags mask for selected modules */+ i2 ~' s- m4 N; Q
xdc.useModule('xdc.runtime.Main');, i* n8 K+ K4 V N
Diags.setMaskMeta(
7 D4 s* Z8 d/ r+ L# k "xdc.runtime.Main",9 Z, T3 E/ @$ J. T5 [* i% F# X
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ e9 e% J! j' @3 N% |4 c' R7 C7 |9 A% @ Diags.RUNTIME_ON
; L ^5 g3 A5 r2 M' g);; k! X9 ~* i. y" A' H: O5 m( ]0 U
! b6 H0 j, e! |9 f# a
var Registry = xdc.useModule('xdc.runtime.Registry');# N# Z+ u0 D6 I) `& T- q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. C* i: y+ O8 |" T, S. mRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 p" H$ B: U1 ]& G2 K$ i( U1 Z+ t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% @# @ |) [( Q d/ d3 A% @Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ E8 j2 F6 y& m7 D+ D0 n" W* f; n2 S7 i0 y
/* create a logger instance *// c" A8 P/ v& G; e" Z, c1 I
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* A9 Q: g b# Y) e
var loggerBufP = new LoggerBuf.Params();
4 S# M* w( ]% z. w: H2 a* uloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 u3 H/ H Q+ J0 q4 S/ V
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) X; x- ^+ B" k0 i5 L6 O
- A8 `) A0 A, p: s1 s" K vvar appLogger = LoggerBuf.create(loggerBufP);
8 B( Z. W. E7 J: t7 j: J' CappLogger.instance.name = "AppLog_Core1";5 W5 d$ ` B4 N7 p
Defaults.common$.logger = appLogger;
7 t% i/ w: l/ gMemory.defaultHeapSize = 0x8192; 0 o) `0 k& Y7 A; q
Idle.idleFxns[0] = "&LEDStatus";
; a* ^2 v# S8 @7 x: \0 @Cache.initSize.l2Size = Cache.L2Size_32K;' `! S) o2 P" x5 N+ T3 ~; ~. q g7 [
+ w# u O# R0 `! p3 t6 p |
|