|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 a. c3 t( z3 P1 B2 @+ ~. W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# R4 O7 \( L% s* t, k+ K+ Z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 o9 `8 m' m& e) i9 G
9 F8 ^' M/ x/ U) `9 w- n# V
是不是需要在DSP.CFG中进行配置
" [& b; ~1 T+ P9 s, K我现在的配置为4 l) _; P# U/ ^* Z
+ Q1 n2 n/ G3 j( V7 h H. d! E/*
1 X ]- j, ^- Q" a * ======== Operating System Configuration ========: M7 r: K z$ |) a4 t( D0 B
*/
6 u% n& B; G- t8 y; ]" d% ]) B
" O6 s* l/ E" r+ u# F x/* no rts heap */
* Y8 |- L; A- d/ Z8 x1 AProgram.heap = 0;
8 M6 u/ A0 n0 c; o3 D- {Program.argSize = 100; /* minimum size */
! w) h3 C& x8 c' v; @' AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' e/ \* F+ M) ~* ?7 E
& ]4 P8 c5 L6 J% H9 O& B/* create a default heap */
+ G+ T' W Y+ C8 A0 G3 _var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 o% Z0 D. F# m" Y# o0 rvar heapMemParams = new HeapMem.Params();
; n" f( ]% f( m/ Y5 XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 g0 r/ b( ? Q$ k8 {5 C
2 j3 H( Q1 A. |* E$ L+ R+ c' `1 ~/ L
var Memory = xdc.useModule('xdc.runtime.Memory');
' X5 W2 K% d8 Z6 T5 SMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
& ?) [/ M2 R2 g. G9 _. w* L
" x) z# `! j. T _7 r2 H/* configure System module */3 M9 b8 [. M$ U2 }' J; v
var SysMin = xdc.useModule('xdc.runtime.SysMin');
: j7 f' P Y9 _3 @& i6 qSysMin.bufSize = 0x1000;
# u: Q; ~1 [$ p* w7 Q0 c# J" O. l0 rSysMin.flushAtExit = false;' j. {' F u9 s7 P. F
' c3 k8 _$ C( A7 I2 b- K, C& B
var System = xdc.useModule('xdc.runtime.System');
5 ?! G3 U! o" g7 @3 H. }. ASystem.SupportProxy = SysMin;
! Q1 X7 n2 W, g% t$ k; _" l3 J% m/ C& \
/* configure SysBios to use the lower half of Timer 1 */
8 g. c- N ~1 t2 n; U* p6 C( p+ Yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ Z$ V; X; S6 n) P) A3 n1 b
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' G# ^" |% U0 |
Timer.timerSettings[1].master = true;! o. Z" J6 h- l
Timer.defaultHalf = Timer.Half_LOWER;
4 A2 n) w5 {: G0 g8 }Clock.timerId = 1;% P9 m- ~8 `" {+ Q' i: b4 `
* K3 b0 Q9 s: a' e2 m3 i5 c) J8 e
4 E. V- L b- D0 `7 f. S M/*
3 G* H6 g1 F, C8 w7 X9 f * ======== Miscellaneous Configuration ========
; D+ |* i" M2 U! T% G# p */( M: G% Q+ C2 D9 q" f4 I
$ N! y% `# G L5 J
/* set default diags mask */
9 @6 m( _; C% s! Z0 ~var Diags = xdc.useModule('xdc.runtime.Diags');6 H; Q' W# K0 D
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 e/ B0 t# K' e
0 S- N0 m* P* u+ E r+ s
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- d' [1 r# p% h4 \1 O# F% a0 m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ `+ i |9 j. i: d# D e' EDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
( |& l8 N+ a" c& PDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# o$ L7 _& ]& j6 {' CDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" E' ?* c' ^& m6 `Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& g/ @$ n0 Y ~" UDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ k" ~, t4 a) f/ n8 ZDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 V8 L: M9 ?' z' \6 E
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. c. g( \- I1 @4 L$ xDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. j. y4 X9 M. J5 ?% q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 j# Y7 i6 s* ?, @. jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* W) O+ R# Y; r9 z# r% q+ D5 RDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;; j+ A9 N# d, [9 ]' f1 D& C. K
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: u$ j( j- a% D+ j! W
+ ]0 M' V( L; |1 w/* override diags mask for selected modules */# @8 P$ H; j' A
xdc.useModule('xdc.runtime.Main');+ S( f+ ?7 ^- Y5 |9 P+ ^0 q
Diags.setMaskMeta(
+ h1 Y( X* j1 M w; @5 \ "xdc.runtime.Main",
P, e5 ?$ ~2 R4 u+ F Diags.ENTRY | Diags.EXIT | Diags.INFO,, H5 S+ a0 {! o: q" L
Diags.RUNTIME_ON' O1 Y x T% p8 M0 }' H5 B6 E3 i, w
);$ p2 }1 k# x) |, \6 i: r4 t M
1 m5 D$ v2 g, [4 P/ q8 Rvar Registry = xdc.useModule('xdc.runtime.Registry');% Z& l( h6 ]3 N; d, u- z+ x) k
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 }3 q8 M3 I# |( ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 l- a1 i" }( m2 a) I5 V6 Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# E' o' ^4 G1 [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;. n+ C! n e' N0 S9 G# W" B
; T# D1 z+ C U$ R Q/* create a logger instance */2 I) i% h3 L# q. z8 O' }, M/ @: q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" J% y9 G6 p% W; C1 J8 L6 _var loggerBufP = new LoggerBuf.Params();
$ i4 t% b J# HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' z( _3 B9 u& i# E
loggerBufP.bufType = LoggerBuf.BufType_FIXED;1 R/ P4 u8 Z. Y; u
& J' Y9 E8 [! g8 @7 ^var appLogger = LoggerBuf.create(loggerBufP);
: w) E/ j4 w+ C oappLogger.instance.name = "AppLog_Core1";
4 C3 } S% j' Q5 R& B* a Z6 E# G! \Defaults.common$.logger = appLogger;
9 q+ k7 Q( _8 i/ }Memory.defaultHeapSize = 0x8192;
+ l& d" z# V) ?' Z' b0 [$ N3 KIdle.idleFxns[0] = "&LEDStatus";& W& E. x2 g6 h4 F
Cache.initSize.l2Size = Cache.L2Size_32K;
" {% E/ A1 z+ C) {% }
. I! W0 [9 J! [: S0 l; y |
|