|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 B) J* ?$ t! V5 ~+ D& e
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 s! X1 l9 N* q7 @/ l(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
4 A3 J6 D( e8 b ~( P2 a; k
% u ?) N/ ^1 @9 C3 n. f是不是需要在DSP.CFG中进行配置
# w4 k7 J A+ W! T% N& w我现在的配置为
2 _2 A; D& M3 w6 U/ y6 e4 I
4 z v* s, z |, { @* H. G' z/*
( z$ ^9 c% Z- o * ======== Operating System Configuration ========0 q! X3 `' Z7 b8 L: y8 e
*/
- L. [$ n' J* V8 h& F o# ~5 T/ d W
4 l6 a4 E. N3 L8 k9 a- O8 L/* no rts heap */ w; i) z, D$ a# K% r- P9 ^
Program.heap = 0;
: S8 _# K2 a; D8 q( h% r5 j! k1 PProgram.argSize = 100; /* minimum size */
: o2 T" i7 y* ~9 Y" Z: {Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# H* {0 C$ K% X1 y
* A1 L( _4 j$ @9 u+ u4 b1 p+ I/* create a default heap */
- ^/ u! g1 T9 Hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 `4 I+ l, Q1 }. N0 y" d+ r0 S& p9 a
var heapMemParams = new HeapMem.Params();' T3 z1 C) Q, @& Z+ I
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 Q( M) z8 z: P6 S& U# e2 @7 [
. ]5 S- F2 \( O0 S C
var Memory = xdc.useModule('xdc.runtime.Memory');
) N1 H* l9 S, J6 B5 fMemory.defaultHeapInstance = HeapMem.create(heapMemParams);( b5 A' s4 `5 A6 Q a& c
+ k. d" B, C* B/* configure System module */# r4 A) d n: V$ K* S; @2 B4 C
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ ]' }: n7 [3 w
SysMin.bufSize = 0x1000;3 S; i- h: }' o% l
SysMin.flushAtExit = false;& E* r, ]* Z9 q, t5 V0 e
5 D) l* O8 B2 x* @
var System = xdc.useModule('xdc.runtime.System');
+ a( [1 Q/ l+ i9 c- USystem.SupportProxy = SysMin;* i9 o$ E# F4 }# k6 A: B% l
8 k V5 c f: i/* configure SysBios to use the lower half of Timer 1 */+ w1 z* Y$ i$ j! O w' P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' i- }4 F( Z$ A- ~2 _
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 ]) N- T- q' c% h; K
Timer.timerSettings[1].master = true;. m9 H* w5 g/ V
Timer.defaultHalf = Timer.Half_LOWER;0 G. l7 b4 c$ G9 f7 ?# Z: o3 @7 {$ N
Clock.timerId = 1;! v: L; Q! @ \
* t7 z0 ~" V" w. M* j. _- @$ \
6 } M G Y2 t: \
/*
+ F! G% v/ A% _ * ======== Miscellaneous Configuration ========
# z( l2 R: h2 T */
; v/ q L, y' U: o+ ?6 R+ p: Y/ E7 [, k: ]/ ^
/* set default diags mask */
$ R1 X& U( F' E( o5 gvar Diags = xdc.useModule('xdc.runtime.Diags');
( d# F F! u6 }' hvar Defaults = xdc.useModule('xdc.runtime.Defaults');% p I: q5 x) L
6 [* k0 Q4 p: M' A' H8 d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ G! f9 ^+ x9 Q6 ]0 R5 }Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;1 ~# |& B6 P0 F8 f
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& Z( ?+ }3 v" O U: u+ X) CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 \4 q: @$ e9 r8 U" _
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 N7 k) `& \. d$ JDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 D B) ]8 N3 A2 gDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 f: h. _7 z3 F; F7 p* G/ ^% r/ |
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 ]2 H; c2 g* j2 O3 nDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 k' v* ?+ A0 `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- v" q( B% b4 G- CDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, u* O4 X( s0 u
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
{. U" u% P; Z* }; `! NDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
+ `6 \5 O5 p HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 t# i$ g0 W8 N. k G
; i# F0 _2 I1 S9 E8 D5 P/* override diags mask for selected modules */
" F/ v" h6 f: G6 p; Ixdc.useModule('xdc.runtime.Main');
7 \0 m) _; V; e3 U8 q8 x" CDiags.setMaskMeta(
4 P" @; ?8 ?% M" t3 d- ] "xdc.runtime.Main",& w; U/ x9 y9 ?
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 \' g: C# ?* }* X Diags.RUNTIME_ON
! R6 Y9 D1 r3 V);
- x( }/ N% `; _$ L; E/ h
$ D2 x4 C y- L) Cvar Registry = xdc.useModule('xdc.runtime.Registry');/ x% {- i1 x! @7 \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. R8 o7 ~, q) K; l( C+ b# S) hRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! }8 ?9 ?6 @% D Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% e9 X, d. U/ Y! K' {! ERegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: Y" u& u5 c( r/ J3 i o7 k
3 [. Q! q: Z& g% P) \4 d/* create a logger instance */
/ L1 O3 w5 w2 E7 A& Bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ W4 I( z, k+ ~" M, v0 i; mvar loggerBufP = new LoggerBuf.Params();8 Q* \- ?* a8 I5 z" G3 N
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ v+ [' P9 l, J; a7 |" m' f
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# P) T% c5 W5 v: e
9 }7 K4 ~) i2 V# L qvar appLogger = LoggerBuf.create(loggerBufP);1 o! o3 x7 _* b& C
appLogger.instance.name = "AppLog_Core1";
6 e8 v- i9 P7 [; UDefaults.common$.logger = appLogger;
, J7 c( s) O) d, r0 CMemory.defaultHeapSize = 0x8192; - ]# J; c6 P r& @$ t& g+ v' o- b) `6 [
Idle.idleFxns[0] = "&LEDStatus";
) G$ {' @; |1 C* y1 m4 D% ICache.initSize.l2Size = Cache.L2Size_32K;5 ^! s0 Z- A5 M
5 t& f/ c7 _& T |
|