|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 G9 ~/ ] a( I/ |4 o: Y; O
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 a4 ~; [" @( A(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; W- L! N; f, o& x1 g( V7 T( T! W! {1 {+ c& I; R
是不是需要在DSP.CFG中进行配置9 K. [' g0 f9 e- ^( F
我现在的配置为( s/ S' P \# J% I$ V
' }/ ?% _& u0 j3 E- F; G
/*! M2 G8 X$ F& `$ t
* ======== Operating System Configuration ========
, w4 o- j" E/ e1 s */# d2 u4 \5 F( U; h9 s D6 F
) Q2 ]" b, h' W7 b) D+ ]) Q
/* no rts heap */. g; ?# p, _4 @0 o. h" X7 q9 x
Program.heap = 0;# t. U7 }8 B/ A# B1 O; I
Program.argSize = 100; /* minimum size */
; X! M6 G8 y1 i+ sProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大: W7 n9 _/ r- p& [; ?
1 w" O* u7 m" g; X8 Q1 T; _, |$ i
/* create a default heap */9 P& k, A7 E- R3 T! y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- p- a3 a5 s3 a3 o
var heapMemParams = new HeapMem.Params();
7 w; F, d) L& m) LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
k# o1 R$ _, Q0 P i D+ w. `7 a; @1 r/ ^
var Memory = xdc.useModule('xdc.runtime.Memory');
Z6 r7 B5 D2 X& M8 y+ oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 @- Q1 q! q* W3 X" }) M$ L4 L- c N" _% S* a
/* configure System module */
$ u2 J" O! n8 e" N6 r7 b( xvar SysMin = xdc.useModule('xdc.runtime.SysMin');
% R" Y. }8 n; ?% N. e+ k4 ]SysMin.bufSize = 0x1000;9 e; m( w$ L: @5 @2 `$ u& O
SysMin.flushAtExit = false;
" M6 p' X1 I+ D+ O$ V/ a7 x- `4 p$ x
/ f( N2 F* A& A( V) Fvar System = xdc.useModule('xdc.runtime.System');
" N6 j1 N) R' `* ySystem.SupportProxy = SysMin;. @$ w3 R8 S( N* t
) k" @8 Y2 \3 |; h8 D
/* configure SysBios to use the lower half of Timer 1 */
* }" V' T+ w: f. G! C2 rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, w. Y. b- r$ A5 ]* Z; ?. A4 O/ q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
/ |; L7 l: S' DTimer.timerSettings[1].master = true;
9 o4 [6 B4 I3 i l% }& {) eTimer.defaultHalf = Timer.Half_LOWER;
3 z( m$ R2 }! g( _# gClock.timerId = 1;) ]9 A% t6 x7 M0 v
+ R1 u; O5 |2 i6 I/ v! g: n( ]) O* d" b3 S
/*
. p4 M& Y$ g# T% c; S6 C * ======== Miscellaneous Configuration ========
5 |1 u9 r- c- c/ T */
. I- R7 C8 R5 R) }$ ?8 ^8 t, v. _8 r A+ ]3 p; g0 |
/* set default diags mask */. M" }1 W4 m8 }) ]
var Diags = xdc.useModule('xdc.runtime.Diags');
; N3 f/ \6 Z) Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');
; Z! |% W7 U- T/ {- a8 t- u* F4 M* P% W. o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 c }' @$ q4 ?$ w, J! U: }2 i0 hDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& u* g7 v! J5 L# m; z5 |9 T
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- U, \* J) Z, y! X& f, JDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ r" o+ h$ [- a' B: c) }1 NDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ ~* W# `5 s) l
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ C {! k9 P! J3 L# n5 z6 Z$ }" `
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, P. Y& Q1 q! L5 K. @
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 d2 Y3 k7 B; K
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 Q! a' ], k: J0 ~$ E1 u1 tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, b) i* z) s! T9 |6 N4 }
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" }7 m; X$ ]/ lDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 k' m8 r) h+ L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' _* B8 P7 y4 z( B0 O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 I! Z6 C$ Y4 W) ]2 S2 r
: s3 y# f2 L# r/* override diags mask for selected modules */" X0 n0 w' f4 l. v
xdc.useModule('xdc.runtime.Main');5 r* p: ]' \: V
Diags.setMaskMeta(
6 p( X, y( B( S "xdc.runtime.Main",8 f" n. W7 F- [* V3 x
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 a' l( C' J- U$ G$ J
Diags.RUNTIME_ON# A( H" g8 }4 G) P' v9 P
);0 Y& i* d$ L" v, A6 T0 X# m: v
& n- q4 M2 h# _/ i1 j6 R, uvar Registry = xdc.useModule('xdc.runtime.Registry');: @8 X: _) g% Q" f* {5 Y. [
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ W( x8 Z: e) \' l7 ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 J5 c, q ^$ v+ a. PRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;# p& v X1 r( R. j
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 K9 ~& }# }1 s& N. Y
" I, |: s- J7 J4 a1 U
/* create a logger instance */0 ~$ A& ~+ c# F& [4 \
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# |/ h' X1 j9 {; E/ K
var loggerBufP = new LoggerBuf.Params();5 F/ k w* t" g
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- }* ^' i' Q9 Y M
loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 h& I% i8 p8 R$ \
- A. E, X8 U1 P: ^0 |: \; ` D6 dvar appLogger = LoggerBuf.create(loggerBufP);1 }3 D* C- h' t9 o
appLogger.instance.name = "AppLog_Core1";
?, W r4 v+ |$ k' d, N" p1 MDefaults.common$.logger = appLogger;( Q1 k! t% I' u7 D b/ {
Memory.defaultHeapSize = 0x8192; % v1 P \6 Z' Q% J, y
Idle.idleFxns[0] = "&LEDStatus";
3 U3 L Y' ^: x4 X" _2 u: n8 lCache.initSize.l2Size = Cache.L2Size_32K;
0 G- k& |6 b0 Z8 F: E
7 i; K$ m' d1 u2 d% @8 P% b# } |
|