|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; S4 X# f6 F8 {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- k' Y+ ?0 b2 O, I
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 A3 j- e+ k1 R/ z! T5 M1 z! X
! }( w# [" w5 }( J- [7 U4 e3 K6 T7 T9 ?
是不是需要在DSP.CFG中进行配置
6 N6 j; \" h8 M; I' C% q, M( A我现在的配置为
5 p! J+ ]* d3 n; M; D ~9 I3 m l' o( ?7 s% `/ {
/*
! Y" t! y8 ~, g) Y, u2 d) J * ======== Operating System Configuration ========
6 P/ A4 N5 _) h: b$ ]' G9 [: m */
1 ~. Q4 C4 ?. l4 t+ E* d1 {2 q. G" h
/* no rts heap */
}1 ?* S. O: H- K RProgram.heap = 0;" y8 g% h2 n/ ?6 A
Program.argSize = 100; /* minimum size */
6 E( s7 U% ]- IProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大# O0 j, o* y5 s; _" i
" e% \7 r. W) I k/* create a default heap */* D5 c' R1 S! ?' f+ k- H' Y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 K; H* f: T5 O$ }5 e$ rvar heapMemParams = new HeapMem.Params();
1 f! I+ R7 Z2 W$ |heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 }% g! T0 N& b0 c( I U& k' r
$ C) C. a7 g. e$ y) S. [var Memory = xdc.useModule('xdc.runtime.Memory');* O3 b( r- W9 t# [
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* J% u( }, O2 W+ \4 K. M U
0 r# o# Y$ h6 U! o) J/ y9 @/* configure System module *// I; U' `; R9 C, x
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" q: v0 F# p; g. V0 l# C; mSysMin.bufSize = 0x1000;. z6 }9 k# [4 F6 i& H+ s
SysMin.flushAtExit = false;
: Q5 C% |3 D I
3 X6 Z C+ M7 d& {3 ]var System = xdc.useModule('xdc.runtime.System');
1 R) `5 {3 u! @+ B) \; SSystem.SupportProxy = SysMin;
4 H7 @" P/ q9 f2 ~( r( g6 J
r6 |& C2 ` H' b2 z) Y7 x% Z+ C/* configure SysBios to use the lower half of Timer 1 */( o/ y! f0 E) B3 D; w
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 S8 y0 {% x0 b
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 M1 U( b6 G2 _1 I# q0 P
Timer.timerSettings[1].master = true;
, M5 u l- n) l! C' \( Z/ X' PTimer.defaultHalf = Timer.Half_LOWER;5 |; {: {7 j& I6 J
Clock.timerId = 1;
W6 b# ^; U: A6 L5 \7 o$ X' u( N- U& x" J7 N' N c
$ Z# v z/ m' C8 n; |( E/*
* a' k! u) Q. P' |6 r) ] * ======== Miscellaneous Configuration ========' k2 M" W& m1 J& E' e' } p+ D! v
*/
) g4 j: i8 K; X
, Y. I2 b O# W' _0 @- [/* set default diags mask */8 o- c) l' Q& [7 q7 p
var Diags = xdc.useModule('xdc.runtime.Diags');( _3 }; c" U$ |& ^% R& D
var Defaults = xdc.useModule('xdc.runtime.Defaults');* H ~) I* M: I( a
& u2 p) [+ y* A
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 j/ a) m9 ]- o. B7 ~( P8 D- Y: L3 l
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 O; p# R5 z- [4 @) M J f( v9 K
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. @8 k' a2 n: c) t7 ~2 E3 k. {" {' c* DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) z5 N0 S5 @$ D, H( }/ N
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& B+ {/ N: J9 Y4 _) aDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
G' q: e/ ]8 s# f7 XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 j: ~( g: M- q. e$ N2 V* w& z$ a$ f
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 x5 g3 Y9 L" O9 Z- Q' f9 V' z- h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; |% L( o" T) [0 D/ t
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& m7 {$ ~/ L V6 U6 m5 YDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 ]; X# D$ }5 Z& p
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" i' o4 v" v: H/ [1 H# D% kDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; T+ F0 q+ O0 J: X& m! bDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* D4 _6 H _! k% z# \
6 d# A0 X3 K9 K2 u! V/* override diags mask for selected modules */" m7 u4 y/ L8 |2 s8 y( s+ C
xdc.useModule('xdc.runtime.Main');9 ]4 C5 l! @3 ?# ^6 p
Diags.setMaskMeta(
* ]: r/ ~3 @0 H; r "xdc.runtime.Main",
/ {, m5 K& }/ ]1 ~* u Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ y$ j) E. I( S# Q* t Diags.RUNTIME_ON
+ p6 \+ c, W4 t6 ~- o);
) `3 C& e1 @$ k: A+ b* D$ X1 C& m
" L! p. @0 c6 h8 X0 o% X \var Registry = xdc.useModule('xdc.runtime.Registry');$ m7 k, \" t; U& Q' w& Z/ f
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 w1 K6 v% Y+ a: lRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" `( C: t$ Z d6 QRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
* Q2 y5 m) ~: vRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. k( m) r$ t" f1 b f2 b$ Y" U1 u" v. f6 U& ^3 ` R# h
/* create a logger instance */. i0 b e! {4 n5 S2 W& [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) K [; b; C7 J: o* @/ |% g N
var loggerBufP = new LoggerBuf.Params();
e" |* f( L- Q5 [7 x; S0 p2 UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 R% T) b- u: ]7 |6 h0 nloggerBufP.bufType = LoggerBuf.BufType_FIXED;! @2 @) _( Y% J! Y5 @* y
. O9 V8 k; ?& u7 [: F6 G( `# g, V$ S( [
var appLogger = LoggerBuf.create(loggerBufP);
1 H/ ?7 y% J+ `* tappLogger.instance.name = "AppLog_Core1";
" \/ `* q/ `$ c6 F9 h& [Defaults.common$.logger = appLogger;- B2 c3 G# G! v7 s2 q' E4 C
Memory.defaultHeapSize = 0x8192;
( e* P; U% P1 Z: `Idle.idleFxns[0] = "&LEDStatus";% D6 O, e1 v8 D# i- e( d# E
Cache.initSize.l2Size = Cache.L2Size_32K;
' x) A- o9 m! T- i
4 z5 B+ z5 I/ [" t' R |
|