|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* o- g2 o0 ^8 J: g& J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, u' a6 u& i8 {# {: f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ x0 R% C; p1 |
$ m& x6 L" N/ s Y- n+ d
是不是需要在DSP.CFG中进行配置# g3 K( X6 ? U F. R& V+ D
我现在的配置为6 W- A: O; v5 g' N3 g
9 Q2 A5 M7 i: V) ~7 M/ v/*
4 E$ [9 g. j6 Z( U! W- w- K * ======== Operating System Configuration ========
# o5 L) Q s' {$ S% _ l */7 J5 A7 }9 I- z5 ?% C6 C) K: I8 Y
' b B/ m: m3 K) f. @/* no rts heap */9 }9 O1 V1 B Z% a" G
Program.heap = 0;
* `& j. {8 j: g: n6 ]Program.argSize = 100; /* minimum size */
' ]" w# s! b7 F% X3 [6 y* NProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& \8 \1 H$ b7 _0 H+ u* s! C/ n" q
3 C: r7 J. C7 x" G- T) K5 y/* create a default heap */
/ X$ _, i- A! ~# f/ H* Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ A# V' U* |2 V3 F* O8 W4 K6 e
var heapMemParams = new HeapMem.Params();
$ |2 u: ]9 T: D6 Y, RheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* r1 R9 i2 q" C. P0 [
) t4 h) m, d: C, f* \+ k8 a9 R6 Evar Memory = xdc.useModule('xdc.runtime.Memory');
; P: ]' w: u; [9 a& FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, A% w$ b" ?; K- l+ j
9 p, b6 \/ B/ ~# S/* configure System module */4 _4 {7 Q. u) ?8 o) g
var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 g, C1 }5 I+ C% ?) s: w H. o$ ]SysMin.bufSize = 0x1000;
: F5 V5 O1 P: |1 I- SSysMin.flushAtExit = false;2 {* N; h- P- b" \2 w
7 [$ g0 ^. Y- s8 K, cvar System = xdc.useModule('xdc.runtime.System');+ ^$ a* g$ b: o' ~* B! s" K& W
System.SupportProxy = SysMin;
9 o! d$ e, U: j& Y
1 U. _* `" f0 u( L' o, d1 ~, w/* configure SysBios to use the lower half of Timer 1 */
! O% h7 V* \; S; Y0 }' jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');- R7 C+ X% a: F3 C0 \; M3 ^
var Clock = xdc.useModule('ti.sysbios.knl.Clock');9 T* ~/ r, }+ p8 K/ {$ L! I
Timer.timerSettings[1].master = true;
6 ^# X" E% g- I: K& mTimer.defaultHalf = Timer.Half_LOWER;
3 o2 t6 L2 Z% t& R& PClock.timerId = 1;
2 \( u+ P) n/ `5 S/ K' J/ d; o. E% {2 S2 G# r
9 R3 B+ [2 f5 d1 N( h6 \
/*3 X: \, N4 A! N
* ======== Miscellaneous Configuration ========
; ~' x G7 F- K */
6 `; M r+ Y0 d# u6 E$ Y4 d: Z: d- O
/* set default diags mask */' ^2 a" c$ z9 a& L; c
var Diags = xdc.useModule('xdc.runtime.Diags');- _* H$ |/ ?% f* k
var Defaults = xdc.useModule('xdc.runtime.Defaults');
1 Q$ c. D& }2 D& ^( [/ L1 |& r# Q
; U3 j2 W! w+ k8 o# \2 @2 mDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 m# b2 Z( z8 Y* b6 M+ w- i
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 z, g% V/ d' e& }# i* B$ SDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 `4 V- e6 O$ J" J4 x2 T
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
P) H' o$ b, M' ^1 S9 BDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, p, J7 p, q8 |" lDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- t( v% O+ P8 y) P, hDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- h' I. ?' B4 B8 u Y8 cDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 V& R4 u* _8 D. S; x+ a. @+ FDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 _0 A7 e9 X0 _$ Z* Y2 d5 r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 U$ z7 p+ j$ J- K' n$ P- H
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: C0 M" k6 \3 k, n
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 U+ F0 [% u W& B% M, P! ?5 IDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ s7 O' D0 u! D ]8 W. o5 q: B
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 a! M& u3 \6 m" r) `' P! Y
2 X5 [7 A) d. V+ O+ O3 P
/* override diags mask for selected modules */
; Z( Z) R+ I4 E" [6 o8 }xdc.useModule('xdc.runtime.Main');2 S5 Z) q5 f. @; x5 p; ?
Diags.setMaskMeta($ t% N/ {0 d# w- h5 I9 t4 g7 `
"xdc.runtime.Main",; |1 g& z8 M# b$ Q7 J: U
Diags.ENTRY | Diags.EXIT | Diags.INFO,3 x+ h; x# u: w! Y2 s
Diags.RUNTIME_ON& e3 R1 u3 C! {* [6 @
);
0 i9 n$ _* m7 L& g: R) z/ L& H$ T8 D5 w3 o+ G" l* F1 S. g W
var Registry = xdc.useModule('xdc.runtime.Registry');
& P4 w* D! k5 {/ fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) ^- ?) }# b$ E
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ |" h" w' W3 n/ o$ B: DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;, D, h& Z$ T+ t6 w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 P- ?1 `6 i9 t+ z
8 h- q# a9 x# J9 J4 V% ]) m
/* create a logger instance */1 S e7 }* B% {2 |7 u4 w. E
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. K9 Y$ O6 ^( d9 w! G& gvar loggerBufP = new LoggerBuf.Params();+ h8 Q/ G" N! }* Y$ D
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 l9 K% h- b, r$ ~6 f# P9 L0 v9 FloggerBufP.bufType = LoggerBuf.BufType_FIXED;1 P+ Q( x# j9 A6 J( w7 |- I' d
* d' m, Q2 q9 U# ]2 ]# ?
var appLogger = LoggerBuf.create(loggerBufP);
5 a0 T$ t% }8 Z1 `! BappLogger.instance.name = "AppLog_Core1";
, q1 M7 ^' q( w3 v0 ?4 D* xDefaults.common$.logger = appLogger; }0 o# e$ {3 a- C- L4 n
Memory.defaultHeapSize = 0x8192;
% c1 `2 r( R9 \$ f# zIdle.idleFxns[0] = "&LEDStatus";
/ l9 f( Y) K5 X, i$ f* UCache.initSize.l2Size = Cache.L2Size_32K;
1 G: t( n1 k9 `3 Y
3 ~4 j5 y1 ~# R+ J% G |
|