|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 c" L$ [+ U" j2 ]
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ y" A8 y0 y9 P2 g" k(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
f# C7 b0 O4 J8 i$ \: ^( J3 C) D! y. X1 K
是不是需要在DSP.CFG中进行配置
% R1 k: @2 h D5 k' d$ p我现在的配置为
& H; }7 ~4 [4 l/ d$ A7 R3 B
! D2 K& t* T6 ]& v8 s/*
) e1 r* a& G2 {! \ * ======== Operating System Configuration ========8 m( [7 ?) l- c3 n0 s
*/+ R# y4 F1 p% S% S
; @6 D- c( p* x( E
/* no rts heap */
9 g$ V# j0 q4 \Program.heap = 0;3 _/ F6 ~6 I0 q) B1 u- H
Program.argSize = 100; /* minimum size */
1 O4 _8 v4 H0 N6 f8 n9 ~Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. ~. d; L& `5 x# m! {' S
) b6 D" G- @% G, z% ^0 w; v/* create a default heap */
% f+ I$ }* Q/ N5 ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( b7 T/ `' N" H: B$ ?var heapMemParams = new HeapMem.Params();
# I& o$ O: ~# `/ g$ yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& Z e s1 m( f- h5 J4 {3 X
# W: i8 L# n/ ?/ @$ Ovar Memory = xdc.useModule('xdc.runtime.Memory');3 M' o" `+ H7 b+ y3 V. }6 L( Q- ]
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);, q( R: Y* C8 ?! ^0 n. W9 y
4 J) b; C7 G0 C+ o( _8 D7 c2 N/ Y
/* configure System module */
( j- Y4 F4 n; t& }3 Wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
3 T, h; \1 O8 P- uSysMin.bufSize = 0x1000;
: v6 J. e" j4 eSysMin.flushAtExit = false;6 w; s* j h2 t z
" k9 Z2 {7 f( M- O w
var System = xdc.useModule('xdc.runtime.System');
" \, \% `% {1 L8 @System.SupportProxy = SysMin;' v2 l9 f5 r& S% U5 M: h* _$ Z- _
& K# [1 I% I" z" @/* configure SysBios to use the lower half of Timer 1 */ O7 l( @3 b0 }& b5 T9 @
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- _8 m; F6 Q+ f f* n) kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- O+ ?/ W5 O! u2 w
Timer.timerSettings[1].master = true;
8 \2 l j" L8 ?5 x9 ^7 fTimer.defaultHalf = Timer.Half_LOWER;& Z' s; T$ I+ D& g* R4 P1 s5 |
Clock.timerId = 1;* T/ O3 g8 C4 L1 ?6 G8 R
, ?7 o0 I1 [# i' p5 K
4 L. n9 I0 b: v$ z. N% d9 L/*
) A9 w% f9 f6 R. g; { _ * ======== Miscellaneous Configuration ========
2 X& ~, C+ s- p8 Q* n */
" ~. S, J8 d% y
) y8 ^" x8 b9 w1 T/* set default diags mask */) m1 R/ `& x, N& G
var Diags = xdc.useModule('xdc.runtime.Diags');
* z2 H$ F$ P2 Z1 `: {7 l2 fvar Defaults = xdc.useModule('xdc.runtime.Defaults');9 P' M( r, `. W7 g0 Z! B% e" \
6 D! n6 a) i2 H2 p5 } l
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 V" A9 \ i6 t
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- y P1 V: T' u, h
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; E- k/ `. M6 H* @4 g- r3 vDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ j& Q0 s# }: b+ j: XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 { l G% ]) s; w/ C. E4 ~Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ W$ A* e4 M* R6 s7 [1 l
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) i& M6 u& O C# s! x$ U3 G3 Q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; b* q/ ~% l# ?( [5 EDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
{3 X( D! \. Z! o1 KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 r# c" o5 N: U" M/ y8 {$ |, O
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: V8 ~. H1 O9 H1 i
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) G+ H1 Z6 c F& v# u, r5 }Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
" Z, b: Y( \+ [+ R& o( b; WDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
# d, y+ g+ u4 |( J( d/ Q
. A+ I# k! i/ R* \, d$ O/* override diags mask for selected modules */5 h' q$ y2 o+ p
xdc.useModule('xdc.runtime.Main');
9 a. u8 [" w% i: mDiags.setMaskMeta(# N9 h6 g7 C& [2 f. X- h* ]4 W4 O# M
"xdc.runtime.Main",9 C( [' g" W- x) m. |0 M& g6 I
Diags.ENTRY | Diags.EXIT | Diags.INFO,& v- J7 h' g E! e9 |
Diags.RUNTIME_ON
6 d+ K" |) a: X4 U# T);+ A& t! Y5 A2 J7 K, H
9 X/ l7 f( _% m, N
var Registry = xdc.useModule('xdc.runtime.Registry');
5 N3 [& k; E& l, fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 D* H( F" d$ z5 g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;- N& |3 L' }; u7 y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
+ h0 O% l' P& y# [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# B% t V4 f, `, `! T2 f7 l9 n8 Z9 Y+ d
/* create a logger instance */8 D5 _8 i' A) E- `* f a$ ]9 L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: j8 Y' c+ x% _# e- B; }8 u+ X' j K
var loggerBufP = new LoggerBuf.Params();! F; Z% {5 J/ S* t
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% C. @- H, d5 s, U& N' ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) T1 q) Q0 N; y' i( r& B' [2 Q1 }1 e& j d" X# O* \# u2 k
var appLogger = LoggerBuf.create(loggerBufP);4 K+ ?5 Q3 ~( Q2 Y; L4 i) i$ a7 m. ?, }
appLogger.instance.name = "AppLog_Core1";
0 a4 Z1 ]4 b- [* x* DDefaults.common$.logger = appLogger;+ f* C% Q; o3 G7 C9 ~4 _
Memory.defaultHeapSize = 0x8192; * b( w1 Q: h2 E; n d
Idle.idleFxns[0] = "&LEDStatus";
" o2 }* ?5 O! LCache.initSize.l2Size = Cache.L2Size_32K;
% P* J. P9 F8 H
. j* |: d" h7 R- r& _* t) T9 }& U |
|