|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 m* \' h7 J( E我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, u/ F4 n! v9 T2 @4 U! ~; O0 \+ C& g(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 W( I1 ^* T3 Q6 v
/ B* ?0 w" c; E& ~1 {6 b' u( | F* i是不是需要在DSP.CFG中进行配置; u% [/ j. _* m6 n' v) J/ C
我现在的配置为# r D+ b Z1 y( t) U
# b, b. ]3 w9 [' z9 P; U. T+ k
/*
% Y5 k9 E4 ]/ T+ L4 }. }/ b * ======== Operating System Configuration ========
5 S0 w2 S$ q9 x4 S! U: n% {, y */3 y+ K' L l0 p8 S& }- @$ s
4 c. P) S& w0 h- D$ j! Q0 ^" N
/* no rts heap */
3 q. j7 r1 c* D j' \% J, wProgram.heap = 0;
/ ?+ h! c( X9 c: i, OProgram.argSize = 100; /* minimum size */9 ]/ ]" I2 T0 O. n3 d- ?7 F
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 O" ~+ @! t: O1 p& r1 b: T5 q6 u* i3 e G* G. R
/* create a default heap */9 i- C; Q7 ^7 E7 D$ \ T/ [
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' G0 U4 O% b- T, m6 e. l: }- ivar heapMemParams = new HeapMem.Params();
5 R0 I/ U i K% f' pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ f$ B0 G# i3 y" J* S
0 ]* ^! @: V% ~3 g
var Memory = xdc.useModule('xdc.runtime.Memory');. } y" ?$ `1 ~0 b
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# c% B: y+ n3 A P
0 `) L6 y$ H2 Y4 a/ {- X
/* configure System module */
@' I1 q5 [7 x* r3 n$ wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
$ V2 P2 W9 z* V: D# X* ]SysMin.bufSize = 0x1000;
4 |% o) F. k$ D" KSysMin.flushAtExit = false;4 O. r) Z8 G4 \) [3 n
$ L6 G) f+ x7 P3 |. [var System = xdc.useModule('xdc.runtime.System');
2 E1 e% R3 C. M2 _System.SupportProxy = SysMin;' \8 i! Q- ?3 \! y+ d3 Q% P! Q! M7 ?
, ~3 |0 I! [& ]( v; f8 }! r8 y; k/* configure SysBios to use the lower half of Timer 1 */7 k8 p# c- ^& [( F9 S
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% s6 L% p" {/ L7 N
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% M& |4 _8 p" c7 f" Z
Timer.timerSettings[1].master = true;5 n0 r: R# O: H5 r: z% Y$ b
Timer.defaultHalf = Timer.Half_LOWER;
4 c+ ]5 S( {$ ZClock.timerId = 1;
( h, s; _6 F' J% Z4 O$ M9 j! W# G9 P S6 _9 K/ t
! X5 `2 q4 N) C, z/*
2 Y" V4 w5 t! H/ X% F: I * ======== Miscellaneous Configuration ========
, t# g4 Y7 e' C( q2 `1 r */
+ u7 [! h: ^ ~7 _
/ A& w, e6 R8 }/* set default diags mask */
' e9 A* p2 ^' p9 N- Zvar Diags = xdc.useModule('xdc.runtime.Diags');
K' _1 R% L" t; J% ?5 Tvar Defaults = xdc.useModule('xdc.runtime.Defaults');
# [" H. h7 r4 d5 o5 H+ j8 P) b5 i O" Y6 t, o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 i/ e8 s( m \8 \/ r6 d% f
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! [ v7 B; s: n" A4 l Y0 \3 oDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; R1 I: y% O' }! J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( c8 m d( G( Y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# m0 P" `, M: @; y0 O* IDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; N* L8 W& L' R+ ?Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 _% U7 Z# p. y' o4 a' s' B2 ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 M( P' t0 l* q9 M( d
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;1 X: ?) l- h, [# K; A
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 G( c/ D! q0 O# h) y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" H/ `. u, n6 @& E" f+ xDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( b$ x" I- }6 r0 f) i6 d& n3 N$ DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 T$ M! B2 G' l. ~" x, GDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 l4 F2 _2 y% X( p7 n5 B: i: a" m' D; `7 c7 Z
/* override diags mask for selected modules */
$ Y. k( |. X" ~ t4 \xdc.useModule('xdc.runtime.Main');; s6 M% d% e, N4 y9 [2 E; b
Diags.setMaskMeta(8 S' W$ n! N# z
"xdc.runtime.Main"," e/ H2 h# p: Q" f) z1 }
Diags.ENTRY | Diags.EXIT | Diags.INFO,5 [: w* q9 `5 v3 u8 d: `
Diags.RUNTIME_ON
2 Z" q8 H) K* z$ Q$ t);
9 k! Y4 m. M N! \1 Q
) u! @5 r0 |0 k8 Mvar Registry = xdc.useModule('xdc.runtime.Registry');, Y! q' b B0 Z" H
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# N/ m: y: y O6 A# q4 g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;' a1 V4 h5 v: h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 F3 K* f/ a- _; c; XRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' a! I% j0 u/ p! e/ P8 l1 B4 H
; o% L. \' M8 H) ? p' p5 t/* create a logger instance */
. m! w2 v1 G/ T o% B8 pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 v% L Y" c( ^* w3 _" X' c1 v
var loggerBufP = new LoggerBuf.Params();
! I/ R3 ]$ E) j6 E7 nloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" e0 g4 E, w0 O* z7 Y+ }
loggerBufP.bufType = LoggerBuf.BufType_FIXED;* s! v" K( d6 ]7 a" o; Z; L6 y
2 ?% V% d$ N1 |: d: Yvar appLogger = LoggerBuf.create(loggerBufP);" H) A, E7 n! n4 n/ Q p
appLogger.instance.name = "AppLog_Core1";
) V# F# _6 F/ l2 C" g g |Defaults.common$.logger = appLogger;1 H' N0 | Y' a) c- v4 [; A
Memory.defaultHeapSize = 0x8192;
2 }$ M: z7 [( A5 W! g2 d6 Z7 M1 W+ i& XIdle.idleFxns[0] = "&LEDStatus";7 e9 V. Z; P( }
Cache.initSize.l2Size = Cache.L2Size_32K;
$ Y6 i* G* l) R {2 l4 d: @6 c# Z1 v7 {0 [
|
|