|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 D6 x: K/ P! n" r$ R" a/ b! z
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 u! |3 r2 ]$ X$ a% J5 _+ i3 t- a w
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- J% B D' P# `+ F/ l: O9 X- z1 V# W1 R1 W5 x. g+ D
是不是需要在DSP.CFG中进行配置+ P, x$ w( C' ^* x/ Y/ Q* c
我现在的配置为! K1 ^! s. f, Z) |& }+ C
, A. R. a# ?2 ^( w- W7 R/*
# C6 H+ U2 I1 _: s# O+ } * ======== Operating System Configuration ========6 \0 z, k" D5 a `
*/
6 k9 }, L4 [* C
9 I z) M3 D) K' T/* no rts heap */2 H0 i8 ~( d' k. _8 N2 R3 T/ f
Program.heap = 0;5 S! D7 o d/ Y& I
Program.argSize = 100; /* minimum size */
& w2 l; m5 }* ^0 e' j; x* JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大; I6 W6 K0 y& M ~- h! K: s
7 Y+ D5 j+ M( k. L3 v# d/* create a default heap */
. _4 B5 P( N# j. X! ~$ l( Xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); T, j ~9 G! t7 U5 z
var heapMemParams = new HeapMem.Params();5 }( k8 G$ S2 ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
4 r: X W, f6 z, v9 i# {/ [- Q* j4 ^; d/ X
var Memory = xdc.useModule('xdc.runtime.Memory');
3 s) y. d, p3 _) O, WMemory.defaultHeapInstance = HeapMem.create(heapMemParams);$ i" K/ t' b- {6 `- D
! r. x. m7 \! o4 u5 D9 B/* configure System module */
# z2 k0 v6 q) n6 s9 n/ Avar SysMin = xdc.useModule('xdc.runtime.SysMin');: ?; c- e! U. ?4 A; s* M
SysMin.bufSize = 0x1000;
# C. V' g# ` X* O7 w, ], J! xSysMin.flushAtExit = false;
9 j/ J, \4 _; W e7 r" N& g
2 F& S; P0 X! f7 t/ w; Yvar System = xdc.useModule('xdc.runtime.System');% F/ O4 `! S; e( {3 V
System.SupportProxy = SysMin;
m' n( k0 f4 r# |# x+ i1 E. o9 o. J+ V% h2 H
/* configure SysBios to use the lower half of Timer 1 */3 ?% Q, M& u$ N" E4 |
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ @4 s: n9 z7 }; f
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
- y+ t! Q; o' t4 N* oTimer.timerSettings[1].master = true;: u8 D' \. r" l
Timer.defaultHalf = Timer.Half_LOWER;% \: |& Q5 y) ]+ S- P
Clock.timerId = 1;
" C1 O7 w" i- d8 N. t5 O, z- l
r4 L0 F* a' U8 e0 v4 n4 m3 W
: v1 W {& [; r: ] F/*; u9 t1 V& l9 q. e, T
* ======== Miscellaneous Configuration ========
7 }2 j: ?% }( S0 l */3 U x% |+ a. o6 r+ W1 ~
( k2 ~0 E! J0 D/ F" O7 }/* set default diags mask */
7 A4 o/ Z# U& O/ {) Evar Diags = xdc.useModule('xdc.runtime.Diags');
* H7 T* N/ ^# _; p/ xvar Defaults = xdc.useModule('xdc.runtime.Defaults');, G' l E9 b2 c v
: l/ H& [; J# I9 V/ V0 {0 u9 b% rDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* _; U f) ?: ~+ r% t7 b
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! i0 v+ d- _9 dDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ C& f* ]8 i2 W8 h& {0 J- UDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& D* }2 e1 t2 z P6 \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# w# |! k& Y, ]4 H
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" j0 P7 ?9 I4 M; o" L- \/ uDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. w4 H: n! S5 j2 ]( m5 P2 a* }Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: _- O m& |" P9 a! M$ a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! v& F4 s8 g* ?/ B! P5 a! E
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( a; y1 h0 q, v) _/ XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- n" G' @6 A( H% T/ c8 \" b
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* p6 z+ C( r6 f" P, s9 ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 d( i( J$ { E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; t+ D, {5 S5 c9 }6 O5 J$ P
3 H1 l/ o. N0 a) M' e/* override diags mask for selected modules */* a- t4 e) t" q; W/ o
xdc.useModule('xdc.runtime.Main');8 R5 b& m( d; P! ]% h' A
Diags.setMaskMeta(1 B2 f( _- |( `* x
"xdc.runtime.Main",
9 d4 e- F- V6 h Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ ?' F; v; j. w Diags.RUNTIME_ON) {- U. A$ H4 @& V* F4 `2 b
);8 @$ n7 l& R& D7 q4 s+ R% W s& J5 |
, m2 v" R! f. b+ I( ^ `var Registry = xdc.useModule('xdc.runtime.Registry');3 ~! P7 @0 U( b1 [& |3 y/ v! O3 c
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ k, C& |' V/ p9 j7 ?' |Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( A4 c% k/ v6 Q+ XRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* q- o% I% _( D- v( T/ ] O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;, y( @: m* b: f) \2 X
! H+ G5 m0 Q" w( w0 c$ V3 S/ f3 }4 ]+ A
/* create a logger instance */
?' M8 ]; _9 Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');7 k! A' S, @' s5 @ W7 Z
var loggerBufP = new LoggerBuf.Params();1 I( c/ F" H4 ^/ D3 p9 P
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 U8 Z: L, p6 v+ Q1 l# wloggerBufP.bufType = LoggerBuf.BufType_FIXED;4 b) |% {8 F; g- B( u" s: A
/ F D( W3 `, [% x! s5 Q" v( [
var appLogger = LoggerBuf.create(loggerBufP);
2 @, p6 v7 N; N7 s, tappLogger.instance.name = "AppLog_Core1";2 X+ E1 Z4 Y0 J7 J
Defaults.common$.logger = appLogger;2 y# v+ d: J. M! l; w
Memory.defaultHeapSize = 0x8192;
5 B z$ O8 P" O7 g: W' S4 Q: V W9 jIdle.idleFxns[0] = "&LEDStatus";+ U/ s9 O1 k1 H s( H/ ^
Cache.initSize.l2Size = Cache.L2Size_32K;
* ?+ I% ?$ i. q5 j6 { t3 b* K& b" _8 N
|
|