|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 H7 q* N% n' Z/ M/ Y; n4 Y我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 \+ C+ [: ~1 I9 G& K+ [
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' D) D4 V& Y( y! d1 {) c* m
V+ r# L- o3 O2 e# d1 F
是不是需要在DSP.CFG中进行配置
1 z5 ?. R% m/ I5 `% n$ T我现在的配置为
0 Z7 w4 P' W( V
& S: q9 o9 w _* ]" j. n8 q/*9 U- N1 j$ P1 }
* ======== Operating System Configuration ========
5 r2 @% r) ~) j */
3 W0 c- x, Z4 ^ U% p8 t7 L, f" o6 h& @
/* no rts heap */
, o# P, v$ X# NProgram.heap = 0;
, t, c$ f# k8 c0 \ o; OProgram.argSize = 100; /* minimum size */4 z0 z |- ~6 U A
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, Z" Z, |& H8 C4 x. q" E6 F! P2 ]5 Y7 j
. N$ A; ]" M' H) ]9 g9 F/* create a default heap */
* x6 z1 e6 O3 t6 g, L& O3 xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 P1 _% [5 u2 y* K3 n1 ]6 ivar heapMemParams = new HeapMem.Params();* ?" M5 C0 H- P& y7 Q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 m8 i, z% B9 F) [: E; g
0 Q! I. F( ^7 B+ Y7 W4 Tvar Memory = xdc.useModule('xdc.runtime.Memory');! ^, }. n7 g8 f* v0 c$ Y# z% _: F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ F, r3 n0 ~$ n
! t6 M) B% M, E/* configure System module */, y! V! G. h2 o, W/ A% @
var SysMin = xdc.useModule('xdc.runtime.SysMin');
5 h: l- z' \8 z3 j/ VSysMin.bufSize = 0x1000;
y, E. F4 g; K0 ISysMin.flushAtExit = false;. w- i& A; a) S. u
4 q7 D' V% ?. v) z: b: J. Z
var System = xdc.useModule('xdc.runtime.System');
2 X$ I8 A G' |; { x1 KSystem.SupportProxy = SysMin;
8 v/ c* J2 g8 G1 u( b/ h7 _" s! c% Z& m7 L* M3 l' D
/* configure SysBios to use the lower half of Timer 1 */4 a8 c% h/ v. G5 u: M
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# V- V& a/ x) A5 w3 @% Z0 d7 V
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) U! ]" U$ B' r B$ L
Timer.timerSettings[1].master = true;. f1 P, ]: o7 ^3 y8 I" h0 Q
Timer.defaultHalf = Timer.Half_LOWER;
1 d: R9 m+ l8 l9 s4 eClock.timerId = 1;* {+ k% _* P' ~7 j
+ O$ B# Y+ Q" b+ y$ t o) e& Y4 I/ v' d$ i1 ~( Q* u9 R6 `3 L. E
/*5 }3 h% Y: _0 V: e; P
* ======== Miscellaneous Configuration ========; R8 t5 v8 N* t0 _) G) r& T
*/
: S5 y% D* H7 G7 D* l/ E
4 s. f) [$ K, `/* set default diags mask */ W( m% I3 S0 V) t
var Diags = xdc.useModule('xdc.runtime.Diags');* q8 z( ]+ }) X4 b
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 T, Z: z d6 i6 c8 o& t2 N8 u2 y `; r$ {+ R* _
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, ~7 p% o( q7 s5 D- w0 P
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. \: A6 Q! Z7 n) @9 _Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 d% {* ]4 w$ N) B N+ Q7 G) z$ a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// Q _* x5 P$ S( ~( F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: u+ j+ t8 g2 J# j8 c3 A. M8 I
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;; @$ Y9 `. P4 F+ a- w! A1 A D. D. w. L
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 U1 ?1 G' t; ]3 N+ q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' M. [+ q; N: {5 G% t- ^% tDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
: e& Y; v$ _7 vDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 K, v* x! j, yDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 |0 T4 ]0 q, _
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 P' l& C! J/ I6 O& L7 o
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% R3 d9 l3 {' R7 S
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;5 q+ k! ?& }& ~. A5 v! I
! G v/ o: \- |; B- ]! `
/* override diags mask for selected modules */
) b4 @# ^3 r @4 @/ I# Q1 H5 bxdc.useModule('xdc.runtime.Main');
" ^6 p6 P) }4 }( p( `Diags.setMaskMeta(. l+ ~- D# @/ z, L
"xdc.runtime.Main",
* A' O' @3 u: i# f. ?7 B Diags.ENTRY | Diags.EXIT | Diags.INFO,
; {, g B; } X; K# ]( l$ p Diags.RUNTIME_ON
' v! {% l7 x& h);: a" }6 S3 X9 W3 H' |" Z1 N1 _
! m& ?/ g0 E7 @( G- g; b( Cvar Registry = xdc.useModule('xdc.runtime.Registry');5 L9 ]' ^. A% D( E& Z3 `
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ T7 t [% ]6 V: N+ |: s
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 o3 l3 T- q; H5 bRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
) n: _; R9 \! _; ]& f) ? }: M) HRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 T% C" H; }. y: z! V; |6 J) r
5 I. o7 ?9 j$ b& ^/* create a logger instance */
! ^1 l) D# M* e. Tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ D4 n" F8 b9 j. Jvar loggerBufP = new LoggerBuf.Params();
2 P! i6 L( Q& y( XloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, l9 \; q8 Y* b: l
loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ z' o9 Y4 J; L: y0 J5 p
l# X! |0 A- Y" u0 z0 \/ h3 g
var appLogger = LoggerBuf.create(loggerBufP);! e$ C/ v' ~ u: Q! d
appLogger.instance.name = "AppLog_Core1";
* U# {* B3 z* fDefaults.common$.logger = appLogger;( _3 r" e1 ^) Q
Memory.defaultHeapSize = 0x8192; + z/ ]$ |; d1 d' w; J, ]
Idle.idleFxns[0] = "&LEDStatus";5 U7 f% g# E _ z! j
Cache.initSize.l2Size = Cache.L2Size_32K;3 B7 z) c& r$ d' X
, k2 r: C1 w9 ^' X: K5 X$ z1 b+ b
|
|