|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; S1 W* ]: [5 ]4 D" V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 }+ X3 g! x$ i7 T0 i* w(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 X9 n+ [. N, L1 O
8 l0 |6 R6 E* s是不是需要在DSP.CFG中进行配置
( s } V6 [) M, h3 B5 b( x7 b我现在的配置为
4 z' g9 S7 E- Y" j& \7 r
' h- B( s, ?3 p% z: F# f/*
& d/ n7 w+ M' K! D) w. { * ======== Operating System Configuration ========
5 P4 j7 Y- @# r% o* l. v */
+ ]/ G* O6 Q# h! H0 l) j/ r! i3 F
. p( Q" O+ m' F( J( e/* no rts heap */2 j/ Q; O$ W* ~8 n
Program.heap = 0;
$ c( P& s( z; eProgram.argSize = 100; /* minimum size */( X y% W/ w2 `: ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" b Y9 `! y7 d0 b. H. l& X3 ]
" O$ f5 t) f; ?; Z
/* create a default heap */
+ W0 J& C- ^4 @4 R9 t) h2 Ovar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( w# n+ `: i5 q/ vvar heapMemParams = new HeapMem.Params();6 [9 z, b5 J- K* ~ H5 r1 w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( t' O# a4 B( u: w
. ^% O- [0 G& E( ]7 s9 l
var Memory = xdc.useModule('xdc.runtime.Memory');
* w1 i" a/ H! B; f! eMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
- R/ b) n# j" X# I T5 L0 }
# I( p+ k9 r, x% P: Y/* configure System module */" i x% ~5 o& G- H" L: b. C1 B8 u
var SysMin = xdc.useModule('xdc.runtime.SysMin');
* i# r; h r8 z3 ?. I3 N7 ]SysMin.bufSize = 0x1000;5 w& l) e; Z- D
SysMin.flushAtExit = false;3 d1 K7 \: ?0 j9 z7 C) S) r
% }6 @4 w; f0 a0 n+ o7 I
var System = xdc.useModule('xdc.runtime.System');
" s. U. A' |2 }. O) D6 b" LSystem.SupportProxy = SysMin;
, |, k$ Q# F! |' A# ^: V; q
9 n( G1 |7 b4 N3 x* d+ S( q/* configure SysBios to use the lower half of Timer 1 */ h1 _) r- m8 U5 D
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% ^' Z6 n) Y" }% Z
var Clock = xdc.useModule('ti.sysbios.knl.Clock');( T$ }$ x' m* W* E# C7 l$ r
Timer.timerSettings[1].master = true;) C% m' ? U4 n: I
Timer.defaultHalf = Timer.Half_LOWER;. I: y) P! }# }% C
Clock.timerId = 1;6 B' L [9 q& ?
2 k0 I: x* f8 T2 Z
, i# j6 D! N: j9 E- J0 x2 A$ S
/*
! t$ w' x3 q7 u9 _2 @7 I- e3 I * ======== Miscellaneous Configuration ========
0 l6 Y; L! U# p2 e */
- t5 O; ~% A# |+ f" t& d' J9 A3 p/ @! K
/* set default diags mask */* M# [% d- |& o
var Diags = xdc.useModule('xdc.runtime.Diags');
; K; t# m7 W9 t& N* Y# jvar Defaults = xdc.useModule('xdc.runtime.Defaults');1 _1 R d- \6 S2 J- L' Z; ~- m
/ R* `5 y7 E! @: F, l$ F5 V3 X; E% F x6 lDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 T& O# C* q: @3 X# R8 R
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 U3 }! n, D, {- G/ X( Z8 NDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 o4 s* ]7 J% [+ ~
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( F* c5 h9 p& E2 E. ^1 GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 Y& e. t! J6 d: Y9 x0 Z2 m3 J& TDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& S" _* h+ P- }' T* g9 J) T3 t) ]Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! \1 n8 {/ v) X( e0 ~
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* m& e; Q& ^; \; q2 _$ s, mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 H8 x7 ~* J5 G& t7 {$ Q
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 v3 l# z9 \: i* g! z; Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 m8 c" x& p: ~1 [) m5 B$ A% k7 Q
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 O, ~# `2 n; V
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;) ]+ n+ T6 Q' S# h' i( M3 T: H" V
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 u+ k! z' F3 D: O( k
, |9 D% U& V4 |- S/* override diags mask for selected modules */5 o, w. a3 y6 F# T
xdc.useModule('xdc.runtime.Main');
& z6 N8 j4 d2 L0 q, O5 ^Diags.setMaskMeta(. k! s; Z! M, K; N) y% i
"xdc.runtime.Main",
5 |2 N9 {. x) _% Y Diags.ENTRY | Diags.EXIT | Diags.INFO,; F C! g6 y; i+ T
Diags.RUNTIME_ON/ l; B# D' I8 t9 E$ w
);
6 M; \; M% R! [. }8 k, e
. _ m+ D8 Q& \1 i. Zvar Registry = xdc.useModule('xdc.runtime.Registry');
* N7 A4 _# g( ^: s' u( A' ]Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 M# Z8 M3 P# Z3 T' |, h
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 _3 Q0 U. l* o, E# @: d
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;# v$ i* F6 C2 s, B! e. H7 L0 v
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: T' T, U$ o: b& U- r" B1 n$ a- D! B6 w3 l1 U4 A
/* create a logger instance */
6 r9 F- w+ W" l, B* B4 wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ T) Z5 x) _4 Lvar loggerBufP = new LoggerBuf.Params();
' \4 f f; c9 _9 V0 H9 W/ y9 ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 s: X- E/ y' F7 D2 F# a
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
; G3 R e9 E! c; g# `
3 i, R3 ?8 i* C. qvar appLogger = LoggerBuf.create(loggerBufP);
# z4 a- l$ f5 \9 p0 qappLogger.instance.name = "AppLog_Core1";
0 J; O6 T0 A: i cDefaults.common$.logger = appLogger; T6 @/ Z# g+ {$ C9 E
Memory.defaultHeapSize = 0x8192;
+ [6 h0 X; k, a @7 R' [Idle.idleFxns[0] = "&LEDStatus";; y* `4 e# k* J) X
Cache.initSize.l2Size = Cache.L2Size_32K;$ n7 P) s0 E% X7 }. p7 |) \
0 v7 q V8 L' ?
|
|