|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 L ?+ `9 S& R- X `
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* x2 m" k0 M2 Y) s( Q2 @! w3 I
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); W* I& H+ U& T+ s* R
0 d$ e( o2 U) {$ X
是不是需要在DSP.CFG中进行配置' n8 i4 X% P9 a4 m+ H; f; J0 C7 D8 f
我现在的配置为
/ }. I4 |8 H0 W a2 L7 c. A4 [3 D. ]( J8 `8 _5 ?: Q
/*
; n+ G* M3 R$ E! B6 w* X * ======== Operating System Configuration ========
$ @( M K$ a/ J" l */8 s3 v( U9 d5 v" n
' U# Y$ w3 a, |* P9 U3 b/* no rts heap */- E6 c# b9 E5 j# j L% Y2 K* V
Program.heap = 0;
$ ?4 z# ]0 s/ J" K0 N9 AProgram.argSize = 100; /* minimum size */6 _% p5 v0 Q/ j7 F0 `
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ O+ C6 ?5 s1 o- g* U8 M7 Z! A0 ~3 N1 w& V8 I
/* create a default heap */
- W" y e" K( a3 d, N; ~8 Pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- k/ A" j. T$ t1 z* v; Z9 |4 i
var heapMemParams = new HeapMem.Params();8 Y* c/ Z' X4 N: o6 X
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 ^8 v5 Z# g4 A V; @$ ?# T& S
! L$ _" W0 E X# P0 J& i! ivar Memory = xdc.useModule('xdc.runtime.Memory');5 G6 b- K7 u0 ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
: O7 I. Z1 l/ h f" j% o. S- P# S$ T4 y$ ~- |! b" ?: U/ S5 V
/* configure System module */3 G0 C$ Y$ f$ B% I4 ~
var SysMin = xdc.useModule('xdc.runtime.SysMin');
: M+ }* E6 m6 @+ M; P$ d0 X& bSysMin.bufSize = 0x1000;2 v$ s; U- u7 p
SysMin.flushAtExit = false;
8 y, ^& Y- N9 O& q4 o4 z& g3 v; O
! v% Z' m# t5 N) Rvar System = xdc.useModule('xdc.runtime.System');/ ^6 {" w. b, }( L9 Z/ ]
System.SupportProxy = SysMin;4 B6 k \6 b8 R5 \1 z3 v3 U Q
" G* t& a% P" v( Q8 R w# Z/* configure SysBios to use the lower half of Timer 1 */
- Q( B$ G# b5 O8 F" G& Zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 p0 Y) w# F& c, O+ Q! z0 ?var Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 e0 }# U/ ?# M' ?% tTimer.timerSettings[1].master = true;( f- H/ T. B) m5 Z# Q. _
Timer.defaultHalf = Timer.Half_LOWER;% k) k3 U4 i4 ~* b8 m/ S# m" `
Clock.timerId = 1;
5 Y$ w. O8 U& x# y
3 {. t0 F3 N' J- S% U; j4 o! T2 B. y* v( t5 Z# b" L+ v0 D
/*: X4 g2 h n2 {+ [! E7 Y$ M% v
* ======== Miscellaneous Configuration ========2 Z1 j$ [$ G: T7 h, Y
*/" k* A! E4 V# r7 s, G& J
w6 k' f& x0 n. s0 Y; q
/* set default diags mask */
# x4 V* P' L: evar Diags = xdc.useModule('xdc.runtime.Diags');
' R S% F5 l _) Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
1 Q, Q5 i$ I4 T* t$ ]# V5 i
1 m) N/ U, a9 H* E* ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; p; Q1 }% a5 n6 p9 J0 a
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ B/ l. X+ X* M6 n2 }
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" S6 r6 n$ N; [
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 q$ h+ a* r; Y8 EDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& e8 i& a+ g q4 z! k/ @0 CDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;( z, \5 M. f" G- D. V
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, t" J; M! A) B6 A; X
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) a: Z P, d5 V* R. B
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 B* r5 |* Z8 ?3 A+ S; @Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ D4 u8 N# T% t6 L
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 e# z* u1 s. H; k- r2 _& H
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. a, \) y" p B) Q# s" K
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ o* g) p i% a0 `4 Q5 N% ~+ E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( E7 h! v3 C8 T. a9 s
: s: r- s' p3 z
/* override diags mask for selected modules */
5 P8 Z, M# F5 g9 w7 oxdc.useModule('xdc.runtime.Main');
/ E" _: P/ E! @: P- I0 @# }Diags.setMaskMeta(3 q6 z- V6 w( e! a$ {
"xdc.runtime.Main",, A5 q/ Z3 }3 W, g. \
Diags.ENTRY | Diags.EXIT | Diags.INFO,
& X a& `7 Y* B2 n1 Q* z Diags.RUNTIME_ON
0 V) [ d( H3 f3 Z);
# A0 t# s9 K- a6 Z; x/ a0 H3 d7 Y4 B& K- p
var Registry = xdc.useModule('xdc.runtime.Registry');. o( M1 f2 Z% j9 N# y7 b
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. p8 J5 a0 Y S" H$ dRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;. U: s: s! K4 J, r9 H! t: a3 ^1 @
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 H# [8 v, Q' @& O1 w" ^Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;' Z1 I$ |0 e* J
2 s/ J6 a9 j9 ~) l/* create a logger instance */ ^( }' L2 y1 l+ f
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 k+ V8 w+ I* ]7 E9 f
var loggerBufP = new LoggerBuf.Params();
3 R5 u# n: }' I9 TloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 d" I, b) u/ [4 \$ ~ K2 _& L
loggerBufP.bufType = LoggerBuf.BufType_FIXED;3 d" w6 F! o( o6 w9 r7 l
3 `0 v6 t* M4 ?% @: nvar appLogger = LoggerBuf.create(loggerBufP);
: J& I2 Q+ i% L; j. o; p o. R0 FappLogger.instance.name = "AppLog_Core1";/ I9 A5 z5 S! e" A3 ^( r
Defaults.common$.logger = appLogger;
! L, a T1 {# `' r0 EMemory.defaultHeapSize = 0x8192;
8 ?( p* P! [/ E6 X$ J& T# g* m' gIdle.idleFxns[0] = "&LEDStatus";: O6 l, s8 C' i
Cache.initSize.l2Size = Cache.L2Size_32K;
8 r6 B( ]! J* O% Q; C# r% H( f9 Z1 @) H4 a9 x4 N7 s# G( A
|
|