|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 f o, ~) t0 x% A* F7 [1 ~$ }我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# \6 }& d4 @ T, K(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 H2 [5 z9 B1 m4 c4 w& G5 k. r
$ y# [6 G, V3 v* q是不是需要在DSP.CFG中进行配置- l) g! _' ]9 I& e6 E& a
我现在的配置为* W9 C8 j# Z9 ]0 H( {" K$ D
0 y/ z* E( c! |6 B; |2 W( T1 x
/*$ B) t8 b3 v# S: a7 U
* ======== Operating System Configuration ========
$ L9 Y* X- a4 p" x9 S */
* ?+ d6 q( j3 [/ [) {! b$ @
+ N; t& _' V) h/* no rts heap */' ^3 U( u- @. G: P
Program.heap = 0;
* m7 r+ s! R0 J4 dProgram.argSize = 100; /* minimum size */- k+ z9 C* l4 J5 {2 Y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' @( K1 F2 b. P7 J, h9 r! c+ }* G4 _ F1 k, H4 R P) b* n1 X
/* create a default heap */
7 ^7 f# ^: v, a5 {% Q9 |var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# E+ _( v2 K. {" s+ N6 t' {var heapMemParams = new HeapMem.Params();( \. A/ F) ` h4 U# u
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 G E- J4 f- ^" z5 I2 V2 }+ i/ S
4 |; w" B( b( K9 Bvar Memory = xdc.useModule('xdc.runtime.Memory');& ? b+ h1 r" C. {& o( [
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 X8 [8 r; m, |* U, x8 D C5 [/ z
/* configure System module */* _. V. z5 {$ y! f1 j
var SysMin = xdc.useModule('xdc.runtime.SysMin');: \' u, r; w- ?( F
SysMin.bufSize = 0x1000;* Y- T) R/ f) U- H
SysMin.flushAtExit = false;. y& N |0 p7 o
0 X4 Y! P7 x- u# _$ c" O3 Avar System = xdc.useModule('xdc.runtime.System');9 r& n1 }7 F, T4 e4 @" n. c) ?& ~7 U
System.SupportProxy = SysMin;! V G) ^& a3 r% V$ _" u a
# V: `) F( A( Y8 `; l* z& n; ~# o/* configure SysBios to use the lower half of Timer 1 */
9 u9 t4 W9 W# |' vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 `; o8 g3 F9 ~/ Q. s& R
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ P! R q4 v+ d, ?3 b* U' NTimer.timerSettings[1].master = true;
0 @. t3 o2 n2 b1 Z' Z8 r1 Y+ YTimer.defaultHalf = Timer.Half_LOWER;
/ H! n9 T* _. X1 v% P7 |Clock.timerId = 1;
; k9 _5 A# Q. {& ]7 O/ Q" L; i+ M1 o$ ^- @' V- l8 Q
8 I1 T( F7 }2 d0 Q2 W0 D- B/*# | |3 `" x% ~9 z& C6 }# _! T
* ======== Miscellaneous Configuration ========8 t+ K$ G' q2 u% `5 R( z2 I
*/
7 o: G% i3 ]0 z0 a2 O. U2 \& [
/* set default diags mask */
7 q, h+ i: |' a/ g& [6 O( Fvar Diags = xdc.useModule('xdc.runtime.Diags');
. Y+ A$ d- x; U' y! {+ f" T3 S4 uvar Defaults = xdc.useModule('xdc.runtime.Defaults');5 _" D: s9 W, D2 k r4 F
) ~, L1 G' }! Z+ K% f* K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& B0 D7 S# |1 M6 d
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 B, w( s. @+ Q6 }" X9 E; e7 Q( n
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ N/ N( Y9 n' O1 a1 V" z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 W& C$ t2 K7 g r3 D' L+ M: k1 }5 J
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 W: R" o: x1 b% v3 Y! x8 ~& EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;, k% d$ D6 }( g. `. D: D
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 G8 G/ K# K P% W# L; a4 |3 s- u2 ADefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 z3 q9 w( X1 G, e$ z$ }5 i5 ]Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;* ]& G, W- j/ \0 {7 c' M9 T
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. Z' Z2 P3 K' r- \Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ A( x8 T9 L2 }2 f. w2 U
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# t, c. r# @9 v$ \% s; ]. ]
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 d, F& W4 J4 f5 H) fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 w. |9 Z0 `# m( H0 X1 g G6 v9 t
/ t+ |6 O6 [- |2 U/* override diags mask for selected modules */
& \. X. a- F# `$ {xdc.useModule('xdc.runtime.Main');
9 }( C8 R7 `) u# o* `Diags.setMaskMeta(- N6 b8 e# T$ V- a+ ?# F8 R' f
"xdc.runtime.Main",
/ b9 }0 h" X; F# w: ^$ Q+ a Diags.ENTRY | Diags.EXIT | Diags.INFO,4 N: z) c( D3 v" P! Y
Diags.RUNTIME_ON
6 x9 z. ?3 b2 \+ z });! z h$ q2 N4 H, D+ e
7 W6 N3 ]3 f1 V" L, I$ H* o" J; evar Registry = xdc.useModule('xdc.runtime.Registry');9 b9 y1 k' U: N9 B B4 k
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" r) t: w2 {7 N0 C
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;' M& T# {. d" d7 Z0 Q1 P
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# f% f+ q1 n0 {& P6 Y6 R0 hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;: W2 O6 N+ N# X. C7 | @' d
4 c4 s5 I5 v6 _" p2 q* m/* create a logger instance */
( c \/ Y S9 @- p7 }var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ K; d/ x/ g, n, C" Ivar loggerBufP = new LoggerBuf.Params();
/ S+ j% g4 W3 ^6 j! @, M/ \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 k8 r( ]4 i/ h: ]/ T1 Y- g4 h. s% \loggerBufP.bufType = LoggerBuf.BufType_FIXED;
l- D6 {' P% ?. A/ V$ V& C8 r8 H; S9 Y5 }( ?2 d3 ^+ o
var appLogger = LoggerBuf.create(loggerBufP);$ Y. `8 Z3 T% p0 `- {
appLogger.instance.name = "AppLog_Core1";& H2 n1 H, M' F6 @5 a8 K
Defaults.common$.logger = appLogger;
9 [' g: z3 ]5 m9 V5 V aMemory.defaultHeapSize = 0x8192;
; {4 I8 v3 t7 uIdle.idleFxns[0] = "&LEDStatus";& V2 h) }0 ?$ F$ t: }6 t
Cache.initSize.l2Size = Cache.L2Size_32K;8 Z- t- u. A* B. G |
+ v* y" |* w6 {/ o |
|