|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; v0 u5 K$ Q' ~' w) X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; E1 z. Z I+ q- F(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ _. b8 m( c# ~9 r" B; W+ _7 a" ?9 n& u) r2 W8 w
是不是需要在DSP.CFG中进行配置5 c8 |+ o2 V$ U" P
我现在的配置为+ h( L4 U+ C4 c! \4 R
* O: @" c6 t* G) h* b
/*) _# X4 b3 H; l. X
* ======== Operating System Configuration ========
" }: ~" p7 J* J% i */
9 R4 e w. p4 r8 S: z9 z1 z
' r9 | J t1 r7 H& X# B/* no rts heap */
/ ^) d/ A E0 ?0 _' eProgram.heap = 0;* Z. E2 K5 m. K; @# Z$ k) o
Program.argSize = 100; /* minimum size */# ?% i) l% R. f! |& _5 |4 c
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- w4 K. s0 O. ]+ H6 D3 D" G. O* Z- p* c" E3 T# d
/* create a default heap */) ]( i4 w+ x% s
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; l9 R5 d" _. ^0 D* Q" L0 O9 j
var heapMemParams = new HeapMem.Params();
8 Y3 B8 d' o/ \0 O& NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 y: ]# G/ p$ r% _: [: V! ~% R Z8 i, q) W6 W! E/ E
var Memory = xdc.useModule('xdc.runtime.Memory');
% \# Y" s4 s" \- ? ]! L9 LMemory.defaultHeapInstance = HeapMem.create(heapMemParams);! C4 c2 M# R! a; J; A: L- u2 P* ?
3 K; h8 q6 x+ @! k- E6 D/* configure System module */8 S2 a4 I7 x$ a" y. T+ a9 C
var SysMin = xdc.useModule('xdc.runtime.SysMin');1 s: c. ~8 Z" s* x. K2 E: _
SysMin.bufSize = 0x1000;+ R9 p0 Q( }9 {! t# H; m1 r$ z5 J
SysMin.flushAtExit = false;# X1 V3 D' Z9 r8 c ` Z) Z+ f$ w
# O$ g7 X6 Q; G. p3 B; Dvar System = xdc.useModule('xdc.runtime.System');* O0 U' f+ H2 e
System.SupportProxy = SysMin;
4 c4 k9 Y C; G! W% |& ~. Q3 u% w. |' L9 g7 H' i2 V
/* configure SysBios to use the lower half of Timer 1 */
4 `# M0 g6 d- x" W; @6 S: _9 ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* B8 B: e& D1 y4 l7 S }% }+ \" M9 o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');9 e% U, Y# ?! k$ X6 Y9 v
Timer.timerSettings[1].master = true;4 c9 |$ R; ~) E+ o, p
Timer.defaultHalf = Timer.Half_LOWER;! U5 K2 x+ \7 |
Clock.timerId = 1;4 ~5 v' U, K5 H; _
) G; }/ Z+ o' x: Y
. Z/ X+ `. W- x9 x0 j4 K
/*+ b# l) N+ W3 ]
* ======== Miscellaneous Configuration ======== D* L9 }# }1 m* q H( p U
*/
5 G% p$ f X ]3 L, s* U; T0 T! i' d1 L; h, g
/* set default diags mask */8 |/ x' H3 ], S- A3 T/ a5 p' s- P
var Diags = xdc.useModule('xdc.runtime.Diags');* e1 J/ [) t' ^& q6 V) W2 h( V
var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 M! t8 |* c4 c; y# K) j7 @; b. b: N0 [% E! P# {
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" W8 u+ e/ p4 x1 ~/ d4 d3 v# r
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- D9 T. j) U% v0 l! uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% a) Z6 d2 i1 h% IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- u$ S) L! D k8 b, }! M( }0 fDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' U' B8 Y4 B. f* `1 _Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;( B* _( p, F& j9 g4 N% n
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;0 z$ n6 p4 w o h
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 }' E+ s$ A- Y: j
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. m2 I/ B# N% w! D& h
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- W5 |: O2 [+ U. c
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( l( P3 i. B. K( [
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 D( K& d! U8 p& EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;& f3 o$ [: E. t" X
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; M: v$ j2 Z7 E7 B2 a1 b; z/ A
6 W6 O N- S' A+ e/* override diags mask for selected modules */
2 r( n/ m4 C/ R% y* Bxdc.useModule('xdc.runtime.Main');
4 K+ g/ Z: s& u! ?9 a) QDiags.setMaskMeta(
) ]0 c% B+ g* l, o6 v: P/ A "xdc.runtime.Main",
4 t6 u1 E- T2 `6 x Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 Z8 y2 k: ^- w9 [ Diags.RUNTIME_ON
2 d6 j9 z1 P7 `/ W5 W/ ]);
, G! }+ R l8 Y6 T2 ]3 O. |: K" W" S: Z0 J+ w, r
var Registry = xdc.useModule('xdc.runtime.Registry');
9 e% Z: I; Z7 Q% S! R0 {# r0 I& rRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. e/ c& n" ]' `: O' ^& f
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;& k8 ~' _: a1 `0 {
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 W# M0 B6 @" S: d0 a2 {/ yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;. R @2 \, @: ]5 ~3 n& ~" c) z
9 z. r0 z9 P7 ?8 _
/* create a logger instance */
7 [+ h+ Z7 K5 fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 ~0 }, ?9 |3 ]0 g5 Fvar loggerBufP = new LoggerBuf.Params();
. g9 h. x' l8 b% S% _5 LloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: G& Q, f0 x5 m& t1 s$ t& U/ C, x# \loggerBufP.bufType = LoggerBuf.BufType_FIXED;( B* E3 m1 M: x* m: ~5 W% z
& u3 X5 _7 V j6 k8 Z$ g7 uvar appLogger = LoggerBuf.create(loggerBufP);
4 v: C! ?$ h0 q2 sappLogger.instance.name = "AppLog_Core1";
# f% U( \/ Q. J7 n9 l4 ?$ ]# ]Defaults.common$.logger = appLogger;6 Y2 ~# C- C, S! `- c
Memory.defaultHeapSize = 0x8192;
, |' K8 ?/ m. ]. W: v0 y- y' p3 MIdle.idleFxns[0] = "&LEDStatus";
% m4 t0 H3 O; V; x" r. aCache.initSize.l2Size = Cache.L2Size_32K;( U8 z4 Q. q3 M" Y* t! G
5 N* `* e# L; { |
|