|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ |) O+ O) O9 o0 h3 e8 E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) L. E/ T% f4 B3 w(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 }, A {% N8 B( s+ D4 l
9 b0 b, J. S- M2 y) q" i是不是需要在DSP.CFG中进行配置
1 m. e6 z& j! H# o3 X4 G/ [' j我现在的配置为
2 D) M) m7 K' c' w$ f' Y% I- k8 b4 K5 Q0 w# q
/*
3 j" e0 H5 c' n0 R* o0 a- Q# n * ======== Operating System Configuration ========
- O( |8 X0 E) }6 k$ A& m */
% ]# n7 J: r$ ~- k; w5 d
$ s, L' M" C) o2 a/* no rts heap */
$ f4 s* Z' p3 wProgram.heap = 0;. @( p# W/ q' B. n0 R
Program.argSize = 100; /* minimum size */
6 \( R; t, ?* n% H$ ]) hProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% ^: A [6 H( m* Y& E4 m- K( f- p; S
9 e' s' b+ O; e/* create a default heap */% b6 @3 c1 _3 n2 u" X
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# R/ H# Q3 D5 gvar heapMemParams = new HeapMem.Params();
% ~% u1 q5 |9 S# _. Y& B9 LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ }' t! N* n q) [/ a6 S; j+ t' c, I; Y/ a+ O
var Memory = xdc.useModule('xdc.runtime.Memory');
! H$ M8 y T8 FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ u) ]# u4 |1 h2 }$ e
. e; M3 B' T0 r. y' e4 L/* configure System module */
& a# y0 X, y @. o! ?1 ?var SysMin = xdc.useModule('xdc.runtime.SysMin');/ b7 u; z8 m# O9 _- A4 M
SysMin.bufSize = 0x1000;: ~$ F+ f8 V1 ]* Y# d
SysMin.flushAtExit = false;6 P0 J' o5 a' a( i, I! u+ c
# W9 G# Y+ V* E9 O* J- j( D, {
var System = xdc.useModule('xdc.runtime.System');9 U7 m c4 p0 M5 X3 @
System.SupportProxy = SysMin;6 i. z( w9 @3 E9 Y
# y/ Z8 x4 d$ ]8 B! c/* configure SysBios to use the lower half of Timer 1 */
( ]6 Y) V: W/ o6 E: l( Jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! {# a$ }4 t4 T, e7 |; ?0 h6 Y9 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');. V s1 U# Y0 m. O
Timer.timerSettings[1].master = true;1 O: Z0 a Q% ^$ s
Timer.defaultHalf = Timer.Half_LOWER;$ W9 A( ]. \# F4 D L! y
Clock.timerId = 1;' M) W4 f. a# y7 B4 C/ o. J
e, G+ B0 o3 g# J K( O
$ v0 |* P ^% ^
/** m( J; e7 T' r; i
* ======== Miscellaneous Configuration ========
6 P I/ D3 r4 Q */
) I+ v: F, ^. d7 k, K9 x7 P$ t9 {+ M: s
/* set default diags mask */
, w' e& N) Q+ D7 H( r! {& [var Diags = xdc.useModule('xdc.runtime.Diags');9 j; K+ b* w, p9 ~6 u
var Defaults = xdc.useModule('xdc.runtime.Defaults');
: @* O# l" u8 v5 K% }( Z/ R; z* a9 ]6 M1 e H5 q- N8 O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% {& P! ~9 A( G2 ?. d& O7 A! tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( D3 ^5 B M0 ~6 D. T; ?( vDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" u. f8 m3 N: Y, g o5 `Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 w0 _% O9 N+ h3 }* ~! W0 N
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ s% `6 I! i8 p% a
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; I+ ^: [9 a2 b' E) h8 W, JDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ D" I% @7 T5 P# I! ^1 K6 N {
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% e" K6 I. D! L u
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;1 g- R: D, {8 ?# s! @ I/ |/ T
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( K4 W1 I! b# o8 J) M
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- j3 \8 P' H$ B/ j8 O1 i
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' \ D+ C& d: W8 B# pDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 |9 N. Y. W- _9 J1 \+ P
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' {" s; B/ o# ?4 {) s
) {6 P% B( G" a$ W% U( x/* override diags mask for selected modules */
3 G7 J# ~9 F5 nxdc.useModule('xdc.runtime.Main');
8 @$ f$ Z9 H1 T$ B) M. KDiags.setMaskMeta(4 r4 y% J9 C4 G& G2 ?
"xdc.runtime.Main",8 h R9 l8 n. t6 V4 d' a
Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ ^# |+ H0 U! Q" G4 S Diags.RUNTIME_ON
8 x% l. D! [4 c% {);+ F5 w8 W; O: t+ m3 `; y7 n) |* G; J
4 ^- o& I. ~) _& f' ]5 O- C- kvar Registry = xdc.useModule('xdc.runtime.Registry');
; U5 O2 e& K2 T! o* SRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& N) E, f# g1 k% |5 X
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;2 u! q+ C; w, F- x- l
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;( x/ N! C9 m, b+ b0 w; m
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;) v4 j: c" h# ]3 W
" v* Y' ^ O# D* F+ V6 c/* create a logger instance */' Z# S* y7 L; q! {$ K6 h* N7 Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ |2 H* Q) e, t
var loggerBufP = new LoggerBuf.Params();- `4 U. u( D) x! h& U2 @
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
\- C5 k( Z! E9 K7 {! |loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 G9 h+ S& h$ i9 {( H9 w/ n5 @: y p( K/ x
var appLogger = LoggerBuf.create(loggerBufP);
# `7 V4 S6 H: f6 S8 bappLogger.instance.name = "AppLog_Core1";
2 X( P; g/ N" d" C/ n' V3 wDefaults.common$.logger = appLogger;- y% @# A' @1 ^$ D0 ^( U5 D+ {* k
Memory.defaultHeapSize = 0x8192; % @2 S/ O4 u0 @! r2 z3 j" v& K
Idle.idleFxns[0] = "&LEDStatus";
7 Y1 ~& v) P: {# ?5 N1 t7 f2 M7 }- r% vCache.initSize.l2Size = Cache.L2Size_32K;0 F$ T: ^* k2 T: G9 S& P% t
/ [, ^* T$ i- i9 u$ [ |
|