|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 n, J h+ R1 B8 ?* C- p, [) }. _& V
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下5 M; |& C) k, T; I
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 C3 K1 d/ U3 Y0 h" I
L% s2 G4 E' N+ G; Y是不是需要在DSP.CFG中进行配置# m( u8 |! a. }5 J8 J5 m+ D5 v
我现在的配置为
$ b0 [9 }- @6 q& T Y6 N7 W8 C7 w& V( Q
! ]3 i( z3 r S) _! ]9 ?/*3 \# `0 x. N% b+ M, K
* ======== Operating System Configuration ========
9 E3 Z7 R6 d5 V+ Y */' I# _0 N5 p1 E7 |0 Q# a( B$ _/ v5 r
. h" H' u8 V1 L' X# A( U/* no rts heap */0 u' x' r9 N# T& ?0 Y
Program.heap = 0;# y9 g) c# m6 ^1 w* C( E, q) R
Program.argSize = 100; /* minimum size */
& n! j, W2 q# XProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大) o+ U# \6 }7 v% u( A; V# m
* _6 M: w9 A: H" r1 g- @
/* create a default heap */7 a9 _6 Z7 R! z( a" \
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ J0 z9 r4 G9 s( F" ^) `1 cvar heapMemParams = new HeapMem.Params();
; h$ l. Z2 @8 z* X1 S. {heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! S; `. \6 y; x+ Q: \, ^9 p6 @/ [3 |; p9 i% j4 g
var Memory = xdc.useModule('xdc.runtime.Memory');+ B. S. |" V3 n: V
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);; ~. z' N; ~- Z5 g$ V; _
, B' w( N0 U. r! a# @( ^( V/* configure System module */% z% \" m0 q) a. t
var SysMin = xdc.useModule('xdc.runtime.SysMin');' D& s2 T8 T' c, Y% e
SysMin.bufSize = 0x1000;
8 e/ I: @8 J& g( ?SysMin.flushAtExit = false;1 p9 e0 p4 V2 I) O+ N: N, c# p
# K H+ M' X/ f7 Q5 S
var System = xdc.useModule('xdc.runtime.System');
3 ~4 `$ j3 o4 L6 x! aSystem.SupportProxy = SysMin;, \: i: r, x) n" h0 Q
% n- U9 i% ~7 s- E# K- V/* configure SysBios to use the lower half of Timer 1 */" r/ |( m+ }$ P9 c% Y3 J r/ [8 V7 r
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 q7 A0 ?) N' hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
l: J7 I, z9 u( h! uTimer.timerSettings[1].master = true;
$ O; I. V/ D( k! s$ `Timer.defaultHalf = Timer.Half_LOWER;0 I: _4 P N7 g% X. n- K4 y
Clock.timerId = 1;
1 ~5 E" t- f- Z0 }5 c& g8 n+ J! |: W3 H4 m$ P; b, A. n
" \9 |: m9 ^. {3 ]' q6 T8 |% i) k ]/*
5 C' k5 @: W: j" f5 j3 Q * ======== Miscellaneous Configuration ========. J) @& R; e8 K7 c" T
*/
7 c2 ?5 [8 u9 U$ _
! e. O; { }% [) r0 |! q* c/* set default diags mask */; W- B" _( E D: d h
var Diags = xdc.useModule('xdc.runtime.Diags');
" W7 \/ d* K' V: ?8 h% Nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
4 e, G! }- e; ^( s5 g' }* |0 d8 G$ O6 m+ }
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* m# q7 v1 d7 {/ dDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 o( r# q5 i2 \ O0 M# SDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 S* u: T, s: e
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! D. U0 t) ?, E* e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
0 v1 ^9 h# b5 @& ]9 }Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 Q5 m- s5 S; p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 p0 U1 g9 R' G F, D1 YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' t R: A. z/ m5 G/ [2 TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' P5 C$ T8 m3 F8 T8 W% ODefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% G$ ?1 I8 o- V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 r. p2 i; R0 c: g
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 e4 t. f+ [% O5 N0 F. t( `0 s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ v- ]7 |* S6 w( tDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" m3 x$ n0 J: S% M: n
: W: f: ]) }% q* B) S/* override diags mask for selected modules */
9 K) T* g% k2 A% xxdc.useModule('xdc.runtime.Main');
8 f B6 g! @6 i, _/ p5 }$ YDiags.setMaskMeta(
$ b! m/ X& f! _/ H5 j "xdc.runtime.Main",
! o+ m! ^/ \" p: k \ X Diags.ENTRY | Diags.EXIT | Diags.INFO,# `! ~( e A/ x( h, J" K1 y: V3 o
Diags.RUNTIME_ON
/ ]' I- H' ~- L. M) Y2 d);
5 _+ F6 g5 |: c& I$ M0 L+ M: `* r, ?" o
var Registry = xdc.useModule('xdc.runtime.Registry');$ f. x6 P) p' U! {, c# v
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, Z! `6 R: o U9 k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# K: ?7 R* D/ `/ p1 DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF; E& k+ F9 S+ k+ t3 s/ ?9 d/ L
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: A7 ]# \7 l. }6 u: \0 n! V4 ?* A. t8 \! V) o/ M! l
/* create a logger instance */+ l& K3 Y1 a3 V9 n
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) _1 d' Q0 f5 B( J7 ~2 t
var loggerBufP = new LoggerBuf.Params();
" ?% ]5 G ?" lloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 Y+ o x& n$ u4 E5 x- a
loggerBufP.bufType = LoggerBuf.BufType_FIXED; T$ r3 K' ~ R
9 D% W) _8 S) Y& b0 M' fvar appLogger = LoggerBuf.create(loggerBufP);
2 U" v- G, }: L+ kappLogger.instance.name = "AppLog_Core1";5 c6 S* y7 h2 M5 P5 d! x
Defaults.common$.logger = appLogger;
; {% K8 t$ z5 t5 r& }5 {3 rMemory.defaultHeapSize = 0x8192; $ ~; r- D5 n" `0 a, I
Idle.idleFxns[0] = "&LEDStatus";
6 y' U* o% _0 T7 A! WCache.initSize.l2Size = Cache.L2Size_32K;: ?5 \/ \2 O9 q
2 h9 L, G7 m3 `2 o O5 a' w
|
|