|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, [% l/ Y) `4 c4 s! {/ s我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) a2 ]! O1 F% n& f; v(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ C9 I/ I1 t* q" P, C* u
2 O& U7 p b. ?3 @/ E5 P是不是需要在DSP.CFG中进行配置( O, u% y C1 @8 }. O A
我现在的配置为
6 [% |! {; z t2 y! m6 J/ E5 @3 |# |/ } J; Y+ R7 Z
/*2 A& F$ D4 h8 w
* ======== Operating System Configuration ========
; P W( m" Q3 r, z7 k- y */
7 u( `6 Z0 {+ @# Q& t/ Y! A. ?- X8 \( W; f* A* S' j
/* no rts heap */( H9 S9 d4 v+ |, r7 `: I: J4 z
Program.heap = 0;0 |) u' i; s( i8 a
Program.argSize = 100; /* minimum size */
5 n# D; Y+ c& @! UProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
* j8 A6 O' {) Z; u/ M* t9 I5 J+ L5 T0 s" S' V; m, M
/* create a default heap */! n& f/ Z8 g o0 u: y$ j: \
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% Q6 a0 j' M: f" }, R9 f8 N
var heapMemParams = new HeapMem.Params();, L( ?# e) }/ l% S0 i- T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 k! H2 o* d' r" S$ a
, }8 G8 P% G, C* Uvar Memory = xdc.useModule('xdc.runtime.Memory');+ i; G) v/ U& N
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);) I3 l) H+ T" N! w8 E: l
6 x1 i* Q- Y; F1 @. T! i
/* configure System module */
8 j7 y) O4 V5 n" N3 J" |var SysMin = xdc.useModule('xdc.runtime.SysMin');
; K0 @5 @( q) r3 r) WSysMin.bufSize = 0x1000;% }1 D6 |/ U/ k3 O% T
SysMin.flushAtExit = false;
j6 M) T3 W5 S. u! ~% E( B
+ r' O, f# J+ Z& A$ q1 Wvar System = xdc.useModule('xdc.runtime.System');
- h5 q0 O3 M$ I5 N! b h fSystem.SupportProxy = SysMin;! t( K& a8 J* O( D, m, o
8 B5 E# @6 ?- @- E: K
/* configure SysBios to use the lower half of Timer 1 */
" ~ Y+ w8 A* n; ]- r8 o# q# I" Wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" F$ b) z) ]) }3 u& t1 ~; F
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: N2 o. Q( o6 `+ b4 [: x; i, S8 J" m; YTimer.timerSettings[1].master = true;
" L+ L; B' d5 ITimer.defaultHalf = Timer.Half_LOWER;) O$ ~1 f- l2 K, p9 Q; z& M; a
Clock.timerId = 1;( ~* X* \3 E6 y4 Y) [
* s1 s0 Q& e J5 f
9 {0 Q$ ~" F/ M, r0 D0 k/*
; D% }8 m D0 G. V( \2 j7 U * ======== Miscellaneous Configuration ========
G& C: i( u, h/ Q$ R- m+ N& _ */
7 u/ _6 G0 C0 L# ?) l* j1 b
# Y# p* f ?2 k8 W2 z% u/* set default diags mask */
" P# m5 h' e* k' e& T: r( ]# {var Diags = xdc.useModule('xdc.runtime.Diags');
0 J% p) ~& ^! s: avar Defaults = xdc.useModule('xdc.runtime.Defaults');. }3 Z2 J; S2 G: }
$ V& @) l' Y+ b8 l$ }
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; X# ]6 _/ X1 \; |0 IDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, s; X0 r6 E9 b9 V
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 F/ D/ p$ R; W0 L$ \' ZDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ u9 Z/ r1 L6 F% n. H$ jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- `9 \* s6 S9 ?& P; A' B- z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 B" F' x$ o5 s; d5 E# NDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; U" ^' d; Q5 @: Z. c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 k7 i0 f) S/ g! T/ p% G+ P( ]Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& ?5 {$ d: \: G
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 i, o" k( ~2 y/ G: c9 cDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 H+ n# k. {5 p; @$ @Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% r: O! }$ c, c$ O) g( q; ]
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 ^+ ?. z& z) n( y
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 T, ^7 @+ c$ M" O. A* ?" ?- x' _
w$ B4 A1 I; @' T) S7 x9 A5 X+ o/* override diags mask for selected modules */
0 W" f9 d+ {6 V6 C( B! ~$ ixdc.useModule('xdc.runtime.Main');
1 K ~- ?% ~5 M( y5 CDiags.setMaskMeta(' @0 v7 X) C8 S' F5 Z
"xdc.runtime.Main",
, x% q/ {+ {4 ]' m3 ^) }7 ^( h Diags.ENTRY | Diags.EXIT | Diags.INFO,/ U4 V0 U# w0 w7 `9 k6 ^7 M
Diags.RUNTIME_ON. F( R) d# J/ z/ [ v
);
% i# W( q0 Y/ j( L' n4 E$ k1 z* M* K( n2 L) K
var Registry = xdc.useModule('xdc.runtime.Registry');3 n/ m5 v- a& G) ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 ^, Q u2 X. j6 ^* F0 [% U5 m
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 x' j5 Z4 V4 z0 s. z/ X g
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 U. Q1 N1 y. Q2 M! PRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ }% Y4 a6 L$ Y! ]& [/ r/ s! G7 W
% X; c7 |3 p+ H2 e/ }6 I* S+ O
/* create a logger instance */
) A& r+ ]' n3 g5 R1 ?var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- j7 y1 E- n2 J
var loggerBufP = new LoggerBuf.Params();. e4 o/ A v& V& f: |0 w
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 b: g% x; M1 F9 c5 ~loggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ |% `% O2 @- I' B' _+ K$ J1 u1 w3 I+ d! F* w
var appLogger = LoggerBuf.create(loggerBufP);
i% s0 `$ J# V0 H% N; d1 M6 n2 P* JappLogger.instance.name = "AppLog_Core1";; t0 w% O) |, ^
Defaults.common$.logger = appLogger;
4 s& ^/ h7 Z. v0 [* wMemory.defaultHeapSize = 0x8192;
( M2 z! ^6 Q3 P; g; z5 ZIdle.idleFxns[0] = "&LEDStatus";+ s4 f6 @# z7 W% K
Cache.initSize.l2Size = Cache.L2Size_32K;
" I& w1 S" @9 w$ a
4 ?& L9 O7 f* \ |
|