|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* e+ _+ v- K; U! j7 W+ s. p) ~
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 r. W' `! C: w- f# T(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 ~* v+ ]1 t) U, q- d, C- A
$ ~+ {+ O8 g7 p( P' `; z! b* i0 |
是不是需要在DSP.CFG中进行配置
- f: C' V" X' I% y* M我现在的配置为
& E5 m. X2 ?6 F! O3 @9 g, c* G& j* @' R" `- \' z0 \
/** Y( F" w- D- L0 {3 k
* ======== Operating System Configuration ========
; o h; Z$ P& L */" ^* m) w+ Q- p. i# b
5 G0 T" B/ `0 e0 h4 ~8 w! C/* no rts heap */* n8 b4 `6 \1 Q4 h
Program.heap = 0;
0 r! M$ g& W% v+ Z0 PProgram.argSize = 100; /* minimum size */! @ x6 o# N" Z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 L6 d. N2 _0 f6 J
) h4 Q# J+ y- z6 O l" x, ` C# T/* create a default heap */8 J& d$ }+ j* `" e0 b0 S9 I
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 V, n: y# I q8 l: t
var heapMemParams = new HeapMem.Params();
3 S& W+ u! M- {& b& d) BheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" a9 E0 l/ Q& H! `- S
; [( r$ M- V1 W2 U' s# q+ X* y3 Avar Memory = xdc.useModule('xdc.runtime.Memory');# `0 j A( @% o, m. C+ b
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);4 d& m- a5 J8 z7 i. ^. b
# V9 v) S; }. L' N5 v* I5 {/* configure System module */9 H6 J, r3 ~9 v. ], I) D
var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ p' r6 ^- l5 ?7 QSysMin.bufSize = 0x1000;
8 p4 H9 a8 @6 ~9 eSysMin.flushAtExit = false;
9 N# F# s$ O6 o
/ K7 [- P c" o, ?var System = xdc.useModule('xdc.runtime.System');
& R {/ ?/ [" ]& H5 ?) u D* q" NSystem.SupportProxy = SysMin;! Q& Y; M7 @; l8 a
7 N1 T" \ `8 m. C7 f! C0 n/* configure SysBios to use the lower half of Timer 1 *// x6 D. W. ]/ u9 }3 S! M
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ Y$ v5 f1 E4 |+ G+ L9 g
var Clock = xdc.useModule('ti.sysbios.knl.Clock');. q+ S3 S: N4 g% n
Timer.timerSettings[1].master = true;
% H$ y" R( x$ ?( O; DTimer.defaultHalf = Timer.Half_LOWER;
% h W6 Y: J7 }) F! G8 l" HClock.timerId = 1;
4 ?7 w: R6 K! c9 S0 l' X9 ]5 D$ c6 j7 S0 K7 g5 L$ F
" J& A" z" y& a# B; h6 N
/*
3 R/ Z+ z/ a; n+ N6 B: I3 q * ======== Miscellaneous Configuration ========
4 r' }8 [ k; N) D */8 u# q/ ?* f/ r% L T4 O% b
: ?' P r8 a2 D( q/* set default diags mask */
- l8 g* Y8 V4 P& E; jvar Diags = xdc.useModule('xdc.runtime.Diags');6 Q4 I8 \2 P" ~0 V
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 b1 D7 Z6 X! C0 L) X8 D# E7 A
# r* |5 W) e( k" D, y
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 a! D1 T. g: r3 u+ \6 o$ ^' ^Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# w+ s9 s4 l W' T5 cDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 v: m" C$ Z: Z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; l5 a6 k$ @9 E/ P/ }! F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% W* [4 M" m2 }% a1 Q0 H+ n8 u
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 i1 w* ?1 u3 O) | GDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF; @4 U5 E) ]+ X6 ~* ~' z1 q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 D" Q, \/ N7 sDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 I( W9 P) ^ P4 N. ^! b9 m- @
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( A* O* g7 F: c! UDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 `% k/ p- y$ {Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ _' b. V G" Z% \+ O' t$ F' F, ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF; a0 f Z9 W+ u, }' _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; ]% q4 r* {( x
2 n1 }+ }" L# s( \9 |+ d
/* override diags mask for selected modules */
1 w' r6 P1 _) V0 ^' X1 {xdc.useModule('xdc.runtime.Main');9 b, C' W# F: q' t. ?
Diags.setMaskMeta(1 f' T2 q: C( S3 r
"xdc.runtime.Main",
7 l( p7 p4 j. t2 h Diags.ENTRY | Diags.EXIT | Diags.INFO," B& a/ z/ q g9 f, D" i
Diags.RUNTIME_ON* \9 l. v) s: p z( S0 P
);+ |- o/ P+ x! a7 B& O& e
* S1 z( @2 s; I% W M* A: D
var Registry = xdc.useModule('xdc.runtime.Registry');- {, t- C; q2 a4 e8 o. A
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 F$ s' h3 S' G# b2 V& Y" B }9 kRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 E: ^2 ]1 D2 [; l) Y: E3 \Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ d0 G" i7 v- R1 h* ~: N/ LRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 ]1 q+ _$ y. j1 Q8 Q+ E! \6 G
& ]7 j0 Y) k; H# g. N% r/* create a logger instance *// [# W; _: Z7 N# r9 b
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( |. K( k, S0 M
var loggerBufP = new LoggerBuf.Params();
3 z1 x( K) d$ O1 Q- PloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% ]3 _1 N, v: S% s% o4 a* F3 o
loggerBufP.bufType = LoggerBuf.BufType_FIXED;; u, ^2 X, g8 q
8 M( {/ m6 J+ Y' M% e5 qvar appLogger = LoggerBuf.create(loggerBufP);
. P; Q1 X& Z& ]* `5 E ZappLogger.instance.name = "AppLog_Core1";
0 M6 s9 d3 k- B1 cDefaults.common$.logger = appLogger;
3 s# \0 K$ y4 Y: c) lMemory.defaultHeapSize = 0x8192; $ j9 Y8 U7 z7 Q4 b) \. d& x
Idle.idleFxns[0] = "&LEDStatus";: P, F; ^+ j& a& U) r0 w* M H8 O: ]
Cache.initSize.l2Size = Cache.L2Size_32K;
6 `& g6 i4 g$ L: b' X3 N ]
5 U: R1 p# n4 C* O |
|