|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
`7 E% H2 `, H$ H& L# g我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; ? F, c X" Q% }
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& C) `4 O% C5 H8 y6 B& O' V
& Q% o$ N2 x' v( _0 ] Y& D4 \- @是不是需要在DSP.CFG中进行配置% K: ^- S0 O# `) U) O
我现在的配置为
9 e! `9 C4 _' b8 ?/ z
, v. y$ y; j% p; d# {* v/*
, A9 r' F6 i9 J4 |+ b2 o( [( y$ Z * ======== Operating System Configuration ========1 w9 c' M. \# A
*/& A7 z- S- c* U' R
% q! y) O- z' T
/* no rts heap */! r" }/ @$ P7 d0 _2 H
Program.heap = 0;5 o3 R& @3 m% c1 e. `% T" r% X
Program.argSize = 100; /* minimum size */
3 t/ \4 l. d0 VProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大( B. r* c+ F6 m, [& Z9 ~: u/ x* N# c
`0 I$ `* r: D# i" C B7 G- B! e
/* create a default heap */. e9 B" Q7 S) g. H% G
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; t) G" x; @6 b/ Jvar heapMemParams = new HeapMem.Params();/ z6 s/ k8 k7 ?2 g3 d' ]2 g, r
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ u8 U; \& v0 B' C& _! g8 N9 x8 i- m
9 P* _( j6 d; ]var Memory = xdc.useModule('xdc.runtime.Memory');) v7 o" f+ q/ V# U2 ]6 B3 i
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
) Q5 H8 N6 w8 A" N. e2 h6 f0 h2 o) \8 P/ ?& o
/* configure System module */
9 w& W" k5 X0 `. `" R. O/ wvar SysMin = xdc.useModule('xdc.runtime.SysMin');* z. z' q8 z) N" i1 h
SysMin.bufSize = 0x1000;
9 \5 c W8 u$ |7 QSysMin.flushAtExit = false;# ^7 [ m9 C5 g- X0 I x$ U
/ t# q" N; _! k
var System = xdc.useModule('xdc.runtime.System');
9 a- E ^5 a, @# L* C% V3 U+ x5 l. fSystem.SupportProxy = SysMin;
! V. @$ v- y6 G/ _6 o5 {7 m; i& ?2 V, y+ u
/* configure SysBios to use the lower half of Timer 1 */
( V5 B0 {5 j/ D8 v, W) avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( E6 M2 L. L4 E# b* o/ k5 Z6 a$ M8 a
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" X; |# H7 K; C6 H; S
Timer.timerSettings[1].master = true;* C* a4 J0 ^( ?$ }
Timer.defaultHalf = Timer.Half_LOWER;" F3 X5 o& @9 ?2 ]
Clock.timerId = 1;
4 S3 |3 f) `+ {# B$ m7 i
0 ?8 n2 @! E! z2 U6 W" Y6 _0 m& s9 K5 i9 r& B
/*' E! i* }4 K _# ~- c
* ======== Miscellaneous Configuration ========
3 F4 ^- S8 P* U% C+ D */
% Z! g, w1 g# t5 q/ _! z4 J: ]+ J5 Q4 t9 c/ y% O) F# G
/* set default diags mask */
6 \5 o0 z; a, X& \8 o2 \var Diags = xdc.useModule('xdc.runtime.Diags');! T. a( ]9 |/ S
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 x. M6 I- Q3 E5 l
7 p& U, h1 A3 x& M$ Q7 f4 T" L
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. u- e2 T2 }5 N ~Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 ~& i/ Z8 X& l& I/ Z6 FDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 q. \; _" {/ ODefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 x$ J Q( s3 y0 g T: G" ~
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 _7 t- k. Q7 [% J; ^: ]Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; b! G' P8 ^7 D0 l8 i
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 ^1 I5 ?9 P1 j6 k, b5 g5 qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% A9 M' k, a8 H5 p7 v) \/ R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 ~4 ?4 A2 L {# X0 U' eDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& K0 k! j5 H: JDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 C2 {1 v2 w2 A5 f" S( d3 kDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& z8 J- O2 t- H, D9 O) O8 E9 ~* ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ S8 B5 S6 t6 q' x( m$ hDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 e: T) g& M7 U% G W+ ]/ m4 \
) L2 ]' K$ n6 c5 A1 k; F) V, f6 i/* override diags mask for selected modules */' E2 ]7 I7 w( Q
xdc.useModule('xdc.runtime.Main');
, B2 E( ?- Q8 ~& d5 [, ^ v1 hDiags.setMaskMeta(, _5 y+ t1 ~5 ^) e
"xdc.runtime.Main",0 i+ w2 t7 \2 c( v
Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ A2 E& e" @; }. p% X* R, `+ D$ b Diags.RUNTIME_ON
/ J4 x9 Y( [5 k( ~5 b/ C6 B- Q8 V9 });! `9 u0 h* ~2 F8 | O
' w! x# ^% b3 ^# V; R( W1 J
var Registry = xdc.useModule('xdc.runtime.Registry');
: ` m. h/ E3 E. c2 ^1 u) S- h7 CRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
s; M$ F5 T% j' x8 \Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
, ^+ J# f4 u+ C w; pRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
" U8 l8 w# k, x" @- V# [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- U7 }! c: ^8 f
2 D0 P, k ]' p1 ?: n- p# n7 b# ]/* create a logger instance */( ]' r& m# d) ~4 a9 t2 z( b3 ~/ J0 \- ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 c- q7 V7 D9 ]! d9 h/ Svar loggerBufP = new LoggerBuf.Params();2 [- O4 c4 F( b* U, ?
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ i9 k9 K5 @8 q, a- _2 f4 B# X, h) QloggerBufP.bufType = LoggerBuf.BufType_FIXED;8 l5 Y- W" ?, Z6 d E1 k% A/ y
8 I4 Z ^% J: g2 d* D) Gvar appLogger = LoggerBuf.create(loggerBufP);; q; n# H1 e% ~' g
appLogger.instance.name = "AppLog_Core1";
0 G4 X- S& Y9 q9 ] b" H( r2 rDefaults.common$.logger = appLogger;% @( T4 M. W9 v6 S
Memory.defaultHeapSize = 0x8192; ! z4 m) W8 J. U9 K. |, S5 C
Idle.idleFxns[0] = "&LEDStatus";& H6 v/ p1 p! Q5 ?, j' `
Cache.initSize.l2Size = Cache.L2Size_32K;
/ H$ w& G1 z4 J" {* e8 W# }
" g# `5 ^2 v3 N6 }, X |
|