|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
" C E" A W4 ?8 M! n% x我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( Z5 b1 s3 x8 x# N# A) Y+ U! f(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- |, w0 m0 W- S5 D
1 @; Y0 ~8 Y1 ]/ C; s* P7 e9 F是不是需要在DSP.CFG中进行配置
6 b6 f7 c+ ^4 S& J我现在的配置为
" A0 O/ y1 [/ ?4 x2 E* ]' R& L( j% c: X8 [2 i
/*
: P4 k. k, R' c: X0 { * ======== Operating System Configuration ========
1 d4 N- v. ?' E2 O$ X5 p! J$ ] */: \! K+ Y# f L8 U+ q' y$ O
" U C# v+ |9 }, x% {
/* no rts heap */! u6 J0 X* J* w; }3 p
Program.heap = 0;) f% y) ?% K% u0 r6 [9 |+ r5 n7 p1 g
Program.argSize = 100; /* minimum size */
: n1 N* \* s8 ? h9 V G9 o: ?Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: ^" v" |, P4 g8 y$ M8 e: i
w/ M1 P L. s3 D- c! g
/* create a default heap */
. w- Z2 U9 T; w6 r; T, W# Dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 b* ~; q" B( n" f" p7 e1 w
var heapMemParams = new HeapMem.Params();$ V' ~, p4 f* O+ d2 {. N
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ M& ?% }1 W$ W) L
! }4 ?- M* Q# E9 d2 I4 tvar Memory = xdc.useModule('xdc.runtime.Memory');
E/ ?( u3 ?3 K4 }% j6 WMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 s1 l- E. d: e \4 D2 T6 b: _2 R* K7 m5 |
/* configure System module */# L& h/ X7 O) D& K4 m* L5 `9 E
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" K: J! v' T9 WSysMin.bufSize = 0x1000;' m( n7 U5 e; H
SysMin.flushAtExit = false;
! |8 V, V* V. [( M4 ^3 I0 @
k: z: [9 s9 u: Yvar System = xdc.useModule('xdc.runtime.System');
, X# q# ~- c5 V7 y1 `- cSystem.SupportProxy = SysMin;) ?% D5 e* |& n, ]' ^4 `2 \
3 k, p1 \% q$ ^. U) Y2 M, A2 X: d3 Y# u/* configure SysBios to use the lower half of Timer 1 */, }6 n0 r, G" V+ R& z- W: e
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* u9 v! ?1 Q- O0 ~7 u3 m# w5 d% R
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ p. ?* R8 N9 j+ m' n
Timer.timerSettings[1].master = true;
8 b: k4 ? z2 v7 HTimer.defaultHalf = Timer.Half_LOWER;
+ S x/ x4 R- s1 c/ o( g cClock.timerId = 1;
: B% ^2 o4 j8 O+ R
0 c: @' m5 v: y, t+ L' w; x% `8 p# O$ r: ~
/*
# [! {7 \9 o/ V+ P1 Q * ======== Miscellaneous Configuration ========
; R( f) e7 w+ k. p7 D */( D3 r5 s% m6 U& V" H
* y9 S6 l/ U" Y1 y- D/* set default diags mask */
( F" s0 p6 @3 a2 wvar Diags = xdc.useModule('xdc.runtime.Diags');. {% p) m+ V8 F, M4 |
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ r# R/ a% a% |' L4 W7 k9 t# I" C( l# `% [- n( ?+ A
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 T* O1 n4 m/ K @8 U6 A0 L$ {
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 z) ^+ ]. J. E8 u
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ \; c" I" _5 a2 N; F# ~0 ~Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. O& Q, a. P2 U i; RDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( k( a2 U7 B: P$ WDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! @; q1 z; {3 g) t5 R# `: g @Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 k& q, h6 h8 rDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ Z; I* o4 s1 p/ Q7 z8 P$ j# e& e1 KDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- O+ u, l7 @# N; Z @6 P' C
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 j* E( }# @$ hDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 h9 S' j j( P2 A: B" {
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ m c4 F- c* q( z' y, T6 t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( P% i5 }( j1 ?9 GDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) K" v! r- Q1 ~* {8 J: R% r9 h
- k! ^- f. M& F" }" |! h
/* override diags mask for selected modules */
( n# P' O) p2 D; I6 [: \xdc.useModule('xdc.runtime.Main');
" U$ Q7 p8 M8 V7 |! O i+ xDiags.setMaskMeta(
8 o2 V& f: X* W' _2 I6 Y# ~ "xdc.runtime.Main",
6 a9 n+ j1 j1 {1 t: a$ D; n+ U Diags.ENTRY | Diags.EXIT | Diags.INFO,( }7 R. B5 K0 t8 S7 Q+ x$ F1 P( G
Diags.RUNTIME_ON
& A9 L6 g2 n' C2 Z w) E);6 l. r' U7 |/ E! ]5 X
. L6 G2 q9 I j9 f, c0 f
var Registry = xdc.useModule('xdc.runtime.Registry');/ i7 j' x' k8 V/ f
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 y: C) w3 k! a& k, A
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ b8 {9 d; e" `3 O; O
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; ^( S. w" A% n& S G0 u- D6 a
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 D6 {. }) B/ b4 A2 M0 w
* u7 V" F$ V( |/* create a logger instance */- ~; ^8 h5 V' g4 l0 T
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 A$ A7 f! U0 i
var loggerBufP = new LoggerBuf.Params();2 ~5 ]7 a, f/ i6 a" {% p7 U
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ J/ W, P6 j4 l* u _( o
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 K! @' h' s$ f4 y/ M1 Y/ j
; F) j% W6 r5 S. Y$ w+ |) P8 evar appLogger = LoggerBuf.create(loggerBufP);6 i, D& w& p/ T2 D, n
appLogger.instance.name = "AppLog_Core1";
( U- y. D* z% b9 \& IDefaults.common$.logger = appLogger;# p/ g5 e, A/ N; N, j m& H
Memory.defaultHeapSize = 0x8192;
$ Y6 i8 h+ h. k' bIdle.idleFxns[0] = "&LEDStatus";
; o. _3 w4 V3 \! t9 u9 lCache.initSize.l2Size = Cache.L2Size_32K;
' X7 B& B2 W7 V& O [. a! j+ }- g% C/ L- X2 i& _
|
|