|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) d/ R/ g, X) J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 I- _8 s. l# B, j
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" r; j' f( [/ a. \: W, Q' T6 Y
9 g3 p1 }' B6 }9 |/ o9 V7 n是不是需要在DSP.CFG中进行配置& v6 d5 H9 }' N- Q6 m
我现在的配置为
9 k& T0 g5 w) w$ ^8 P- O4 f+ ~6 M7 m$ n! a: P: |3 C
/*
2 v7 r0 {; Y7 J" d& n9 } * ======== Operating System Configuration ========7 W2 S u! Q' R: j
*/
1 _' @4 A, D# ~0 E+ K2 t: W" {6 W7 a0 `" T
/* no rts heap */: {. F0 W5 Z9 X
Program.heap = 0;3 ~8 v1 Q8 L6 \ d2 \, S5 |* m
Program.argSize = 100; /* minimum size */
2 _# V/ i B5 T9 T! j4 @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 `( [" x" ~$ M; a! H7 r& G5 a! H7 v
/* create a default heap */; I* H5 ~% q3 {: e
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 |' _* E2 W8 P% v* `/ f
var heapMemParams = new HeapMem.Params();
# m D5 X4 b+ a" aheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, G$ _2 S. J4 c" ]$ d( |( y9 f8 F
var Memory = xdc.useModule('xdc.runtime.Memory');1 k4 v; E& ]* p) l
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 K4 o' o0 Y% l+ `" g$ [5 v n! r- E4 j
/* configure System module */
+ N+ z# h" f9 t" [: Wvar SysMin = xdc.useModule('xdc.runtime.SysMin');0 v6 h: X( x% U6 B! A3 [
SysMin.bufSize = 0x1000;: R) i, A: b- _" R; [. z; x
SysMin.flushAtExit = false;
/ C' u; I1 ~' S7 H, P
' m" Z6 u) v- D2 G: W4 q2 dvar System = xdc.useModule('xdc.runtime.System');- p5 |3 G4 E9 l# S
System.SupportProxy = SysMin;0 Z8 V6 M; \& [* [$ h! P& `
. J/ Q7 B" y, L" z$ ]
/* configure SysBios to use the lower half of Timer 1 */- ~* ^ d6 D( D1 v# u: J
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) y/ W1 d( R# xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');2 B* s. p; Z* F* n
Timer.timerSettings[1].master = true;
8 b2 A7 y: I! k, x2 E; Y7 A3 iTimer.defaultHalf = Timer.Half_LOWER;
3 p$ D% Z( b' ], i9 AClock.timerId = 1;; q0 M4 f: C! ]0 j; z0 Z
- I U# }3 l, S$ {; P
6 Z# }! j9 Q) y6 C! L2 R& P/*
9 I2 [* E3 r6 F- B( Y2 x6 A * ======== Miscellaneous Configuration ========
E3 k A1 A7 U) V$ C */# v# I. t/ T( B: Y9 W, v" t' ~, h
3 I, I( P. p$ o s1 d
/* set default diags mask */
6 J) }. q4 I% N; V' }/ S9 Z, Qvar Diags = xdc.useModule('xdc.runtime.Diags');" g2 [3 F1 W. D0 _
var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 |$ @) M6 X4 Z/ B: z% q& I, ~: a% Y) A/ U4 E# n: e* }2 A
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; S* x, Q& T9 r
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, e; L; n6 f6 I: o. x; xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 J% @) E: Y2 r% F9 J; _7 W
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. _6 t- m5 m; z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 I% z2 X' E. p1 g) A- r7 y2 m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) U# ]- P% B. T* GDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;* P; d7 o( t6 M0 u
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ ?& I1 H9 u8 ^* F0 F' [Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ `# h' w- R+ T7 Z( c, i( C4 bDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 `: ?1 G, I; y0 p; N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% {! j R0 @) m' d. iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 I9 U& p5 g; N A; O2 {
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: {" R/ B% j. I8 }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: X$ ?/ Q6 b- m. z7 g' C0 {8 V# \' u) U- y3 h
/* override diags mask for selected modules */4 T ?* s7 j' R
xdc.useModule('xdc.runtime.Main'); m' P: E& u1 E2 }$ k; k5 x
Diags.setMaskMeta(( G( a8 O* p6 W' M8 l& X
"xdc.runtime.Main",8 P7 B/ s; z0 j8 F5 y/ L& Y( a
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 a" k% D6 V l& Q5 ` H; _ Diags.RUNTIME_ON% p/ }& |4 h- Q! k b3 c5 @
);( F# o5 }8 N+ }# [
1 x# s5 N5 H2 h
var Registry = xdc.useModule('xdc.runtime.Registry');% l, _; t. W; ?) ?; X5 e
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 ^- v1 R" e# b9 c8 n" A- K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 c+ F5 B" l, Q5 Y0 Q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
\* d3 ~+ m* P0 bRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF; O0 `1 ^' d( p/ p( Y ?, B. f
- a4 M+ X, c* ]' d S
/* create a logger instance */" [0 x. t* ^; L Z8 u8 o1 h
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; u; S% ~/ r% \. _7 H2 s* Hvar loggerBufP = new LoggerBuf.Params();% _& V3 b; p4 s5 F$ d, c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' ~% I( A' Y& [6 C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
+ z! ?; ~+ A3 T2 s u. Y
/ p2 }/ q3 [9 Q/ D" |var appLogger = LoggerBuf.create(loggerBufP); `) Y: E9 U M
appLogger.instance.name = "AppLog_Core1";
Y9 N7 k6 C8 ~% _+ u9 h! O2 }Defaults.common$.logger = appLogger;
. n5 T4 c [$ |Memory.defaultHeapSize = 0x8192; 6 g& e) B& [4 i0 v0 x1 i" O3 E B
Idle.idleFxns[0] = "&LEDStatus";
& X, d( e; s6 F/ ACache.initSize.l2Size = Cache.L2Size_32K;
3 a& E) i) E8 p/ S9 D0 Z+ ^% B3 v- i& G; C
|
|