|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明# c& ^: ~3 ?2 ?3 e
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 U9 G+ X. h- F1 [
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 Q4 o' C# _/ q5 J2 ]/ C
7 |2 A5 j7 f2 n
是不是需要在DSP.CFG中进行配置 |' W7 {8 d; O4 o4 L
我现在的配置为9 ~% f+ J' X0 |7 M& M
V5 t' X5 d# f1 U# J
/*$ s( k( Q; O3 @" A
* ======== Operating System Configuration ========
# K/ X7 c$ v$ ?* d$ x, n; c$ _9 v */
3 j- Y# a1 n0 R) h$ O
! j7 x9 y6 l# V* z( t- Q% m/* no rts heap */
7 C1 d6 ?! E/ |' L7 NProgram.heap = 0;
+ l7 Z8 j: ]: e+ sProgram.argSize = 100; /* minimum size */' b* I; ~$ @$ C: z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- \, o( w) @9 n) b/ m; X6 S$ \' J
2 x" _* d, [, c/ {
/* create a default heap */# M. j! z r1 g$ I. Z0 I! {) s
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* U2 i6 F8 P' z8 k8 ^, L0 m7 V
var heapMemParams = new HeapMem.Params();
" _# ^$ \4 F2 d9 c0 t1 p1 xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% M& y" b* Z H, n
# C* b3 C4 y2 s$ ]3 o: j
var Memory = xdc.useModule('xdc.runtime.Memory');
, @% a" D$ `; ?7 K4 \9 v" b7 eMemory.defaultHeapInstance = HeapMem.create(heapMemParams);5 X0 d+ l6 k) ?! ?& ^1 ~1 c. m
$ {( A# w: ^9 L: e
/* configure System module */: s. a4 n+ x i# T+ f- A
var SysMin = xdc.useModule('xdc.runtime.SysMin');4 [( k5 R G0 G
SysMin.bufSize = 0x1000;
+ C% E* n d2 g+ U& K- J& `SysMin.flushAtExit = false;
8 x; E( _1 n6 w% q( b& M
7 m+ W6 X9 m9 Ivar System = xdc.useModule('xdc.runtime.System');- O" X( ~4 M& E4 H* X0 h# E
System.SupportProxy = SysMin;
" @( y9 j+ K: h; ^! M
4 L- I% v. M% h# T1 M/* configure SysBios to use the lower half of Timer 1 */2 ^# y, c J! g; Z, ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ `0 i& f2 U4 n" c& ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');, u% D# |; z8 b8 p5 Y& X
Timer.timerSettings[1].master = true;
( N \! e" w+ W5 F+ zTimer.defaultHalf = Timer.Half_LOWER;+ g+ [8 j+ K( ]0 w+ O2 N1 N; M( K
Clock.timerId = 1;
4 _% j4 O1 g" R
; \* w; z0 r6 D( `3 Q( Z
7 }% S# g* E8 k4 W* v/*
% E1 V( u, R* u5 T* A/ p * ======== Miscellaneous Configuration ========& j1 a* F$ ^+ ]8 D' @! R
*/. |0 R! C0 P8 k5 t
4 S, O9 u& Z1 L$ ]4 E" e$ a/* set default diags mask */7 c9 L; z) M N5 U
var Diags = xdc.useModule('xdc.runtime.Diags');
' m% e. `' e* Y- \6 F! jvar Defaults = xdc.useModule('xdc.runtime.Defaults');
! S* K4 y: s o
: t, X, u# F! i% \$ U( xDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& J6 t! B, H5 B/ {2 t4 DDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 Q7 z5 I3 U- ? g. R" E1 L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 r! I& C6 d# g+ Z/ @* a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 i& K. q# s, o+ ]7 `
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ J+ [8 K( B$ U( \2 |6 \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 R2 ~( R9 v2 K) y* Z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' k3 D" D0 ?- `5 ~2 w* DDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 P" @8 Z7 `& {% a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 q& V6 j) H0 g7 ]Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 u: v9 r" J: j8 A }6 v5 y% Z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
' m' F; F# d' N0 ]$ z# n0 IDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 x+ r5 B4 i" t7 K0 A" }; m8 `Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: x) R2 e. l9 b" P2 m. n3 |Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 x- N8 C8 x4 i- A7 Q" ?
- j7 Z# k6 ]* `/* override diags mask for selected modules */; Z+ N3 L; z; z* q4 @# H" q1 Q
xdc.useModule('xdc.runtime.Main');
8 U: _+ D& u; ZDiags.setMaskMeta(+ @, n7 V1 W. \' N- s
"xdc.runtime.Main",& a& ~ f8 ^# O( b" H/ B7 b7 F
Diags.ENTRY | Diags.EXIT | Diags.INFO,7 f( [& T# [& L
Diags.RUNTIME_ON* @/ U8 R2 @' H+ F) j& ~$ O
);% e1 e2 S1 s7 m [+ {
. i3 @' M8 ?) {2 f# Q
var Registry = xdc.useModule('xdc.runtime.Registry');- |+ D; T# q0 @/ w0 i4 k8 Y! O
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- |. n* c F `
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* ^! F" P. R# K1 }
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' b3 y6 R) [% u2 e8 YRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ E) @- C1 A9 M
! R1 t' U, @% |4 k4 z e/* create a logger instance */
) ^/ L: f; ~4 k+ S; O9 z2 r% bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" T# J; T: m$ r: a" b0 A
var loggerBufP = new LoggerBuf.Params();0 [1 z# }$ O8 d! @; y: s {
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 Z$ A( k4 d4 ZloggerBufP.bufType = LoggerBuf.BufType_FIXED;
! |& _& b; Z7 `& Z [
, Q$ Z/ e0 z9 F0 ~2 F% b( Bvar appLogger = LoggerBuf.create(loggerBufP);
* A1 K+ ?% j. Q# ]' \appLogger.instance.name = "AppLog_Core1";7 M! J/ I v* Q4 |+ B5 O$ h
Defaults.common$.logger = appLogger;
, a8 {' h! ~. }' x( v' xMemory.defaultHeapSize = 0x8192;
* q( S7 F- u# X) H: R5 o8 h0 BIdle.idleFxns[0] = "&LEDStatus";
1 ]* n# `, c, d7 z+ aCache.initSize.l2Size = Cache.L2Size_32K;6 D6 u% H% a" R/ {3 s
% T5 U7 s! A) t- |6 [" Y; {
|
|