|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 s4 y. e* ^- q0 ], |3 B# _3 ^6 M
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 g' U4 c7 e4 ~$ l" I1 p(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 S5 u9 p* e6 J1 U0 k. s/ V$ E5 W* q8 P7 A' u5 s1 o; o
是不是需要在DSP.CFG中进行配置
. o8 Y. ]( n/ O; C) f我现在的配置为+ x, x/ G8 X. L. j" ?
, ]) V! I$ E7 E3 V/*: e$ Z: F! S7 c* d8 d7 l) u# d
* ======== Operating System Configuration ========
% O% O1 ]+ x. c" c1 u. s" W */2 b, [7 g' F" l6 K. w, X& [
: F. b+ K; q6 w- @
/* no rts heap */
6 ~; t( Y+ R# k) WProgram.heap = 0;: _9 T! k) z$ p0 R; ~- d
Program.argSize = 100; /* minimum size */8 ]. A5 V0 w/ t' Y5 J
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 j. s7 V+ Q0 ]* ]. Y9 {
. _% ~4 E1 [0 j( h$ B* T: ?/* create a default heap */
8 `0 c# w Y, D, ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- I/ G0 J: {( q5 x% J p# b' ]/ @2 Y( fvar heapMemParams = new HeapMem.Params();- M% V: W% Y, V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ b: M1 H- E0 u' D
0 K) Z2 O$ ]& ?1 N, B% S3 tvar Memory = xdc.useModule('xdc.runtime.Memory');$ m+ X: u' R# r# P
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 _; P) G$ w# X$ ]3 c) F# |; n
: W8 N, B+ ]2 P% m/* configure System module */" v d& Z, @( H) B; {. w o
var SysMin = xdc.useModule('xdc.runtime.SysMin');
. E5 b+ V. R1 O) K, GSysMin.bufSize = 0x1000;1 u4 R& {, i; t. |9 d) `# I' {
SysMin.flushAtExit = false;' g, L3 ?" p1 g. K
& Q4 o ?, E! j, h! U
var System = xdc.useModule('xdc.runtime.System');% G8 t* G- Y2 K; P7 U
System.SupportProxy = SysMin;& A6 c3 v, y) K) D2 b1 U! u
) {8 ]. h3 T; k# \! [) @5 h/* configure SysBios to use the lower half of Timer 1 */
& P. _& B* w/ r5 Y, vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' c' d1 f9 w4 p! o3 |
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ a6 H3 ]6 L' v# a) lTimer.timerSettings[1].master = true;
& K; b3 ^6 h) H: \- U# a2 t# ~Timer.defaultHalf = Timer.Half_LOWER;
% O5 w8 W5 P, {! R/ y; w; yClock.timerId = 1;
& w( R) T7 G& N e I t
+ i* }8 O9 }2 G, w
9 {* o [, t( f3 Q/*
5 ?& M: e. _' @ |9 ^ * ======== Miscellaneous Configuration ========
0 I- t0 I, ?6 C# H M5 N( z */
& g" U# y! T5 s9 k% z- i
7 R6 J$ j8 J, d( Q5 i5 v' B4 v7 M+ g4 k/* set default diags mask */
$ j) T6 O6 }/ B- s! cvar Diags = xdc.useModule('xdc.runtime.Diags');
; h: v; z6 H7 W& l- Z$ }var Defaults = xdc.useModule('xdc.runtime.Defaults');4 V3 P8 b$ W+ ?& o N. @
8 B% o y1 @# ODefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# U o- g9 w3 aDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' [2 q& ]- I& `* e( u
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- U! e! n% d/ _9 C: O: q- wDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% W6 K: K5 u/ t& w' l& P: l
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* n, S @& Q3 t/ ~9 T8 a
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 @ j8 ^- ~1 zDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
; ^" w. e, L2 O, C, s; ]2 e5 b* RDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* s! D6 d4 B9 aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% s7 o+ k0 A3 z! p6 J: Q7 V
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% d2 L$ w4 T4 A. }( oDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( G0 F, _5 J' l5 G8 g C
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 Y3 V6 _& F/ X
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. l/ R4 y0 u$ c* I8 h# z3 rDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 v$ j3 ^+ v o7 O6 F) y% f& S
4 W& I% S, |' V# {, ?9 A6 |( S+ e) U/* override diags mask for selected modules */
9 ~0 m8 U, Z# N5 [/ |+ Q. Vxdc.useModule('xdc.runtime.Main');
0 ^/ Q; t1 k+ T( k# _Diags.setMaskMeta(7 ~4 A, P( W1 ~' k' B. O! C ~
"xdc.runtime.Main",/ j* k1 B( e# g; M" n* Q* F# Y F
Diags.ENTRY | Diags.EXIT | Diags.INFO,3 W9 R: ]! \; _5 e
Diags.RUNTIME_ON& Z$ ^& N: y) R
);
% E: j$ Z o' n5 E; L0 I0 z
1 }% N" c* @5 Bvar Registry = xdc.useModule('xdc.runtime.Registry');
5 m2 @* U. e; A0 e" v7 O0 `Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. T' e1 H. R! R
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;2 [/ a) O) U! N1 h1 g( q3 p
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* P) i6 M% h% ~8 X' r0 ~4 X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ N* a0 x# J+ R- w- C
8 C2 c* ?; r) k1 y" I3 j, x
/* create a logger instance *// w/ j1 H: e4 Y3 E& q0 `0 F3 ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* I/ ^! W: z' P+ e+ z! u
var loggerBufP = new LoggerBuf.Params();$ n3 ], t$ q0 n( F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, Z1 _8 Y; P6 Y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;$ t# Z. B$ q' E0 n3 C- U4 T6 B. ]
/ M" X9 C6 y' G. q+ gvar appLogger = LoggerBuf.create(loggerBufP);
$ z2 A. @$ }" ^( h9 Q7 J; IappLogger.instance.name = "AppLog_Core1";8 H2 g% u/ k j; J
Defaults.common$.logger = appLogger;
. \, A# i1 W3 W+ _- f) B5 jMemory.defaultHeapSize = 0x8192; , @. O; S5 q2 [' t
Idle.idleFxns[0] = "&LEDStatus";: K4 d' U" B" M
Cache.initSize.l2Size = Cache.L2Size_32K;
' h8 `5 u' a0 F* k; i+ b+ [
; {7 |" X) n9 h! m' Z/ T6 B |
|