|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; I" F9 S: j# w0 N我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ I+ {8 X# ?4 g& U) R$ e$ U7 D9 G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?). J/ L J6 f8 {' X6 g
. Y6 P/ X4 @% k/ Y/ G, M
是不是需要在DSP.CFG中进行配置7 c+ {1 l0 O- |5 y
我现在的配置为# I# F: E! q5 b6 K
1 B2 ]) I$ N2 d- J9 P- a
/*
$ i5 u4 B9 ~* M2 G0 z9 F * ======== Operating System Configuration ========3 `" N$ w* M1 j7 P' |
*/) J) p, W0 R4 W0 K
1 H7 {+ G$ k5 I+ G. p( t/* no rts heap */
8 k; k$ ]$ g1 B5 S/ I" C# F" B& DProgram.heap = 0;* D5 s0 U; N6 e ^) m8 K
Program.argSize = 100; /* minimum size */6 J) p: s& L/ M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! \8 t9 {( C$ R/ O" l
; h' s/ x5 |9 G5 ?! f/* create a default heap */* A5 j+ Q- \0 n& D5 q& G- q" t
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* I! F! @5 l: _9 l0 {' p0 U
var heapMemParams = new HeapMem.Params();- N# ?+ v5 z, D, C. {6 j
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ { D1 u0 ~" E Z- r
2 `) z0 [9 d& c, P9 ~var Memory = xdc.useModule('xdc.runtime.Memory');/ N/ a- Y2 S4 f
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ B, e/ C1 v g# h, a
: ?7 `2 V0 K: ]) i/* configure System module */3 A0 C, x; {$ m6 c$ Y+ M: K5 D. F1 T1 F
var SysMin = xdc.useModule('xdc.runtime.SysMin');
# `+ ~4 q g! B. ~SysMin.bufSize = 0x1000;
/ |4 _+ | ~+ l3 l4 G1 Y6 [) zSysMin.flushAtExit = false;
% S2 F) _( O' O) y' }
6 [ Q' O' a9 ]9 u7 w8 ivar System = xdc.useModule('xdc.runtime.System');
! @! d9 j% a" E! ]! R* eSystem.SupportProxy = SysMin;
& o3 O3 |+ t- U3 F2 t! W, f9 \. w* K9 w* e8 `7 R" |
/* configure SysBios to use the lower half of Timer 1 */" p+ R, J4 X: z9 f$ X
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" s6 w9 C6 [! T. `8 W! f4 M# u
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; c. m2 Q' i. P) D; O8 \Timer.timerSettings[1].master = true;
! K' ]( a! T4 X- XTimer.defaultHalf = Timer.Half_LOWER;# n$ I G! I+ a
Clock.timerId = 1;, C% U2 m' E" ^# A2 Z. J
6 |3 _, J1 A/ U+ R% F9 K+ F) U7 Y, E6 I! t( B
/*
. g ?# {3 B4 @) a * ======== Miscellaneous Configuration ========
- r- _5 g T ~1 t */
& P4 v# j" z4 d6 r9 g0 P0 K$ u
; {2 x* s' y- ^' V/* set default diags mask */
4 B9 U& u" B" \+ ?var Diags = xdc.useModule('xdc.runtime.Diags');
C: a* V0 A4 `var Defaults = xdc.useModule('xdc.runtime.Defaults');
' [2 {$ Z$ H7 B9 a/ \* K4 t( l: \7 m
- h0 ?5 I4 r+ k. H: t1 Z% g# ], L: ?( g; a: HDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: U1 k% Z, m+ j6 c4 w9 XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, D/ c: U$ H% M# s& n( T- C
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* f* H- }0 Y2 K6 d, fDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% T8 a& N( \2 H& k: P; _5 R$ j
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! B& n& X `* A+ r# c. e! ?Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
0 J! l# l7 n! `) ]5 `* ^6 XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: P2 Z \0 `: Q) U% ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 V+ w2 ?6 ~' A
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ K1 f& }2 T9 V! IDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 g- d s2 s$ H3 u+ C. i+ Y7 XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 d- x3 ?6 P' {9 v' m2 VDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 R; n" m5 N: G6 }1 y# m6 oDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;! V! ^- p% U! R: i5 R/ O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 E h2 I2 Y+ _# Y7 y. `
; A9 n2 d( n" N, Q/* override diags mask for selected modules */
) t+ P' o S+ P$ P! ]2 b2 mxdc.useModule('xdc.runtime.Main');
0 h3 ^: @+ c% l8 ADiags.setMaskMeta(
2 V6 y6 ^7 n! j. i) p1 |2 F F "xdc.runtime.Main",
4 {7 ~4 h6 s! ]9 w2 s: A X Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 @2 H1 t0 [5 ?; R Diags.RUNTIME_ON A9 O+ } z! v0 e/ P/ B% u( I
);
7 k8 N( `% a2 u5 O1 v- B; H, E5 |0 q# f2 c c7 O8 G
var Registry = xdc.useModule('xdc.runtime.Registry');' [! L* X0 J1 f! [+ W& @) X' x
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ _) c- f' v5 c2 {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" O ^1 N) K& M8 p* z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;" C* o$ N: k/ D; i& i; F9 b$ d
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;; j$ J4 _! G* m/ S X U6 P5 ~
) N: B' y4 t6 Y1 T0 W$ V; G( k/* create a logger instance */. E2 ]# h+ i" D8 z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% ^. c: |* z5 V3 a# m: r6 ivar loggerBufP = new LoggerBuf.Params();, z- y! c: c3 i# q& C5 S* ^( f+ A
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* ~1 F. X4 {4 \) \; QloggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 l5 h) r8 A" Y: ^+ s8 [& G+ l% Q; c
, `" a- O; _, Rvar appLogger = LoggerBuf.create(loggerBufP);
8 W m) a% j0 u: ^. ]: ]appLogger.instance.name = "AppLog_Core1";
! d) U# g7 @: R" [5 N$ GDefaults.common$.logger = appLogger;" D& v( m3 {$ L
Memory.defaultHeapSize = 0x8192; % b$ t! @' q5 C
Idle.idleFxns[0] = "&LEDStatus";: s8 n# V& A) h7 L1 I8 G
Cache.initSize.l2Size = Cache.L2Size_32K;+ j% X) c" C6 i1 W
% V! \3 X3 \3 d4 @: p- N1 I
|
|