|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, ^; j# T+ [ T0 `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下6 A" r3 I5 l/ l# ?/ b
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' p1 C" H3 i6 b# |: L! O
$ j+ E8 v* z5 y, z( P- H是不是需要在DSP.CFG中进行配置8 {( E4 X& k& D
我现在的配置为
6 m2 C8 \! u0 B: D5 z9 Y- Z% F5 T# K$ K* i: C" {& O$ G
/*
8 P% C' B' F4 _ * ======== Operating System Configuration ========
. |8 F% H# }: g3 C */
0 X% l' d# ~1 {& A7 A2 Y9 }3 K: D4 F3 I5 [4 N/ N
/* no rts heap */) l, _: u: P+ h4 Z% X" `9 z
Program.heap = 0;
: P$ [6 f D" @8 |1 r2 t7 YProgram.argSize = 100; /* minimum size */
# s) r; L" U# x! s" e( sProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 \) x% A+ N: v
/ I. F' D2 t5 R% @, E$ M# P4 Z
/* create a default heap */
( r/ F, \# w$ c4 z* e' A& uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 p! S/ E% _$ _& ^0 h
var heapMemParams = new HeapMem.Params();
$ B+ X5 u6 J" \$ @: ?+ |9 gheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ G: G/ s5 u1 Q8 f
0 k% [2 R( Q6 } k% b! s) Lvar Memory = xdc.useModule('xdc.runtime.Memory');
6 J4 Q( r. ?; _Memory.defaultHeapInstance = HeapMem.create(heapMemParams);4 P2 i. n% {/ K$ l! t/ L
+ s7 @7 }1 S! k4 K8 {( z
/* configure System module */5 H0 K# Q( o1 Y% C4 |8 O+ U0 K
var SysMin = xdc.useModule('xdc.runtime.SysMin');
, G' p& Q0 `0 Y2 J, ~ `7 K5 HSysMin.bufSize = 0x1000;2 V2 i3 g) P# T
SysMin.flushAtExit = false;
' w7 ]6 Q% @. D8 A
7 ?, Z6 U# ~% g6 w4 A( j* S0 R8 \9 Tvar System = xdc.useModule('xdc.runtime.System');" V$ W/ }! g( D3 F0 v x: N v
System.SupportProxy = SysMin;+ d6 _7 T2 S2 K7 H1 w+ r* P- C; t. W
$ ?5 O3 [! c t" Z
/* configure SysBios to use the lower half of Timer 1 */
5 X5 l7 H+ f& f+ G5 gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 r' [# T; [$ i* h7 ^var Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 r+ W. g# ]7 BTimer.timerSettings[1].master = true;" ?+ J, O+ ~4 M, ]' ^% U z
Timer.defaultHalf = Timer.Half_LOWER;7 U7 x: S- b2 l4 J+ i; x
Clock.timerId = 1;& ~0 z1 K8 R( ? j
+ N7 ^9 I. Z) y/ |3 q# t3 f2 ?9 X f7 y+ ^' I' l2 @$ o8 D4 s; _' j! }
/*
6 F/ _0 D9 \- m# q1 v' Z/ K; q * ======== Miscellaneous Configuration ========8 ^3 W- I9 ?1 m% y9 c+ n. N# ?) y
*/
( }2 E0 z" u# i4 C
4 X9 M3 A& p& e* U$ }/* set default diags mask */
3 P; C# A+ R6 Y0 O0 \2 A9 ^var Diags = xdc.useModule('xdc.runtime.Diags');8 n( | P( |# X# w5 Z0 |
var Defaults = xdc.useModule('xdc.runtime.Defaults');
# g0 L+ h0 X/ Y4 K) K/ a& S- ^
?4 t2 F1 j& [Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ k! |2 O% R4 d* p) ?8 `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. x, p H8 `9 Q6 R3 C( P+ ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 ^1 K Z0 K, Q4 q3 ?Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; e8 t6 X G( T5 ]1 @Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' M$ Z! Q6 }7 |, I5 V. V' O' g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- L3 l+ P1 q+ L; v" ]2 b0 Z* m
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& ^- b- f9 i. p# O
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ ]$ |0 V8 T" H: ?5 @5 F& I4 D4 g8 B* uDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' P- f+ t, Q+ Y" E
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;" P( @5 c5 Q5 ]# G
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 a! r2 }* Q3 A& P5 q5 ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ T4 Q* z. `* ]+ s# G4 K
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- |0 d- ]4 w; y5 }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( M$ c! D4 H) k8 s% F
4 ?) ~( J; w) L5 Z9 V/* override diags mask for selected modules */8 a- D+ [2 _) e) s6 l" \
xdc.useModule('xdc.runtime.Main');5 E# r- ~$ m! o+ U
Diags.setMaskMeta(
& W3 L+ O; X# [8 |5 u "xdc.runtime.Main",1 V, R/ G! c% V
Diags.ENTRY | Diags.EXIT | Diags.INFO,( F8 o' c, A- ]
Diags.RUNTIME_ON+ S# D( c0 a' K3 A) V; c8 m
);* H+ w, L, Z2 [( e1 J& M
! F3 o; {) j# V) y5 k
var Registry = xdc.useModule('xdc.runtime.Registry');. t% v- s( R0 r% f. O1 A. i
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& d Z& \2 Z/ x, E& w* N7 eRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 t4 o2 j' M7 `4 E) o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; x' ^$ T: x7 s( l$ z
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 ]2 H% k, W$ P. c& q! @+ _. X" S/ f' ]9 ?& r1 s; J$ a
/* create a logger instance */5 N( Q' [; @/ R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) r" G% h G, t- Y. y! ?
var loggerBufP = new LoggerBuf.Params();
0 Q: z5 m/ v- k3 J4 wloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 R" `" |* v2 Q. m a( [8 m& E
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 z( z+ d8 B1 W1 j& q- E3 _3 @7 \- Q- ~$ h
var appLogger = LoggerBuf.create(loggerBufP);
8 b+ _# `* W2 c7 HappLogger.instance.name = "AppLog_Core1";
& M3 H0 I3 J- Q0 Q5 wDefaults.common$.logger = appLogger; v# T( @5 [! d( K4 q
Memory.defaultHeapSize = 0x8192;
, E/ p k* b7 v/ D! xIdle.idleFxns[0] = "&LEDStatus";
+ c) l( l! O2 y9 HCache.initSize.l2Size = Cache.L2Size_32K;' H- H% T8 f+ E6 t2 d/ g
4 `$ w! K) r( S4 ]* }" \ |
|