|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. f5 I7 h$ {2 U$ L) X* N我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ w1 ?8 ^9 z0 ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 q1 _ }- t( J0 h. G# g$ Z: G
; P4 D7 K% J1 [( i) u是不是需要在DSP.CFG中进行配置
: M/ j* C8 V+ \- W/ p3 N( \我现在的配置为
% i: j3 Y& g/ z- r S" T4 p& @; o8 d) K/ t/ d
/*
' r' C" ]& P! M9 y3 p: ~) Q: D * ======== Operating System Configuration ========. o5 ] {0 X$ s0 u, w C" y
*/5 I! n8 p$ n" X4 N$ z
- w0 v3 _; X& d2 S" E/* no rts heap */
3 Z) d$ Q" ^3 x+ h6 i4 BProgram.heap = 0;
* F/ j/ C4 q' n" k6 KProgram.argSize = 100; /* minimum size */6 v& _# M# @8 o* x% `
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ R. r* }) B+ p. K2 l
7 z) S; G( z' {, s
/* create a default heap */
: g/ O* c* F! z3 E. R. Svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( E& h' X1 x* z+ ]
var heapMemParams = new HeapMem.Params();+ n5 e; O- K& d% y b" K8 o9 V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 N( ?) Y) @+ M8 Z3 @: P+ [% x: k: u
var Memory = xdc.useModule('xdc.runtime.Memory');
! i( M d# k2 @: a( `0 M% t2 u! K6 IMemory.defaultHeapInstance = HeapMem.create(heapMemParams);- i. ]$ W# ~, w& w! _+ y- L0 V
( H* o+ u; {2 p6 D" q% }6 {/* configure System module */# g+ S* |. {# |1 H
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 H Q% H. L/ W. k! F. I6 o7 hSysMin.bufSize = 0x1000; E3 s# h0 P3 w) ?( P) S! D6 u
SysMin.flushAtExit = false;7 N9 p& n9 ^8 b* h' B$ Z
+ K0 X1 u9 j; }/ L
var System = xdc.useModule('xdc.runtime.System');
# e! d# n6 |& C2 q! fSystem.SupportProxy = SysMin;
1 X7 p( A2 W- S" Z3 x' K( i
/ B j& B8 r( ^1 S4 _8 F& a' ]1 k/* configure SysBios to use the lower half of Timer 1 */
. P( U' a9 h/ Y+ i# j1 _$ Evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 L* p- P" v' j
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 A& }% n3 }9 k- _Timer.timerSettings[1].master = true;
+ S5 {: i& a6 C+ l7 hTimer.defaultHalf = Timer.Half_LOWER;( L( m9 Y4 V" W$ [
Clock.timerId = 1;; o; `8 v# b" s2 Z* I7 m2 x
9 |2 A J9 K: z5 G" G0 l& J+ L: P: N0 m. u; @4 w7 w% q
/*
6 x* m$ z; m3 [0 l$ C' h! x$ n% F( ^ * ======== Miscellaneous Configuration ========4 z0 S- b' _/ |- D. U
*/
3 V) F. X( f v& y8 l( ]$ X3 S) r4 f) ?# |4 g2 w
/* set default diags mask */# [# c' Y- {* }
var Diags = xdc.useModule('xdc.runtime.Diags');! }) m# b1 w' B. g! d, Z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 a% D7 Y& I6 H+ B4 f1 e7 X
* X5 f# ]: O" `5 M1 iDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 W/ o7 G4 I+ w! YDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) ^' g5 J$ I# s1 GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 J( t. A" d; @: t4 b( c3 ?2 HDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! S2 { w6 S! BDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
2 r# c$ A4 q- o0 eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ e- K2 [8 \: |' J# \/ BDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, s b0 H2 Z, d
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 O, f3 c& \ F4 G" E1 RDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 X( O2 Q) g* z3 _! r7 \- T4 g+ o7 `1 K
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* k2 z" ~4 g( W3 w: A# IDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 Z5 \# q' D B: s- q; z# ?Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' _0 B" o9 V/ d0 z2 g. s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;& l8 w! O5 B2 {1 W
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ p- p' I5 e k( X' o
6 Q! j& i* C: H. ?$ D5 [
/* override diags mask for selected modules */
6 E9 ?! M l8 J' F( gxdc.useModule('xdc.runtime.Main');
9 g& l$ |2 a$ Y* ODiags.setMaskMeta(7 m9 t4 _: N3 r/ `
"xdc.runtime.Main",
+ ]. f X6 c/ q1 {, ~" | Diags.ENTRY | Diags.EXIT | Diags.INFO,; H, T- `/ p/ \! M3 X8 n5 m
Diags.RUNTIME_ON Z6 t7 G, x+ f6 W" U( d
);
1 _( \: Y) [ K- Y
( N+ j) X; @. ?- [2 nvar Registry = xdc.useModule('xdc.runtime.Registry');$ |- {0 h0 [" B- I$ J' T
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- e: G' V$ E6 A/ E: ]Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 E& Z5 l/ [! S9 T2 qRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" y1 _" v2 W+ f
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 x$ h" m Z3 _' x
2 X' w' m$ Y: P! S P/* create a logger instance */7 z: m! E" Q( F4 Z# @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) @1 ~7 R5 n" f! c
var loggerBufP = new LoggerBuf.Params();1 X, S0 u: h) _0 V* \
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. L- c& w6 `$ h7 b, hloggerBufP.bufType = LoggerBuf.BufType_FIXED;1 m; \( ]" ^7 [ K3 q
- w) U; J4 ~0 w. P
var appLogger = LoggerBuf.create(loggerBufP);/ n9 C, r( d! E+ c
appLogger.instance.name = "AppLog_Core1";0 B; ^& a8 H+ ?7 b* @ y" C
Defaults.common$.logger = appLogger;# ~; T- p( O* q, V
Memory.defaultHeapSize = 0x8192;
- z: r ]( N- g k: yIdle.idleFxns[0] = "&LEDStatus";
! ~' T$ i" P% l T6 ZCache.initSize.l2Size = Cache.L2Size_32K;4 X+ r- Y/ |4 g9 e# J
9 b. n# F+ W3 a8 b! a* c# A
|
|