|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 g+ |7 @' v9 b4 T( [& m我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( t$ \ |. X; y7 ~$ z: b(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 H7 y2 o- V( e) v6 m
- f( `" _; H, G! e# M* J( }8 M1 W
是不是需要在DSP.CFG中进行配置
- `; A/ u p4 X我现在的配置为
6 Y6 q( F2 Z6 U, t O/ L+ h
3 `7 ], ?) M+ G& M' U/*4 W/ ]8 Q4 q Z# N7 a0 U3 d
* ======== Operating System Configuration ========
1 X0 R: Y% l" q E* T */# x5 x2 G* U0 G5 H: g& `. F, v7 s! J/ K- `
* _2 A% _# `, b* o
/* no rts heap */$ w- T1 X+ N" X" O) `" i
Program.heap = 0;! @" g! `6 v n$ H* P5 x2 u
Program.argSize = 100; /* minimum size */
3 F, h) S, R# r7 ]/ ^) \# e+ WProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 O# X/ J/ s4 K. S! I# J
; h T1 M1 E3 f t& d: ?$ H/* create a default heap */
8 u, R; A* k' Q& h7 Lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ W+ N; L4 [) B$ S( p9 }0 V. q
var heapMemParams = new HeapMem.Params();$ v3 J5 `, Q7 @8 g- J: l1 G8 H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" O% H1 U$ c. {* S( [% D
$ h! p9 R3 P' \* l% u) Tvar Memory = xdc.useModule('xdc.runtime.Memory');' G: M5 E+ ^ m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); c4 Z F. Y& g) _
' m8 B1 o5 D$ T0 y/* configure System module */$ J9 t P7 {5 L. h5 I0 H* @: b
var SysMin = xdc.useModule('xdc.runtime.SysMin');
, v3 W. E/ t. T* T5 XSysMin.bufSize = 0x1000;. j, R. O5 H4 e( s$ ^# f1 ?3 H
SysMin.flushAtExit = false;% T* X2 @+ n4 [! E2 p
8 c/ Q t' o$ K1 O8 W: d% }( c7 svar System = xdc.useModule('xdc.runtime.System');) }. V9 I }, p# j4 X7 Q- _2 x9 g
System.SupportProxy = SysMin;
( t F% g3 P6 _1 \. T( D7 P
$ Q. j0 M& q- J) x- ~/* configure SysBios to use the lower half of Timer 1 */! I# s c" ~8 b* r
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( Q {7 [) V" q0 t5 E& o7 fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');$ q& u1 k5 |9 v2 _
Timer.timerSettings[1].master = true;
# @ X0 \" \+ H9 D8 t: N2 A; D: KTimer.defaultHalf = Timer.Half_LOWER;
1 q- [# z) u- E* \Clock.timerId = 1;
- E: l1 V k7 @6 j, l7 r8 G; E2 ~; N4 e3 s
5 p4 l. F7 a: }! k+ A/ t% A& ^/ v/*& O4 u5 a2 o% H% j1 t3 b
* ======== Miscellaneous Configuration ========
( M$ i% q& n) l8 U: A; ~ */' J- B) G! t: f9 x. r! x: h" M2 C
7 [2 m, Z7 f5 I# T y/ D/* set default diags mask */3 ?3 R! H& [. y9 L& {
var Diags = xdc.useModule('xdc.runtime.Diags');* j [ d; V# c" F
var Defaults = xdc.useModule('xdc.runtime.Defaults');
7 u% n5 y- W- s1 r( X' g. ]! X; z
1 X9 d$ u( m. q v+ M, R( M5 g/ _, tDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 W7 b( y5 h1 `% m8 JDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' e2 U4 h `) m4 }0 t$ e! q. @
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# Q; a8 U( `% I0 p- K B$ o. ~" B$ DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 {& D/ J3 y+ L6 g3 S- R+ lDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 t; z \3 y/ jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ e ~, y- @+ m
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' ~7 S8 @6 O" SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
5 m+ ]( v+ N2 \9 E8 U5 y: iDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# j; t- R4 Z* M8 k, e
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; e& ~: b( @, e1 J3 G* y& jDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! g/ @8 p0 `2 F2 v% a6 ^Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 ~9 e/ U. A4 l% N/ H' C8 C
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;& S h* W' D1 p2 G6 s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* U" q3 m# Z+ X/ ]7 b
9 A+ a6 o% y: i5 Z2 G
/* override diags mask for selected modules */
3 Q% l( w( \: U! R# dxdc.useModule('xdc.runtime.Main');
3 S* @; r, O, p2 lDiags.setMaskMeta(
5 y+ n, B7 e0 s; T- t "xdc.runtime.Main",; \" c/ j. m- G: |% q% O8 i
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 Y( X0 J ?9 J Diags.RUNTIME_ON
& \$ Z Z2 J- g Z9 z, f9 {$ e( E);: q) i, B7 A# ^6 y% J' x z
! N' o$ T' ]8 A* A
var Registry = xdc.useModule('xdc.runtime.Registry');
% V7 b' t8 Q6 I) t* d+ D- \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; ^0 T1 N5 q7 c& E1 o
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& Z0 v$ o7 V9 ^8 a6 ]) X" z& MRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
) J$ H9 ^+ R/ n# h K, }# pRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 P4 M$ m- V5 ^5 C/ f+ R
7 S/ m, @" {& d; x/* create a logger instance */5 B; f4 }. o6 p4 D. J
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; a4 J! a& T. f- [- Dvar loggerBufP = new LoggerBuf.Params();
8 K! C0 P1 Z/ k: O$ b1 _loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% W- n# J* @* r" ?0 g8 F
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 ]/ T6 n5 m& T+ ~# v
" z) F2 I' y+ T% i Gvar appLogger = LoggerBuf.create(loggerBufP);
1 j2 ^1 ]2 \- ~# {- U( b; xappLogger.instance.name = "AppLog_Core1";
" I* r' [( w# a) }8 WDefaults.common$.logger = appLogger;
% Y+ I9 }2 f" c S' x! L ]4 q' o: l; }Memory.defaultHeapSize = 0x8192; 3 S# {$ U* M# @. H" U
Idle.idleFxns[0] = "&LEDStatus";3 }: I! S2 w* v4 F a L% X- s% q
Cache.initSize.l2Size = Cache.L2Size_32K;
/ G3 k* L7 J- S9 ]. N
- Q5 O+ z3 a, l0 Q |
|