|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: B L3 a M' s" G; ?" D+ A3 `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* b) \ T; R; \" }
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, f1 _; ?. @3 j" K( S/ A; t
6 |% y: J- c; s/ ?/ n+ I是不是需要在DSP.CFG中进行配置; ?! z1 Q$ R! [5 }8 Q) P. V* z
我现在的配置为
5 ?. y) P1 I5 @+ F
( @6 G% j- n z9 A+ Z/*: o, K6 V1 ~# d# d$ l7 J2 Z% t
* ======== Operating System Configuration ========. O" d) T y4 p. l
*/* w) e; o0 n4 z s" v. [
& s2 x# h7 \$ \, D' Z% o
/* no rts heap */
# S) R, L. Y. Y* X+ @) y5 {Program.heap = 0;
K4 Z+ p3 g) {) t8 ^Program.argSize = 100; /* minimum size */4 E" I" l( v0 Q( D- V
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大8 y" o4 n1 |( y; J0 K+ D
5 U+ n2 e7 ]' v/* create a default heap */( q( t, O0 w5 F' C4 M1 I N$ Z+ p6 d
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 i+ |; {/ _+ x) \# ]; E- a
var heapMemParams = new HeapMem.Params();& l$ h2 y, C: K& k# c5 N
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- W5 Y5 y. D; e6 ^
+ R: w, B& z8 v' v* evar Memory = xdc.useModule('xdc.runtime.Memory');& n0 d2 u0 D2 I# e0 f
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ }3 b0 D; V+ D C
: {+ c' J0 B: |& U) x3 j7 Q5 o
/* configure System module */7 G2 N( d/ o4 E# a' U# `9 Y
var SysMin = xdc.useModule('xdc.runtime.SysMin');
) x' D$ L, K3 \7 tSysMin.bufSize = 0x1000;0 j* R3 _! a1 F* R v; w& ?
SysMin.flushAtExit = false;
. }; b+ h* z: u
) ]: S' {7 @2 w% O ~var System = xdc.useModule('xdc.runtime.System');) \2 r# f B: r1 z
System.SupportProxy = SysMin;
# c' y5 ~1 o( I- U) b4 j i
# p, G$ D9 A4 y/ _/* configure SysBios to use the lower half of Timer 1 */
' ~8 B4 \/ H1 j2 Q6 nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); q. s6 X, r$ ]6 q# a! W8 p5 r
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
. a7 Q: @2 B4 @, F4 ?Timer.timerSettings[1].master = true;
- o5 ]7 M* C# d5 H6 S; ETimer.defaultHalf = Timer.Half_LOWER;
. y5 w, x& Y* _# D& n$ a' \/ IClock.timerId = 1;8 f* ]! r1 T, G6 E! k3 h
2 K( K% @5 l1 c/ P( r2 [. T( ^8 m: g5 A5 @3 A% O! M
/*
, o! S$ _4 R- \3 a; P4 d: ~ * ======== Miscellaneous Configuration ========1 q* s* x3 H: S& v9 y+ k
*/
+ c6 E- @) }0 {. T. A( |; u. x% J8 s0 j
/* set default diags mask */; f/ n# ~2 ]1 `9 \
var Diags = xdc.useModule('xdc.runtime.Diags');
2 S( |; S- H# ?+ ?' A ivar Defaults = xdc.useModule('xdc.runtime.Defaults');* Q: ~7 Q$ i/ I, Y2 ]: `
- p& p' R0 g& e) f" ?6 {
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) |- l w/ y3 I* h% J
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; Z8 P9 P- y7 C. L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; ~: L! P* y8 r. `
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 J! f: g: A! {& d h3 P6 |
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 S9 u1 {$ i/ }. K$ ~; xDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 l, Q2 h3 J% ? T: x) u% F
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
3 U, `- V- z: GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* A5 f+ b! L& e( f/ b' LDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& n( b9 ]6 e, @/ p0 S% }
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 D1 E" j2 [9 ^0 f4 ~8 i; f8 |% _
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 J) c/ c: w1 ?3 {, B
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ O8 j3 F+ q6 E( `, P' w: PDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;, S# W: p `) a/ e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" _: U7 C+ z& ]1 F( K
$ b1 a* e' T( H9 E/* override diags mask for selected modules */; w6 W9 A. R* e8 H
xdc.useModule('xdc.runtime.Main');! y& }% n: L9 e, ]% g* V. r2 Z
Diags.setMaskMeta(
% h9 m5 D3 C9 v6 p, n0 U7 x6 P "xdc.runtime.Main",
0 i; c, {( n7 A8 d% A# L% R1 ?: u% L Diags.ENTRY | Diags.EXIT | Diags.INFO,8 s( f b; E! ~$ w$ i/ H3 D
Diags.RUNTIME_ON
0 A/ `( A+ K4 j2 g" I);
3 k7 g; i- z5 t( n$ Z6 u) k$ L+ @5 E" G* U. L( ~
var Registry = xdc.useModule('xdc.runtime.Registry');
l) i5 x. U4 g% Q) lRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;8 c1 M/ P5 c4 e/ F% a; r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" O8 ]3 z( z q: Q8 yRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;4 s$ o3 y$ @0 e6 y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ n3 `/ q2 v% k' r; E6 o
8 V+ F' v5 s$ ~$ [
/* create a logger instance */* I( E% ^8 q" S4 H( B+ ?8 ?7 v. b
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) E K! G% t, G: j/ h A5 }var loggerBufP = new LoggerBuf.Params();
" [7 `; M& p/ B) ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 Z. Y$ N) ~/ n/ O3 t2 e# P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' s( H% \, }* {! E4 w4 v/ }9 h% d: d5 k9 Q
var appLogger = LoggerBuf.create(loggerBufP);
5 r) y( L4 Y1 Q- S' i& e# u D: c# jappLogger.instance.name = "AppLog_Core1";
) ?$ _- i% S# h5 j. O- gDefaults.common$.logger = appLogger;
# l& e5 ]5 u1 U6 r5 o7 ~ ~Memory.defaultHeapSize = 0x8192;
5 N) V& W% M# y) O* h4 @, aIdle.idleFxns[0] = "&LEDStatus";
8 @# s3 J* X m+ xCache.initSize.l2Size = Cache.L2Size_32K;
5 C- i9 r: |+ h8 V) c& a1 r0 A1 B: n" n4 d
|
|