|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' V/ Q7 d# [6 C" B我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* i4 V. q" O# L3 A9 G4 [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# I: l' G2 [* S( G
* c- {2 o. I' Z4 k是不是需要在DSP.CFG中进行配置
9 t- g. x8 g! o$ |我现在的配置为
5 b0 E# W+ [; o$ z8 w+ s" j# V0 D7 h2 t) Q5 X
/*6 x+ g% ?* w( K Z+ a) o
* ======== Operating System Configuration ========
* i; j0 o- u" l4 Q, I* b6 q */' E* n4 I8 X. e) V, \! e+ c' b. K
/ @. r1 ?6 U- ?5 @+ @1 n
/* no rts heap */
% G' X! U$ P, d* e- ^# R, f% |Program.heap = 0;
& e4 I/ b2 Y( T: g/ wProgram.argSize = 100; /* minimum size */
. U' Z- s- e' pProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ r$ x1 G+ F8 p2 v+ v7 ^1 y/ q, x3 y: u6 e
/* create a default heap *// R& b8 k9 ?! Q; _# O* g+ _! ?7 M
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 g# v1 A3 k2 D; T0 C% S
var heapMemParams = new HeapMem.Params();8 x4 V$ S. V2 H, K$ Q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
4 w+ n7 T3 \ i% G4 s. A# ~% p4 `" l& a) I7 D
var Memory = xdc.useModule('xdc.runtime.Memory');
1 O2 A7 H0 F" d8 [8 QMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
( i: D& L8 X% v: g* f2 ?
: \& [+ j) d" u( z7 [/* configure System module */
& g% r; A+ t+ v: m# B* B3 Z' `% H8 fvar SysMin = xdc.useModule('xdc.runtime.SysMin');* c, \: u" P, E; [
SysMin.bufSize = 0x1000;
6 {& B5 h5 i) |) LSysMin.flushAtExit = false;$ i; |. a5 j8 t" B/ N
% a$ U; q4 T$ Y! k0 L* P5 U( ivar System = xdc.useModule('xdc.runtime.System');
" S! R% G& i& q, y, ~System.SupportProxy = SysMin;
' a7 {) f& m; ^% |+ S) a r$ E! O1 T6 e* d% H \ m1 m/ r
/* configure SysBios to use the lower half of Timer 1 */
( M8 @1 J' X; l: `var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( g3 F6 b' ]( E P2 ^* L
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 H4 a# z& a" J$ _Timer.timerSettings[1].master = true;7 W; X) v$ {8 C7 l1 M2 ?
Timer.defaultHalf = Timer.Half_LOWER;
# _2 X* T' R% v t) I7 aClock.timerId = 1;& A+ H2 G% r0 z
7 x: ?9 L( R0 i
. d( ?' J6 U2 a2 d6 V
/*3 i4 \% u6 A; z& {8 n
* ======== Miscellaneous Configuration ======== ?) M. F' B/ h8 k M" y
*/
- t8 M9 B, Y$ A1 u& U( H% c% ?" p* y3 `; r3 ^) z5 _& T
/* set default diags mask */+ y' R! m1 e A u% i* H: {" W) m! o& V
var Diags = xdc.useModule('xdc.runtime.Diags');3 K; m! t( z: K d
var Defaults = xdc.useModule('xdc.runtime.Defaults');8 q: L' s5 j; f( g; ^# @
- w8 \ i5 k7 n7 m& G+ }0 eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ d1 [' ]: K7 A0 b
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ @+ z# A4 G5 {& \2 W1 VDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; k/ Y8 |1 t9 y& [* m) }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
, l w! I Y9 g0 E6 nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 I' |- }0 o# h) TDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;% V- J0 m' y0 S3 m) l
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 W6 ^ Y, M- m( `& J# UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 x& {" T1 D! _
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, e6 e. p. L& E0 G" hDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! _/ C8 g& n: V3 P( y9 d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& u+ b5 A J* E7 EDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" f1 A6 i/ q& U1 j6 W: ~/ \- n
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 V8 ]5 o" R$ ~0 o' v
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ E2 |/ C" z8 w/ y8 f4 z9 n
' ^- b F0 ~4 c/* override diags mask for selected modules */
' M7 w- ], G4 {5 c1 Uxdc.useModule('xdc.runtime.Main');
0 k8 a* M) ~5 A' PDiags.setMaskMeta(
3 Z7 ?6 p2 u- B- i "xdc.runtime.Main",$ h" v% r& ^- r
Diags.ENTRY | Diags.EXIT | Diags.INFO,
( J L5 T6 f) T. g, Y: l$ k, ^ Diags.RUNTIME_ON
% a" N2 d* p' a& E- V& u);
# t* Y* {1 i j2 u/ m
& M. N' |* }$ M/ ]var Registry = xdc.useModule('xdc.runtime.Registry');) M. ]' f2 n- k' ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' O& t: e6 R0 _7 V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( e+ b6 O6 z2 I% N3 C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
! f& E) t C# C% gRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 ^6 l4 m& u @! ?* t
# a" r9 R' B$ K8 s) r" F( ]2 f
/* create a logger instance */
4 f( m7 d# T. s& zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 q( D" d' P7 ]5 X* v4 X* tvar loggerBufP = new LoggerBuf.Params();; @/ t8 Y! P5 H
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; Y, C0 [9 F4 `loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' ], O- ~0 w6 j0 l6 W# W* h* ~5 L' b3 _# B8 ]. C8 E" ]" f: [
var appLogger = LoggerBuf.create(loggerBufP);* q% }) y8 U5 C9 t+ ~ u5 k6 h( r
appLogger.instance.name = "AppLog_Core1";
* ^% Q+ ^3 z: ?' D3 GDefaults.common$.logger = appLogger;) r3 B% k( _& H: a5 @. o
Memory.defaultHeapSize = 0x8192; $ @( U: T/ _! l8 z4 |
Idle.idleFxns[0] = "&LEDStatus";! t3 F6 L" r# i' [
Cache.initSize.l2Size = Cache.L2Size_32K;& G5 g" b- s5 r1 v
& M; o- F0 G9 L |
|