|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' g! x' t! B9 V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 w# ?4 B. D$ J* j6 v
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) x3 ]$ R9 y/ P/ i
% ?; Y, d9 p! |) G$ G: n
是不是需要在DSP.CFG中进行配置- A# e! `& q! y& t- V+ Y9 D
我现在的配置为$ ^9 u% A- F% [
; ?! v( u* @ U8 O% B! S5 f/*
. W' W' W( \$ |- g) \ * ======== Operating System Configuration ========
* W' z9 y8 d. d6 F4 Z4 U: m */
1 T* ~ I. K" H3 Z: {; p+ { V, I @: w8 r7 u# U) v1 M* f
/* no rts heap */7 Y& K( j3 b$ ^2 I2 I
Program.heap = 0;5 X, r7 I' y$ C3 @+ H1 M9 X
Program.argSize = 100; /* minimum size */: q6 e+ G7 M2 K3 _) d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- W5 e) j4 l/ U0 z) b' u: ^7 O1 F4 b) _% m
/* create a default heap */$ a7 O7 Z' g5 c# w) C* |
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; ]& h1 e" v8 q( a6 {) Q
var heapMemParams = new HeapMem.Params();0 ~+ |1 O1 |/ X7 K7 H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# a6 ^5 I' T; k T
+ D7 g3 ^* I8 I% _3 |3 Hvar Memory = xdc.useModule('xdc.runtime.Memory');9 D( g; F5 Q1 F1 W3 M( S+ S7 R& Z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: ]7 Z# C2 i2 X* t# ~4 ^- Z
* C" a( e, U- S; h
/* configure System module */
3 x6 K% S/ d+ E8 Q( P" J. B4 Xvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; ^! V4 \* n$ s& N1 b3 z0 ISysMin.bufSize = 0x1000;$ D# B/ L& X$ Y6 l! ]! e
SysMin.flushAtExit = false;
8 [6 T; N5 J: V0 z, u( R; p l, y6 _0 w# Q( l
var System = xdc.useModule('xdc.runtime.System');" ]( \! H4 ]4 e x) b0 }. r- C1 P
System.SupportProxy = SysMin;
- K: m' k( i; M7 b. E+ x
- N) s7 w) o5 q4 X t7 {( t/* configure SysBios to use the lower half of Timer 1 */4 ^4 l+ ]+ w% c+ O
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& u5 ?. P( x' }# d: R% Kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 J+ W( e( f9 o: s. p0 ATimer.timerSettings[1].master = true;
2 _9 M6 m7 p4 N. GTimer.defaultHalf = Timer.Half_LOWER;- `% [6 x" p6 ^/ U; L
Clock.timerId = 1;
- \0 A2 C* e1 M3 w
+ g* i! r" t5 k: p! s6 Z e
8 G& N0 @! ^$ u% _/*% J- E) c, `* k6 L# S+ L
* ======== Miscellaneous Configuration ========
3 M2 p: t Z( _; [* e6 n0 s */
3 s! q! L m& D! ?6 p; P! @4 ~2 C% s5 S- i/ b& J
/* set default diags mask */
4 B: a; r k( X D" dvar Diags = xdc.useModule('xdc.runtime.Diags');; G$ P) e, |( y
var Defaults = xdc.useModule('xdc.runtime.Defaults');5 b) @1 T# A" |8 b' e7 c
/ C' J) u+ l- b" B6 h: hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 m% k, o4 Y! O3 O) c1 d
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( {* q9 K8 \3 u& ?* c; k# ?/ mDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- V( j6 [) |: c. W
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ O; `8 i; [4 L+ D5 m/ u, v3 }. |" W4 sDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 f% [9 @( D5 U! ^: x' UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 n3 r6 d- g; KDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" J; `1 v7 r# s+ k8 }/ c8 Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 \1 }/ B3 U" g0 M6 l; E
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! {& _# E1 R7 d6 V' J
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( M3 F0 F( |; ]Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 d4 c% {* }$ \( g# G! mDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 j: x, o4 ^: |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; U0 d T$ P% H/ [* xDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( D& B g3 n6 l, A( t
: u) ^! R4 e E$ o8 O& B/* override diags mask for selected modules */
4 h8 f0 \- C# D1 D2 O7 x& v3 g7 l6 @xdc.useModule('xdc.runtime.Main');! R+ P" D" Z8 K6 @) f0 G
Diags.setMaskMeta(
& h) N9 o, B' Q3 R. z) N8 _ "xdc.runtime.Main",- h2 i! h; S. h7 a. U
Diags.ENTRY | Diags.EXIT | Diags.INFO,! c! k) j' x9 D! l8 y
Diags.RUNTIME_ON+ U+ W* ~8 y5 f% D$ P! C
);- s+ k6 p2 P8 Y' B$ s5 _% E
0 [6 b b6 u; j9 L" u& F( P
var Registry = xdc.useModule('xdc.runtime.Registry');
' w# b; |4 v) O9 e' |+ Z# \; iRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! d+ @% R1 z( z( v2 M% v
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ U8 f4 v* V; k+ D* v4 @1 f# A
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% J. q8 ]9 e; a& j( LRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;! {2 M) a% j2 w( I q
! v3 @4 A/ {8 Y# E4 R
/* create a logger instance */
8 |& ^7 i& e! E, o6 A1 pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* ]: Q' a' y. `! V3 U, u* r
var loggerBufP = new LoggerBuf.Params();: |9 E/ L. E. G6 |
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! E4 T/ s# Y2 u2 RloggerBufP.bufType = LoggerBuf.BufType_FIXED;* K A; [1 y" \9 r8 u/ R L$ C1 F
, ~% W& ]- s: l$ |var appLogger = LoggerBuf.create(loggerBufP);5 e7 C0 U, M ^ v3 @& V
appLogger.instance.name = "AppLog_Core1";. K' w& S! x: U/ U: t& V
Defaults.common$.logger = appLogger;' k1 C( z+ g. K! V, k
Memory.defaultHeapSize = 0x8192; 0 v6 Y4 r* z( ]8 w# w
Idle.idleFxns[0] = "&LEDStatus";* Y2 E$ K9 a! T% p, z
Cache.initSize.l2Size = Cache.L2Size_32K;
* X. Z" f c8 ]4 ~# o4 b; ~% x6 w6 X
|
|