|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 g) G; w9 j- G) y& K, J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 K! o9 Y& G1 K0 ]$ w* |(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 ~9 L' ?/ ~3 W1 i: G: }. \. ] V+ I
" Y$ S b( h. r' o: M: D
是不是需要在DSP.CFG中进行配置* G9 k, H# g' l3 m1 k2 b& ~7 X r* a4 N
我现在的配置为
( y! h1 I& Q5 H* _( q
9 L9 v6 \$ u8 @/*
) Z9 Q& d( |! O6 M0 b' p: x) f * ======== Operating System Configuration ========
# T2 H" Z* f$ C% J* u/ ^7 ~. n$ y */- c( K* M4 |% R, a" F$ j6 w
# Q% ?9 v) L) S- j+ I% L( v H
/* no rts heap */
l' J9 _# i1 l4 [6 ~4 r& pProgram.heap = 0;
7 g, U6 d8 P4 V9 x+ v& O, l: i( yProgram.argSize = 100; /* minimum size */% U S! P# I7 [7 L0 e8 g! I8 T0 q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ M5 n; }, z; A y
! f1 h3 `; G$ \, W2 r" s% T5 W( P/* create a default heap */3 o& c3 R+ t/ ^4 B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
7 u G9 h% {5 F* }# Y% d- `2 X% R5 uvar heapMemParams = new HeapMem.Params();: ^6 k' y( [* @9 \7 j
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ W' U, M/ j" X6 i3 ?
/ `# c5 q& H+ O5 wvar Memory = xdc.useModule('xdc.runtime.Memory');
3 K/ t1 s' K( I9 C' u6 KMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
- u# i' y7 E6 b0 z* z; W; F: | C$ ?5 K2 J
/* configure System module */
. q" H0 _' A8 W. B$ qvar SysMin = xdc.useModule('xdc.runtime.SysMin');
) t! i; g) O/ O/ ~2 H$ s/ mSysMin.bufSize = 0x1000;" a# ?. y' _4 }, M$ D6 C
SysMin.flushAtExit = false;
9 u9 o/ v M! Y2 | @2 @1 z! N$ t9 Y0 j
var System = xdc.useModule('xdc.runtime.System');
( F/ C% D) N( s5 X1 N u7 g; ~8 qSystem.SupportProxy = SysMin;
; X8 U& i4 B2 o7 T3 S5 D+ m, e: J% j8 o" z" h& ^
/* configure SysBios to use the lower half of Timer 1 */
$ l* Z) Y+ k# y9 {0 l) o- Evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ u1 f/ A6 Y* u6 G* W+ ?" W B |
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
I, }0 F7 k- X1 |9 j! c5 pTimer.timerSettings[1].master = true;
; h: F' _& C9 q/ [Timer.defaultHalf = Timer.Half_LOWER;
( a/ O& S. r7 U" J* R2 eClock.timerId = 1;
' j7 w/ `+ F w6 ^' _; F' l
4 R5 ?% x2 [& A. w& `. {$ S9 l( ^. H4 E' m- E' @
/*/ w' w+ A7 l9 c3 Q. [
* ======== Miscellaneous Configuration ========) w* i5 J3 e* C u0 K5 t
*/
3 `5 |( V2 z& b/ Z: \% z1 `# v+ N$ v8 P4 C6 U) x+ O6 `& s8 k
/* set default diags mask */
. N5 \1 G" M. L7 @) W, bvar Diags = xdc.useModule('xdc.runtime.Diags');: w y3 v" b" w; v: c7 k
var Defaults = xdc.useModule('xdc.runtime.Defaults');. ~7 S+ w$ v5 N
1 G% b7 P* X3 B; m7 Z B
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" J) _- v6 S% ^4 WDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" Y2 K4 _9 S" U \5 K. S$ b1 s/ [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ ~- c4 D8 T T# b `8 N- cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! y: P" D3 h0 `$ i2 K
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 l! h7 z0 P, Q6 [, Y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 i* f( J2 }3 g% d
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
@/ q. D) f: D* ?1 r) {# _Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
# m3 k. D% G. M" ^Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! d" E j& N/ f& N; o' K" J
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. }" K9 }, h; h. IDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 O* y+ p# {* h- G/ Z& F; RDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) |( l9 I% [0 I; q" `" L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;: k R& H! W: F4 b& H4 Y: z& C, i
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 Z# h: S1 L$ W; d3 \( a- {; ]
( M2 t3 P; l% `3 u/* override diags mask for selected modules */
$ }: z6 |! x- ~- H+ R/ X: Q7 _! Ixdc.useModule('xdc.runtime.Main');
1 l3 Z# ^; H# V. r5 cDiags.setMaskMeta(0 k/ C& n8 C2 E7 { r$ j4 ^
"xdc.runtime.Main", G0 e8 e* ^" V: u, J1 B
Diags.ENTRY | Diags.EXIT | Diags.INFO,8 ~1 N ?) J6 d, a7 k: H" ^
Diags.RUNTIME_ON
; e# @2 o: ^, x3 ?);7 V( m6 I8 U/ S3 S
" ~" r( f/ q0 M8 v R
var Registry = xdc.useModule('xdc.runtime.Registry'); ^9 c2 d8 I7 X A" w \# n& f% A
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& p7 M$ _4 C1 C" V- a! E3 p4 \) ARegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 {7 u9 C2 P; k2 J6 _; Z2 w4 t& `- e
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: B% h. i) e" BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- D" J" F6 T8 ]& D0 y2 n) l! `0 \0 |, A0 a6 M5 \, ?
/* create a logger instance */* G% V" D: ^* ]$ \, z; k
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, E. Q. J. L7 N! y: W- n+ V
var loggerBufP = new LoggerBuf.Params();" j) i$ C3 D# o+ U5 u6 W9 J2 H" Y/ p
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" E( |7 Z- s. u* H- g3 c
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" G& d [8 ]. c3 V6 @: M
* Z2 h+ n1 b% P/ g1 J4 Uvar appLogger = LoggerBuf.create(loggerBufP);
5 Q. X5 M" n: `' P+ xappLogger.instance.name = "AppLog_Core1";4 R2 @4 i/ F# H1 u- }+ d5 S* D
Defaults.common$.logger = appLogger;
& V; L- o, ^: Y# l6 s! X6 rMemory.defaultHeapSize = 0x8192; 3 n* w o1 _8 Y
Idle.idleFxns[0] = "&LEDStatus";
" I( z7 E% ~7 `' rCache.initSize.l2Size = Cache.L2Size_32K;
4 Y. ]1 d' \( a( z9 G
; G7 v4 ^1 f2 L ^* k. B: { |
|