|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* \8 X% ^8 h' d+ `- L( `+ \: q' g我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" D+ t* U; }7 Z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 h2 C1 P& {3 _; Q2 m
9 f7 b6 I3 @. S, ?' k0 a
是不是需要在DSP.CFG中进行配置
6 t. S9 D7 P. \0 e: { Z, Z我现在的配置为
" r9 {9 d* P1 ^( ]4 r1 W# `* N x5 o7 v' q- p
/*
( u: W# N' L& R( l/ i2 D+ g1 G5 J * ======== Operating System Configuration ========
: Q# g. H, U$ @% h *// \7 s, Q8 U/ n5 h, M
5 ?# F4 {" R/ a/* no rts heap */2 U" o( J7 m" t9 G2 L5 D
Program.heap = 0;
5 ~5 B/ P) \$ f" i: Z& U( vProgram.argSize = 100; /* minimum size */
( u3 w4 [ j0 h! d" e! e! B4 zProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" p+ Q2 u, U) u$ G
' ^$ l: m8 L4 M( T/* create a default heap */4 [ r$ \( B) K, o' W8 f# X2 i
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 E" N8 ]4 a$ J L- k4 wvar heapMemParams = new HeapMem.Params();
* q2 T4 F* X/ s1 G8 W `/ c6 x9 T& wheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: E, w% J# l' E/ L& y6 ?' i, [4 U C, R/ L ?, A
var Memory = xdc.useModule('xdc.runtime.Memory');! o6 k) J. ]; O1 {
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);) ^6 Y2 d9 v, H2 x0 L( w7 j
% t" v' e# u" a: C1 k5 c6 Y9 V/* configure System module */3 l/ A, v/ [! G" z
var SysMin = xdc.useModule('xdc.runtime.SysMin');% `" L5 ?: m& N% U' M5 O5 O6 ]
SysMin.bufSize = 0x1000;
% l& b- {/ l& D2 Z) i9 e% D4 H" GSysMin.flushAtExit = false;! S% j3 s! F2 ?- E# E" }
" Q2 J' |9 S! [* Xvar System = xdc.useModule('xdc.runtime.System');0 _4 a1 t' M, K) V! @, A0 k' z+ D* f
System.SupportProxy = SysMin;
# @# g) _$ V$ t4 n5 m- t, o/ @: Z; {6 T' C; w
/* configure SysBios to use the lower half of Timer 1 */
4 ], S1 Q& R/ y. Y6 h+ ?var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 \ M* H( l6 s( I: `6 j# tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
# A) a; I8 ?4 UTimer.timerSettings[1].master = true;
# Y! B% E/ ], l9 X3 ]Timer.defaultHalf = Timer.Half_LOWER;" f* b5 O4 q( L/ A0 D, j5 O& v7 Q
Clock.timerId = 1;
! r- d, H6 n2 M, Y$ q# v* F* ^# g5 T/ ^. L6 X4 i7 X: v
j# c' P( k$ A, r) x
/*
, y! P& w S" D5 _: g D * ======== Miscellaneous Configuration ========
; g# A4 q3 q0 b; g */
3 h7 y3 x2 p) a0 H4 f2 ]6 B' A8 o$ o% O# ~$ a s9 V
/* set default diags mask */6 O+ l: {7 N Q/ S- Y
var Diags = xdc.useModule('xdc.runtime.Diags');0 i+ k. ?# }" V. O
var Defaults = xdc.useModule('xdc.runtime.Defaults');
4 u5 R9 K+ t N* t/ K/ c$ D3 o/ y3 Z3 e
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* a+ Z+ _6 r9 O; e$ g- J& GDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& ?4 u- ?# k" q& H3 ~Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 V L9 u, b1 b$ }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* @6 ]- |# G- K. G# ? ]4 f- I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& V; P7 g& c3 y9 c3 `! WDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 q& U/ O0 J$ ~" k6 e6 yDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 T3 G1 z: A6 b2 `
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 d `' T" C& ^: |9 a+ a% v+ z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' Q: T J2 U, @% Z d+ r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! f0 R: H- c, {: E+ p& Z$ H) T2 a% z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- h4 ]1 S" ^ E9 X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 H- W3 M0 v. ~Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
+ A- [( c) v/ X: f+ d9 fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( B- ~, w5 b- `' G( t& ^7 V
0 L0 f$ J; s8 E/* override diags mask for selected modules */4 X4 P/ x- D% }8 a& ]
xdc.useModule('xdc.runtime.Main');
0 R1 B5 ~ O+ M) l q5 L/ cDiags.setMaskMeta(1 x m9 P. Y4 M3 }& T
"xdc.runtime.Main",8 q: |& v0 U* n! {# D
Diags.ENTRY | Diags.EXIT | Diags.INFO,
; O+ r! I+ r& N! G c$ m Diags.RUNTIME_ON
% o+ [, x! [- q);. f p( Y) x" E# v8 o E* i
$ u. O U" R7 k& R
var Registry = xdc.useModule('xdc.runtime.Registry');; k( d; C1 P' B+ t
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) b! _# o0 M2 m. x5 e
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! Q# d/ E+ F6 O# f/ x3 y; fRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 Z) }& M C7 P7 S" V$ sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" t# ?! k1 |; }1 G' G, c" T- A6 ~2 n" U9 w8 O2 C
/* create a logger instance */# n4 [* U" K/ i* p2 C! z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 {( O9 Z7 v4 E$ `# G% d
var loggerBufP = new LoggerBuf.Params();* j# I. c+ Q: R; z1 }( R! z( c' O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 k& x+ K e9 o; r& L" o3 ~loggerBufP.bufType = LoggerBuf.BufType_FIXED;' y! S+ a8 M8 R0 u3 i s6 ]9 R7 e* {
( k( F. v2 X9 _- F
var appLogger = LoggerBuf.create(loggerBufP);
* {+ m% l/ ?& R5 happLogger.instance.name = "AppLog_Core1";5 h u3 k& i- Y0 A: c
Defaults.common$.logger = appLogger;
& t3 {3 H& h3 I; B! B- {; R; dMemory.defaultHeapSize = 0x8192; # Z* p) O5 j- J0 r% m5 U1 T
Idle.idleFxns[0] = "&LEDStatus";& L! h, R6 o7 h' ^
Cache.initSize.l2Size = Cache.L2Size_32K;' C5 F1 M. u& ^1 C
2 I! W% M% }: U; b! A0 [ |
|