|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 W3 n* y( V8 B0 }+ @! B2 O% h
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) G2 F+ }( J2 `: C# K(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 Q/ K: r, C7 p4 l2 y/ g
) v. y; i+ V# k是不是需要在DSP.CFG中进行配置& d9 o. ~/ U* J0 A5 x/ P! G$ Z
我现在的配置为# m/ p! n3 T1 u/ @9 X
! a. V/ t6 [! E% O$ B/*
. d( _' z- F6 R8 m, c& ~ * ======== Operating System Configuration ========$ R. s3 H& Z9 ?9 N* {6 e% [+ \
*/
W: F0 r2 |; n# A
" }0 I, g/ F8 x) S% a0 m8 j/* no rts heap */
& v! H- F+ [# t# _$ g9 s/ h o8 }Program.heap = 0;
6 N0 i8 e( ?% ]' l! IProgram.argSize = 100; /* minimum size */
, D( U; C0 w! {1 ?, FProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大; o0 ~, h; I. C6 k. a4 L5 [
! C% f% H4 n( S( C
/* create a default heap */
z/ Z2 W& X! ^; R4 W. h D9 v/ zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 k/ P& g3 A, r# a. x
var heapMemParams = new HeapMem.Params();6 |/ D/ y( E+ K% H1 x
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) l" a7 d" a5 v- ~. l
3 p S# C. B9 G, U
var Memory = xdc.useModule('xdc.runtime.Memory');3 q7 v. G3 q" P5 z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); V+ x1 e/ r( k+ i% o4 J( @- G
: B( o$ x7 d8 l0 U
/* configure System module */
" o$ R8 h, n, J' d8 Ovar SysMin = xdc.useModule('xdc.runtime.SysMin');) }/ U6 ], n6 F i W, W a% C
SysMin.bufSize = 0x1000;
) {9 A6 Q! b0 y1 U8 F: C; J. JSysMin.flushAtExit = false;
& @$ _3 C" y0 _$ W! H( K3 j8 I: e! L: ^. z$ _+ s+ |- o0 C
var System = xdc.useModule('xdc.runtime.System');
0 z8 i6 ~* I: ]/ n# \3 @9 BSystem.SupportProxy = SysMin;' z, a" C o* _" c
. c# j5 H/ R* X' M' v; ?- `! f
/* configure SysBios to use the lower half of Timer 1 */
/ ~+ q7 o2 J) }* e8 } Bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- K; I0 g# q1 n# B) K0 kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 b7 c* M2 T Z, W1 r
Timer.timerSettings[1].master = true;$ u# X( ?( ^& k+ t2 \
Timer.defaultHalf = Timer.Half_LOWER;
: ]7 k" @/ ~* P4 | WClock.timerId = 1;
; L# a' I X* k+ R& Y4 ?# Z/ h
1 B0 m5 ^9 r+ p
" V5 y% G4 S( V/*
& h6 N+ k. R9 @3 p1 ?7 M6 L X * ======== Miscellaneous Configuration ========
$ l1 k6 a" Y, g. Q, u+ j) I) O */
2 V4 m' E0 t" Y% m4 [ s: p, }" p) X0 A1 l0 W4 ~+ G
/* set default diags mask */
2 T+ Q+ o( s/ j. z: A h- P- Ovar Diags = xdc.useModule('xdc.runtime.Diags');
; o. Q9 x6 ~2 |0 ]# cvar Defaults = xdc.useModule('xdc.runtime.Defaults');
" N' B, H8 n6 z6 R
; ^- d3 k8 z2 sDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. ]/ x+ U4 e4 T0 M6 [Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: d) b2 v# }) k# F7 hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ P# B- Y( g( c
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 A' A5 s" l, M) `! f% H% ?
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' [" ?4 ?: f+ E# f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 F; z, u% f P1 s/ }3 _+ _% r
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. L) Z% P, J1 X0 w! R7 A0 K5 o
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! ?2 W% ~" A# C; u2 g2 d$ m' |Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 e9 X4 I6 K- M* U6 |
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 B; R7 b1 j9 S: ]Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ f5 t) a+ s# b, e1 X, C; Y/ GDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 @5 [$ u; W. H/ B
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; [# A5 U; r( Y4 j9 }
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 v5 @& t; f A' T( w
5 x" K0 {5 ]7 c+ r& e- o# s5 M
/* override diags mask for selected modules */$ A9 k0 U8 Q2 K$ s- f( M0 V$ E7 B
xdc.useModule('xdc.runtime.Main');
& V& o1 M; e4 l; U( d, g( DDiags.setMaskMeta(; n0 W7 [7 v9 K1 s6 t
"xdc.runtime.Main",
: I) Q! F: P8 \1 D; J2 n# c Diags.ENTRY | Diags.EXIT | Diags.INFO,5 z" h" h' @5 u6 s7 q
Diags.RUNTIME_ON* h3 ^! s2 Q' A& b Y0 i; W
);
! Q( K t U3 D! a8 N5 z, Q6 x' L! C( q. h5 P3 ]- O
var Registry = xdc.useModule('xdc.runtime.Registry');
5 ^& f0 P: f' P% nRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: C) M) J0 A( r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;. q' ]- a, b6 M5 |, g
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 {& ]! X/ F; P6 J; H. pRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 o- Q' E1 _+ M9 f. x7 Z+ z% k3 p% U# h, D: O9 o1 F
/* create a logger instance */( y. h) n0 a" L% x$ W2 e h+ y o, ?
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- z6 `" x; a& e3 A3 |
var loggerBufP = new LoggerBuf.Params();
- b7 a5 l: k% t& `loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */ Z% \. @0 j+ A! I; w- \
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
! {, @6 j, I+ a8 u6 B9 }, C* q
9 S+ Q# M% S& z$ J5 Cvar appLogger = LoggerBuf.create(loggerBufP);
1 \9 y7 n1 d/ k: gappLogger.instance.name = "AppLog_Core1";# e6 ?( A k: ?
Defaults.common$.logger = appLogger;+ p7 z# z' p; h1 @4 L
Memory.defaultHeapSize = 0x8192; ( [% q) `( x) @
Idle.idleFxns[0] = "&LEDStatus";
% E9 b6 v3 }; y' r; M1 YCache.initSize.l2Size = Cache.L2Size_32K;& V% {* _3 o* [& o, U" T7 M8 D
+ _$ r0 h z5 T |
|