|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, |: r0 i# Y; H+ R' z4 Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
1 X, L* q% S2 h% U L. V9 j. ]. G(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 [+ z# M: s9 ]. S
: I# f* d, k) v* j
是不是需要在DSP.CFG中进行配置) d6 u3 u" c0 h+ X4 G# M
我现在的配置为
4 O- p) u' F" A) l) V9 E5 q
+ M |% O8 y0 K/*
7 P* P' |6 o8 c; J/ E9 K * ======== Operating System Configuration ========
( H `5 n2 i# i2 H7 K( H */
8 ]! Z+ K. Z* U* C8 M; A1 x& c+ ~* [. q0 Q& y9 S" _
/* no rts heap */+ z' G( z: _: r2 J4 Q
Program.heap = 0;
- W! {+ }6 ]5 q0 ^) U$ k: g2 eProgram.argSize = 100; /* minimum size */
* o6 N* m0 K( dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
M! `: H; V A: W" W5 S* n4 i
0 x, D5 @% {& o! M2 |: i/* create a default heap */' _) [+ }7 d) z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 _& f! _5 F; i$ |
var heapMemParams = new HeapMem.Params();1 L3 W! v9 ~5 m& \/ F1 {
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 P0 N3 v2 V4 c- k& i5 F o
0 j" X9 |, V8 w8 F5 S; avar Memory = xdc.useModule('xdc.runtime.Memory');, P& B. |2 Y$ v3 S0 w
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
E9 p( H$ }- D( W7 X
4 D! z# }1 Q; U9 R9 I# t+ j$ I/* configure System module */
& E9 b% k- ~- p- ovar SysMin = xdc.useModule('xdc.runtime.SysMin');3 @; P" {8 O! T" m( h l) ]" {' r
SysMin.bufSize = 0x1000;
4 g) `0 W1 D7 X4 ~3 \, ^. t0 m. OSysMin.flushAtExit = false;
+ H C/ O+ @+ J3 S4 h" B' p0 b+ q* x
var System = xdc.useModule('xdc.runtime.System');
. `6 s+ S7 [, H$ C1 b- {System.SupportProxy = SysMin; X. D0 ^! }1 E- w/ t+ {1 d1 z% |* ^
5 k. \* S; K* r: }8 s
/* configure SysBios to use the lower half of Timer 1 */
, ?* O" M& a. O) F/ N4 Fvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- G0 B0 H m" Z" j( H* m# `var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, J# m3 |( l# }( ]+ _' l9 STimer.timerSettings[1].master = true;
5 A( ]+ W3 F' ]Timer.defaultHalf = Timer.Half_LOWER;) O0 j8 G$ S) Z9 @- w4 }/ Q; g
Clock.timerId = 1;9 g" V3 ]3 ?5 I1 L; P
6 X1 ?0 j6 K# M D
+ V1 V- H1 \* T5 A A7 \# x/*
, p. v9 g0 x+ g) V$ ? * ======== Miscellaneous Configuration ========! {; |: q1 k1 `& H9 _
*/$ I7 x: A/ r* U( E
6 Q7 \; r. W1 `( L
/* set default diags mask */
; C) P/ F D6 c1 n6 O l8 svar Diags = xdc.useModule('xdc.runtime.Diags');8 u% n+ m$ I6 F& \" y {: f
var Defaults = xdc.useModule('xdc.runtime.Defaults');: Z; G; q% n* B$ Q6 g/ P; a: H! X
7 y& l7 o1 x- _( X' ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 l& g) l( l% n1 h0 A$ V
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; r7 {. _& m" r: i) Z& D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ e& y. o6 u- I' g Y9 j/ Q, I
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) Y% L: ~/ r1 e: G" W$ c
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! L5 W& {7 v' i5 y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& Z0 `8 j7 a& i+ iDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 ]8 ?% U' y* @& t4 j
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 J! O N0 F4 R Y% GDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" D* }. ?; \) Q+ Y" p7 B* qDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
M/ |+ |: l4 [% y. x# GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% f" i# O7 z y. PDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# n/ O9 u+ c7 ]% A0 X, V+ B" d3 s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- q; Y; \0 @- e! W- r; e1 UDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" x+ e4 v8 A+ r' c% L9 |) @' K$ q$ H2 b9 B
/* override diags mask for selected modules */
8 `( V2 [2 k9 R% {2 O9 d9 Txdc.useModule('xdc.runtime.Main');
0 a+ ?6 t; r) p6 MDiags.setMaskMeta(( V* X# _. J/ G: x- {' {( D1 ?
"xdc.runtime.Main",
, S; D5 f0 A$ |1 }8 m Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 t* |- ]* m3 k. G3 X% T+ { Diags.RUNTIME_ON
1 {+ _7 ~/ h- `3 ?2 D3 M);
" {6 T' l, H. Z/ I- ]8 g$ Q) L# K8 u/ O5 g
var Registry = xdc.useModule('xdc.runtime.Registry');9 z6 O1 a/ q* v. J+ d
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 Q3 r4 X& W3 LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 d6 S. y- U0 ?1 v- h1 ?
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 d: J9 ]8 ?! URegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 @3 |) W6 E5 v: J- E* [# I2 Y) C& i+ s5 u6 f3 a" V \( g
/* create a logger instance */
& ^) L* _+ D% Evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 q- u& t( P8 u" D8 x* ]var loggerBufP = new LoggerBuf.Params();
* D: _- ?2 |5 T9 T; O; b3 TloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 c: o# c0 o2 o5 C0 ]
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 G, `5 o6 O& l) Q! J
; a- m$ p; Z- Kvar appLogger = LoggerBuf.create(loggerBufP);3 q+ G% K6 H7 U, D9 l! {6 y
appLogger.instance.name = "AppLog_Core1";
' X2 Y6 H# f D- p% X% rDefaults.common$.logger = appLogger;
8 i7 K+ K; ~& P1 ~8 }* P0 a/ DMemory.defaultHeapSize = 0x8192; 3 O G5 m; o: I2 k% s7 o
Idle.idleFxns[0] = "&LEDStatus";
) Y r: v* K6 z" \, ?7 yCache.initSize.l2Size = Cache.L2Size_32K; Z+ G0 V, O$ l5 {! @* ^8 U
5 q( u7 L i5 H: z# U5 [ |
|