|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; O! A7 l$ g/ T: C) f
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- I5 u1 z6 D4 h9 E5 t# G) f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 L2 E1 i! ?: w6 q% @" c
6 ~9 `) ~; V9 B' U9 m# e
是不是需要在DSP.CFG中进行配置
" L$ \+ i7 O; ^, r, i1 T8 Z我现在的配置为) a! e* K" a$ Q- w
) x, L. u5 l* a+ x! ~
/*) y) A; P' l, |/ |& q8 b
* ======== Operating System Configuration ========
" n& n7 i; W |1 f! h h9 h */' O6 q* u+ p. Q7 p# j
- D; ]1 E& ^0 b# x* |/ E4 C+ s' Y0 \/* no rts heap */( L: r) K; J) j7 \) T4 S% z. [2 U
Program.heap = 0;- l; Q5 w9 m* X4 R; p( x
Program.argSize = 100; /* minimum size */
# E3 o& E \4 K2 JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! E" i |5 }4 `7 g! j% v' d) b- i& {: ^
/* create a default heap */3 P- [' }- i- a$ t
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); e& l$ M8 F+ c0 s" n
var heapMemParams = new HeapMem.Params();* v+ M$ a" p% j( ?+ o) {& Q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 v9 ?/ Q' m$ W( r$ A" J9 l ~% n( |
var Memory = xdc.useModule('xdc.runtime.Memory');
$ |0 j0 l0 d$ aMemory.defaultHeapInstance = HeapMem.create(heapMemParams);, ~0 O6 n: `* v- \$ l0 `) d; @
2 a0 I: g- n0 S$ I* f9 u8 K, _1 m/* configure System module */
( O0 x5 k; K% J% E0 \" |3 ^var SysMin = xdc.useModule('xdc.runtime.SysMin');
7 d# V- A; ?8 n- r+ k, P1 WSysMin.bufSize = 0x1000;
! j6 I8 `! u TSysMin.flushAtExit = false;5 o5 h# S1 k1 M
* _" R$ q9 J. P- |var System = xdc.useModule('xdc.runtime.System');; |9 `& [2 e, a8 S5 [: P
System.SupportProxy = SysMin;1 ^/ Z- Z, Z2 g
" g& ?! y) @0 c" }7 Q: {
/* configure SysBios to use the lower half of Timer 1 */
# I7 a% U X4 P2 O5 b2 hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, E8 G6 V- \. H) @) d- [5 q6 T
var Clock = xdc.useModule('ti.sysbios.knl.Clock');8 |- Q( f! r8 _" ~7 r5 c% i
Timer.timerSettings[1].master = true;
; C3 E) J7 Y; ~# r8 Q6 ?% o0 ~8 ATimer.defaultHalf = Timer.Half_LOWER;
8 e; y) {4 {/ v4 e" z4 Q4 OClock.timerId = 1;
: d: ~: k) @; [5 j
8 z* u8 I1 H! H
9 p4 P6 ~. @/ i E& [/*
5 }/ t8 q" s5 V9 x: {0 R * ======== Miscellaneous Configuration ========
& ]# Q+ s# N' E6 i& W, E */
$ d Z8 R; E0 I, c' n+ q* B b' n3 r/ r0 ~- ]- M: ^1 Y! ]! L/ o# Z
/* set default diags mask */+ Q' a; D4 |/ R$ y
var Diags = xdc.useModule('xdc.runtime.Diags');
$ j3 n) L: ^: t1 X/ W: Y# lvar Defaults = xdc.useModule('xdc.runtime.Defaults');
Z: |6 ~& Z1 m& U/ z
% k, X" A9 P2 ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
\ @' E! L* S: x: w* XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 q/ P6 h D9 g- m- B9 CDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% k: n0 ~ K! U; ?+ bDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ g0 i, {7 t$ A6 {, L
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( t t( ^7 f& a3 I! W: |
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 ~8 ?; O! x9 k, h& ?& |, DDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 _: [$ O- W: k6 b9 LDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& {7 T2 H$ B/ }Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 W) ^1 x" k7 ]) H; w) I/ Y- RDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, K- B# n1 n4 X+ l( T5 {
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" E! O7 |+ L9 }4 \2 E
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
O5 t6 |: p# dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;; P; P7 K1 P6 i" B1 l% w6 H" A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 k% i# S! P9 F) O/ \8 s
3 H, h% B @. f
/* override diags mask for selected modules */. z5 \: V8 {6 T- w) a
xdc.useModule('xdc.runtime.Main');
$ [4 P2 t, N* y- i6 j0 L, p$ k% NDiags.setMaskMeta(
, u! j A" e1 \3 V4 G( S "xdc.runtime.Main",$ M! b# Q+ K8 V$ S4 G
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" o3 M& P0 h t _( N9 { Diags.RUNTIME_ON& N9 S& E: R8 a$ W
);
$ \- S6 d) V& \, T1 O; H9 l* z; G% d; j( q8 E3 K
var Registry = xdc.useModule('xdc.runtime.Registry');5 W, T+ G6 ~; }; [1 G
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' n2 C# W, S4 i$ G+ G) Q! D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;% p! V m- J2 c0 T
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;/ e5 r- y7 W8 S% w/ r* A) J' V. ?
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ l& h6 U6 j0 K$ }# E/ z6 Y
' L; p. N& U/ q; n4 G8 U, M* M( l/* create a logger instance */$ t( e3 w7 ~0 q, G) S! ]+ S
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. ?3 }1 e5 b0 z( Y0 L% O
var loggerBufP = new LoggerBuf.Params();
' U: ?- L$ p _loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ N2 |4 `. X" y- [- l4 C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 h3 b( ~: R7 p# O# S& w1 L
3 {* d* N# Q' m3 z! ]& j
var appLogger = LoggerBuf.create(loggerBufP);
& H. N' \+ F( LappLogger.instance.name = "AppLog_Core1";. ]- S3 \9 H, G' `8 t5 W
Defaults.common$.logger = appLogger;% }, t$ w4 {6 ~' k
Memory.defaultHeapSize = 0x8192; 4 A8 w/ S- m7 X r) g4 T
Idle.idleFxns[0] = "&LEDStatus";
* @8 Y- I2 A/ b0 H' g: X. XCache.initSize.l2Size = Cache.L2Size_32K;$ P4 n5 G3 Z& y9 t7 K9 [7 k5 K( E( s
2 s$ q6 R S2 e4 I6 i0 B; l$ }
|
|