|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: |8 G5 O4 t- Y% q! Y' T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 a8 w! O1 g& d0 c3 H( o* U4 f; [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)% ~1 u5 z" }4 m+ t3 i' |3 Y/ }
* O% u% W% N2 G+ E% {" @
是不是需要在DSP.CFG中进行配置; m% i. s3 G9 y+ }; @5 Z
我现在的配置为0 K3 Z; H; x3 r: R
8 J( |0 k) z9 ?2 Y5 m
/*- d) [2 |2 f# W
* ======== Operating System Configuration ========
/ q/ C6 Q# s& u) T */8 I0 d3 s# v* C# F( ~; W
1 W! ?" d. {4 p6 z$ m$ [' V/* no rts heap */" v4 ?3 s8 H( o+ V! N4 j# ~5 c
Program.heap = 0;
* L8 \' T, f4 b0 S7 o. _7 K- ]Program.argSize = 100; /* minimum size */2 A/ \, \0 ~+ \' D
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( H: [1 e0 A) F) r
% G+ L2 ?, H( [; l. `$ h8 `/* create a default heap */' F+ `- O. W, |. i. r7 D, h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. k$ P. P" L3 Y, J1 | |( z0 T# ?: }
var heapMemParams = new HeapMem.Params();* g" f. u& V' S, w( ^7 v* C' f
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 a2 b5 v; S$ ^
* y4 M# [% z. ^2 ^
var Memory = xdc.useModule('xdc.runtime.Memory');
# v U9 p) ^. R5 _Memory.defaultHeapInstance = HeapMem.create(heapMemParams);" Z, ~0 y Y& \, @7 }8 \4 I
6 w: |- n% v! P9 H2 S
/* configure System module */
, x& ?$ L7 z! Q4 Mvar SysMin = xdc.useModule('xdc.runtime.SysMin');
* [2 a- F7 G9 X0 c# ZSysMin.bufSize = 0x1000;
# j7 h& o! \) H) b6 C* KSysMin.flushAtExit = false;
! `- M T7 T. I! B0 i% h0 G8 e2 F8 e. q2 H' k
var System = xdc.useModule('xdc.runtime.System');0 j, }- l* d! z$ }! f
System.SupportProxy = SysMin;2 Q2 [- s$ _5 o4 ?
# T ~' [: i8 L8 _+ c% ?
/* configure SysBios to use the lower half of Timer 1 */
+ [8 x R& f/ Y- B" I9 [, ^0 nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! @7 w s* s$ j) e) |
var Clock = xdc.useModule('ti.sysbios.knl.Clock');2 V5 i q4 h: A F; T$ m
Timer.timerSettings[1].master = true;
& a) T8 P- n! m& ~' JTimer.defaultHalf = Timer.Half_LOWER;
; x$ B- q: I( n7 h1 w. [: GClock.timerId = 1;
+ T2 T" C+ u* v6 A" O2 S N9 l; E/ G/ M4 s1 a
# m0 n# f$ M& P' z; [
/*/ D9 Y$ H9 M U7 k; k
* ======== Miscellaneous Configuration ========) T/ P" H7 z1 E/ d6 v- D5 R1 ^
*/
# ^" z: ^: n& I# e& x' \, P" v2 b9 w0 P: ]- r: t
/* set default diags mask */
! L& j0 g( R+ x+ mvar Diags = xdc.useModule('xdc.runtime.Diags');
8 p4 L2 ~( x( ]8 p- z2 q/ dvar Defaults = xdc.useModule('xdc.runtime.Defaults');
* u3 P. j6 i# L- h/ k5 u' c8 W' r; Q: j6 j& a9 D2 `( g8 l. M V3 i0 [( E% T8 @2 o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
k, ?$ f' x4 |' E, h" ^3 oDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 B# U9 b% [/ F" Y+ p) S L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ h; W" b5 h8 ^2 uDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 ~1 Z# o0 Q3 {/ q5 Z( L+ x, ?+ \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 k& L% R) J: ]5 m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 P1 @% v2 @( L, w
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 a3 q0 g3 ]" N& X. K* ?' @
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 d: o4 a$ X- k }+ r8 X6 oDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 v% U( O2 j; t. k6 A$ L. z* t, Z7 dDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ u9 }8 Y. L" \4 Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
. p+ H( y0 J% K# s v1 x% qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. Q4 I8 _ X$ ]2 S
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 A# j! h( H3 k+ Q: {. lDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; L4 D9 K1 L* f+ C% I Y; c2 p5 B4 ~
}% e% F; _, Q* w, O/* override diags mask for selected modules */
* X' Q+ K+ V5 Mxdc.useModule('xdc.runtime.Main');
& |$ y+ N1 g" M* b- }, ?/ }Diags.setMaskMeta(! X$ r7 W$ u. @ }, Q1 j7 X' \
"xdc.runtime.Main",
1 D. b* y. q( Q B3 \. s2 S Diags.ENTRY | Diags.EXIT | Diags.INFO,
* j/ ]1 j% L# A3 J+ I3 `# e3 I Diags.RUNTIME_ON/ v* x9 m2 Z: ^7 w7 h
);
1 D: ~& d! a g" l/ l% t! R$ {0 T+ a' `& j) M! P2 u9 F" ^) A
var Registry = xdc.useModule('xdc.runtime.Registry');
3 T$ A @5 _5 p: h. oRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 v2 R3 b z: R+ ]% V s6 W/ DRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 V& C* t4 ?% S2 KRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 F% q8 |% Q5 n+ A) ^: sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( ?5 ]# ?( i, M# I8 A' f# K3 s' i$ a! q. H" v% ^& |
/* create a logger instance */
7 d" K, D- ^; c5 jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');7 \6 `% f9 F! a; L/ g9 z! R
var loggerBufP = new LoggerBuf.Params();. S( M" i3 `8 |: J; X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; p3 ^* q z/ iloggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 S1 Y9 t4 E' Z0 L. {" V
4 x7 R# f6 R; g3 b5 ?' f; b# }var appLogger = LoggerBuf.create(loggerBufP);
7 S; t2 u6 @# [0 xappLogger.instance.name = "AppLog_Core1";
2 l9 J; E8 D9 o& l8 T0 ]Defaults.common$.logger = appLogger;
]1 X- X U9 I9 |# WMemory.defaultHeapSize = 0x8192; $ g" Z5 k9 }9 N7 g+ u: z) y) B: B! ^" }1 s* s
Idle.idleFxns[0] = "&LEDStatus";3 c7 q" y* I9 z# \& p4 c
Cache.initSize.l2Size = Cache.L2Size_32K;/ V# k( y l; A& u3 K3 A2 ]5 F2 _
3 R+ a3 l" Z6 A |
|