|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( O/ r6 G P! f- W' D: ?' R. R6 P我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% g$ ]4 H' S% R ~; l; }(不过疑惑的是,为何单独DSP仿真就没有问题呢?)* Q& q2 B% B# m4 d
" i: v7 ?8 U1 b1 e2 ?/ u是不是需要在DSP.CFG中进行配置
& J6 ^$ m" E' Q e我现在的配置为8 `! c" x. h, S) [/ W2 ?9 C+ ?& l
4 K# a; u7 h% e, u) l" l* H. N+ _/ C/*
" e8 E2 j7 g( Y0 L5 ]& f * ======== Operating System Configuration ========$ X7 P8 z* w, E" ^" A
*/
# F* _5 F* z$ |5 m, Z# I
+ {% s- A/ J' N4 k8 T4 `3 L% }/* no rts heap */
! W5 g3 f. v* e0 C9 V! M+ v- q* TProgram.heap = 0;* u6 [0 ^! Z$ l
Program.argSize = 100; /* minimum size */* i4 X j5 `" E
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 v) f" f$ G+ m: w& _
9 w4 ]9 R/ a$ K" Q3 ~4 P% o# f
/* create a default heap */
/ k' O7 o1 j0 R+ k9 U1 vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( ?) R) u: q, K6 t# f- ]$ Qvar heapMemParams = new HeapMem.Params();
( R5 Z. F! b9 \3 C) pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 x O/ | j& K* \, _/ }9 a$ X' j% z
# s, ^5 d. j) e# v5 ^& H; f
var Memory = xdc.useModule('xdc.runtime.Memory');
. h3 T# D0 u7 G$ C2 D- g$ [Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% I0 s: R9 G: K: O) e( q/ o; _: ]4 Z4 s3 w. Z1 `
/* configure System module */. z# T4 E* m* x
var SysMin = xdc.useModule('xdc.runtime.SysMin');, E4 P( s# C$ i2 s* o
SysMin.bufSize = 0x1000;7 e* h7 s6 k8 k: D# l
SysMin.flushAtExit = false;
, W" U# F5 ]& K0 g; w( W5 y& e0 Y) L; {3 _; F! S
var System = xdc.useModule('xdc.runtime.System');
) F3 l& B3 F3 ^0 j# eSystem.SupportProxy = SysMin;9 `* C' {! v7 B: n! P; B, b
; ^! B" g! G% s
/* configure SysBios to use the lower half of Timer 1 */
( `- ?4 x8 C" @- d, @4 b/ i- K. Evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 ]' `; h6 _+ r4 k+ @( ~- t: h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
- n1 L+ R, J+ H8 f* r2 J+ K, q) xTimer.timerSettings[1].master = true;
; M/ P+ v( d7 T' E# D _2 @Timer.defaultHalf = Timer.Half_LOWER;9 |, X6 O3 z3 A
Clock.timerId = 1;+ F2 A) z9 {7 b
$ B+ H) ]( q; R- h9 ]
7 t0 V& e% A; U* B
/*/ z. F- \, M& X8 W/ O
* ======== Miscellaneous Configuration ========. B7 G% s9 B# p+ h4 A N
*/
6 V9 p0 P8 ~8 {( f8 U/ J, \" \9 ]0 R* ]
/* set default diags mask */
x2 Q d$ c+ r( Cvar Diags = xdc.useModule('xdc.runtime.Diags');) F0 U7 ~% ^8 p9 ?' D
var Defaults = xdc.useModule('xdc.runtime.Defaults');2 }4 [4 V7 T# N0 K* a* a
. f; R" @' X9 a; r$ i1 x: w9 \/ ]. S
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 w3 N6 J( u$ B1 c
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' D- z$ B' w- F" l9 C! [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# m O5 Z2 j, {5 V+ R# `. `Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ B6 L7 W. q7 s' d% e |3 l/ O
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
U( [; X5 R9 [$ m3 O }Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 _/ y* g3 X# }1 }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ s/ n! }+ [7 K) n
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 C' Q0 f. q* ^- @! v
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, Z( L3 k1 H" }# p* O9 d
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. H* _+ X# C2 [$ Q, k5 F" hDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, w) y. r( M- w, n" I8 \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 y2 C+ s* A- V8 X
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& F! [% g! t+ K1 j, F- q( UDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 l+ M9 B' @+ ?1 Z
3 e) p7 h& N+ b& h5 {0 ?3 ?$ ]- |/* override diags mask for selected modules */
& I; n7 H$ x4 x0 j% txdc.useModule('xdc.runtime.Main');
" B8 {4 V) a8 Q! wDiags.setMaskMeta(
6 o& b1 x) P: f/ s6 _4 O7 { "xdc.runtime.Main",& d& R( v9 F! I/ [- C8 W7 `0 l1 O
Diags.ENTRY | Diags.EXIT | Diags.INFO,! y; X/ r$ c- h5 ]! Q
Diags.RUNTIME_ON
4 k) \. i( O8 d) g);
( t, S$ p/ W6 d, @+ u
5 n6 U" w2 Q& O0 M9 S9 S* S8 ovar Registry = xdc.useModule('xdc.runtime.Registry');
5 F: c( [4 e( ^1 ? m' {! c& e, `8 d* KRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! d7 n% i! d* u& }Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
, I+ j" w8 ~ c0 N) t- Q1 G+ V+ u- hRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;# @9 o4 L: F }# n) d% f
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 e' m% O, Z0 t2 P- Q
( v0 E1 q) [6 I% {/* create a logger instance */
) r" b7 q) e+ O* z3 S! ]4 r' @var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, n4 a0 V! C, S
var loggerBufP = new LoggerBuf.Params();& Y" I* v" f+ ]1 @9 T( m* X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 F% b' l' I* P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. r2 c4 }. W, W7 Q" p8 t; @! o$ T' t: S. _1 a' n% n8 N
var appLogger = LoggerBuf.create(loggerBufP);
; z$ X9 b6 o. X' A8 OappLogger.instance.name = "AppLog_Core1";4 c3 o% ]1 f) r
Defaults.common$.logger = appLogger;
/ P$ f; m z& w, s- L6 B0 _$ gMemory.defaultHeapSize = 0x8192;
) L8 w/ g6 T: nIdle.idleFxns[0] = "&LEDStatus";4 q& D0 j/ d5 Z3 Z7 B
Cache.initSize.l2Size = Cache.L2Size_32K;
' y* W& i/ |, W+ B. }& Q- c* G4 w5 n% O
|
|