|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 ?; ^. m1 G" @$ q/ k; A" c7 U
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( J# Q) ~$ Y. |2 w: L! [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" J1 I3 N, `5 o" R$ k# t# _( q' i# \' V* K ~( S
是不是需要在DSP.CFG中进行配置
; {0 e! R6 R0 w5 Y z! r我现在的配置为
m" m+ F( [. V% X# U; K# e( k1 \4 |3 o8 M6 W
/*# F. s. U0 P2 O2 V) ]4 A: d5 U }
* ======== Operating System Configuration ========+ j8 P$ V/ s5 K9 D
*/8 c6 e s" W5 N8 _9 U' z
+ M }# b: }9 j, D" n% _8 Q/* no rts heap */, g5 u l% c$ A! t* S
Program.heap = 0;
4 D% t S3 N2 b" a% s+ H. P$ ~# M, BProgram.argSize = 100; /* minimum size */
f% Z$ J4 u I& S: T7 w; }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 M! I8 G: b. N# |1 S0 ]
( e' K3 Y- u" c7 j) ^ ?6 u n. s2 S/ @0 z/* create a default heap */
6 `- u M; T1 k- a0 ]7 d, ]var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& a5 x/ ^3 I4 x* x2 U* D! H
var heapMemParams = new HeapMem.Params();! r8 Z+ r. q" C2 b: E) K
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
4 j3 Y3 X) C8 H# H/ y7 {6 d2 [2 F9 r% J+ f, K
var Memory = xdc.useModule('xdc.runtime.Memory');4 [- Q, @5 E- q7 {
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);8 X0 A, L: G( j6 t% P
- u) _/ j, i* n0 Z! Z' c
/* configure System module */
/ Y2 |0 k5 c: t, g3 wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
, a. M g; ^. O* C3 _6 [SysMin.bufSize = 0x1000;6 F& q9 M; c/ T
SysMin.flushAtExit = false;
& I0 |6 Z/ w5 A, z$ D: A# c3 D8 B+ P' s. E: d$ O
var System = xdc.useModule('xdc.runtime.System');0 b( `5 ^+ X! f0 A/ `3 e' J# T
System.SupportProxy = SysMin;, M7 G5 m1 r3 S; T$ O* H" R9 S! r) E
* v" Q" B1 o6 a, m( p P
/* configure SysBios to use the lower half of Timer 1 */" H _; I# Q9 m6 d. `) W; X- Z2 Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 x% B+ I: d. y8 I7 H8 Z- Svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 n0 p( [7 z& @+ X& PTimer.timerSettings[1].master = true;1 b ~, E3 E6 x! {9 @
Timer.defaultHalf = Timer.Half_LOWER;
* d# B5 t& ^- I! ~7 S$ H& bClock.timerId = 1;
+ w! l! i+ f8 _; r' A# x7 M! v$ I+ S
$ e: g! w1 e( V g+ K9 L- o! I
/*( n+ C4 N# S, f; j% R
* ======== Miscellaneous Configuration ========: N6 j3 J, _1 L
*/
' r% W, B1 N7 q- N, v% `, ~
" g3 F; U+ @, ~; |2 v/* set default diags mask */
3 {& ?# n5 Z, R7 l+ Pvar Diags = xdc.useModule('xdc.runtime.Diags');9 z+ u b. k; f
var Defaults = xdc.useModule('xdc.runtime.Defaults');
) d+ S x6 ]3 C' Z) D* L" h/ F+ \5 [1 i
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- q, \7 e' M" G! I+ d
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& o6 H, `; t2 I( d9 m kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
]1 z. r* a4 f, X5 r/ c! wDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 C- }+ C% e O1 }8 U# v! [
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- M. b8 o R- B5 |7 u5 R
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' x2 U4 ^! w: p9 K, sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' J: `7 z& t: `* F( q/ d+ J6 GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- C4 {8 s- j; a0 d& _ ^
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* d9 H6 X: h; `" \' LDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ N, p! l5 @0 u# D: v" fDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 L; B d ]/ P) t$ B
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
O9 h9 `' \! [' H* c# X* bDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;# j" y6 }' E7 E5 e7 W2 D
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, I: I0 l5 T8 |) F: c4 H) F2 j
( }) M7 R2 u0 v. U% h U" s' F1 Y
/* override diags mask for selected modules */
/ u9 t, |7 q+ b/ Jxdc.useModule('xdc.runtime.Main');
* O' j- Y" [# C% i8 QDiags.setMaskMeta(% A+ d5 r q8 k$ K
"xdc.runtime.Main",6 @. W# z9 v: M
Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 \( Y, e# w7 k6 q9 D6 } Diags.RUNTIME_ON' u/ A1 z) Y5 s' ` @5 ?
);- G& f$ q" g m. x% `; u) I
! n* S( U6 Q3 e, U* @/ W* f- i* _6 _
var Registry = xdc.useModule('xdc.runtime.Registry');
- D6 B; Y8 ]* V( T8 aRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ R1 T5 i9 w% ~7 s/ O7 NRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;- }3 z' G" m: P7 D5 p: X
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: N! p& Y3 @) F: y% }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;% a2 G" {4 ~0 W0 p
0 e6 M3 ~+ M2 D! v/* create a logger instance */
9 a0 d2 k% ~4 `: Y+ tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ D3 q4 B# q3 w- Y K
var loggerBufP = new LoggerBuf.Params();* h! \' z7 |& J2 I
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 m2 b7 q2 H0 ^. k; W6 b/ _4 q$ _8 GloggerBufP.bufType = LoggerBuf.BufType_FIXED;
. Y% o" r! p! V$ e
6 c& \0 Z) D$ \: V9 lvar appLogger = LoggerBuf.create(loggerBufP);
( x' ]( `6 r: \9 GappLogger.instance.name = "AppLog_Core1";/ R2 P& A1 L1 K" P# T+ S
Defaults.common$.logger = appLogger;
; `* a9 l8 R7 e4 D3 r/ X: c) rMemory.defaultHeapSize = 0x8192;
" O" j9 y2 a& h4 u0 R* o' w3 XIdle.idleFxns[0] = "&LEDStatus";/ f% b3 z! @2 M1 r6 E) x
Cache.initSize.l2Size = Cache.L2Size_32K;
4 z: x o N+ J
) m# N9 B) J1 i# e2 ?. e) z* N |
|