|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 K: l' e+ ^! C5 c$ t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: i5 B t7 L( N* K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 v' f; E. ?/ P, R, [) |2 @) S
/ A4 t! T5 n( V. T% y2 h5 B. a+ ?是不是需要在DSP.CFG中进行配置# `* d8 H3 O8 O- h
我现在的配置为
" ]9 V2 ^/ @$ K7 P* o: \7 x- ]% x* i5 @9 S5 u9 T3 g
/*
+ s" l, F2 I4 b3 a' P * ======== Operating System Configuration ========
4 n( A, R: E3 P: g9 O8 e! c/ h */
- O+ ~* a/ @) _" u4 `* h
3 `3 F8 l3 ?5 E6 }: X9 M4 f8 b" V/* no rts heap */ F- W* X7 n* L5 @( y' _
Program.heap = 0;7 N+ i& [8 M: a. e o9 w2 j
Program.argSize = 100; /* minimum size */
6 s3 ^: P$ A! [; ^$ }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大# K9 H8 d% ]& L3 v: d) w
1 A& D0 M/ O; r: h7 B/ [ O$ \! m8 z
/* create a default heap */* }3 Y! w( x/ x: p- O$ o9 S
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 O2 `5 \# C2 V2 x* A4 V- e7 Svar heapMemParams = new HeapMem.Params();% Z4 c+ q2 T: W$ P
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大6 I' Q8 w' S3 y7 B E7 P
! u! ^9 S1 c5 [! ~) W$ @( G
var Memory = xdc.useModule('xdc.runtime.Memory');
, D+ k5 w8 z+ e5 ]3 G! nMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, D2 D* r/ m/ V
" C6 f* F/ h. o2 `/ U# \/* configure System module */2 Q- v6 r( X+ g h/ s
var SysMin = xdc.useModule('xdc.runtime.SysMin');
, U3 V J, F2 ^' R R! M/ HSysMin.bufSize = 0x1000;
3 B$ w( f J# g3 q; m% G \SysMin.flushAtExit = false;
3 l2 m: I8 i' k, j5 L9 U k; C) x5 z- M1 f/ G/ g) @
var System = xdc.useModule('xdc.runtime.System');2 p5 `! {- Q) P9 w
System.SupportProxy = SysMin;
1 D8 i" U! r ~% G( O8 {' h6 b# b; m- R7 E1 G4 ]( Y
/* configure SysBios to use the lower half of Timer 1 */
* i: d3 M- ?; z" v3 D: E& yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% I j3 Y: U- [+ X7 E0 n
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; x$ K. m( S t% t" }" ^* ?Timer.timerSettings[1].master = true;% r, e& w2 H( d
Timer.defaultHalf = Timer.Half_LOWER; V. a& d Q7 ?1 \3 F
Clock.timerId = 1;
, c$ d, f" f; b" U- L) w
! B& V) S7 N4 O! h" g @1 o w' s
3 }; O8 t4 d ]' s9 s9 W" P/*
" c5 y. \2 a# R0 w# ^, f * ======== Miscellaneous Configuration ========
7 x5 N6 l7 b- F! B: D; D */( K G4 [) H' J! ~4 t
* @, |3 H/ \. w# U2 d$ V( w/* set default diags mask */( d: o3 {9 Q' s* G" H
var Diags = xdc.useModule('xdc.runtime.Diags');
* Z, A5 H' s. G! g! V- |+ |. Mvar Defaults = xdc.useModule('xdc.runtime.Defaults');
1 m+ N( t$ n/ Z! |1 I" V. n; G" n, G! W: u' m \
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) F% {- z- f# q2 e0 ?; f8 pDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 ~2 N- { ~/ @. }/ BDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;) j9 d! N$ W' V
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 o d4 B: P9 _& A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ Y8 u8 A7 k$ f& r& Z( u5 D) ZDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" ]$ x; { R3 C. ~6 Y4 G6 | NDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* o c9 i) G5 xDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 E6 B$ ?( `1 y0 q+ P8 s5 s5 ?7 C* BDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) ]3 I) F* z8 h6 y* FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& D/ @7 @ c% p3 U/ }
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* F7 A0 X* W2 X9 B5 u& n9 b# u* A' ^6 L1 PDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 V7 V6 A# F1 P% ^# p$ u# z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ b# o$ t$ z! D: I' L7 zDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ w5 a8 v: x7 N# g# K
" J4 E* P% L6 ^4 _' C. `2 k( \/* override diags mask for selected modules */
5 z2 c; H/ Y$ L, y" qxdc.useModule('xdc.runtime.Main');
: V6 r% R5 p8 T8 V1 pDiags.setMaskMeta(
" o7 x5 p, {% O( G3 \ "xdc.runtime.Main",
+ R/ n: X& S9 s Diags.ENTRY | Diags.EXIT | Diags.INFO,+ s& ]4 i& Z0 N; w- v% X
Diags.RUNTIME_ON/ g# H* k4 i& ]1 q% I) p, y
);
$ u- x) ~: V) i5 w/ t* H% ?" G, M1 y4 E( _2 g4 J; n: g
var Registry = xdc.useModule('xdc.runtime.Registry');. b# L( P1 S5 l& Z \6 {
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 Y- K3 Z9 y6 a$ h7 ]- W# G) gRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- x& Q4 a1 \( c) u6 wRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" b$ @; Z, ?( M" K0 o% d! ~! b9 m
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( h) T8 h2 u9 K: ]& s
' ~( w: i' z6 K; g2 M2 h$ o. P! w7 }
/* create a logger instance */
. f; z5 G7 o: ]var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 k& @( g; y( ]/ {. R- N; D( ?( P
var loggerBufP = new LoggerBuf.Params();
; b% N* |1 c* U- lloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 l( _+ a' w7 SloggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 U; Y1 P# i+ h+ o- b$ S i4 H# @- V! W+ v4 ]
var appLogger = LoggerBuf.create(loggerBufP);. E' e$ [1 P( p
appLogger.instance.name = "AppLog_Core1";5 F+ m+ f) X5 s' h& w7 R
Defaults.common$.logger = appLogger;4 G/ X" D7 I- ~, v9 D" ^, W
Memory.defaultHeapSize = 0x8192;
# k7 K6 }4 n" U$ WIdle.idleFxns[0] = "&LEDStatus";; r6 s, F" F1 R
Cache.initSize.l2Size = Cache.L2Size_32K;- J$ O. n% W/ I1 O
3 q( A5 X4 G6 H+ }, X' y$ t |
|