|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 C& F+ {5 L) `/ S我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 L) k1 P% \! h0 Y( A3 u, [# k
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); B h( Z2 e) t
0 ~% p; c9 y: s4 v0 g* k- Z
是不是需要在DSP.CFG中进行配置$ g3 g+ w& x, Y, K/ `' l. Z
我现在的配置为: f& G2 J! D) a" |* G
0 y# L/ w/ q% M8 j; h, ?/*3 p0 ~9 R: k6 K+ W% F
* ======== Operating System Configuration ========
9 Y3 U7 _% G# W" b# a+ q* U */
8 y" {6 ?( |' c- I8 l4 V, \: o4 \. ^# D; l [7 _
/* no rts heap */
1 ^3 j- F' `7 ~7 k& V' kProgram.heap = 0;
1 Q! D$ z. L# R' V* ^2 T6 K" ^Program.argSize = 100; /* minimum size */
+ H. x6 s0 c1 R3 RProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大* f6 I. l, U( ~( f4 w
3 r" m% {, T+ J/* create a default heap */
" q0 A! G5 v) J$ _+ X4 fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
! K) x: F; y/ @/ ]5 \( d( wvar heapMemParams = new HeapMem.Params();% f" a4 P1 x X, I8 \2 P
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* P# i% J; x# e
0 C. \) h4 n( l7 u; m; o
var Memory = xdc.useModule('xdc.runtime.Memory');
# }+ N) i5 e1 n# L9 ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" z) K& u, h2 |
% e4 K, @* }* v8 |; T* J4 W
/* configure System module */ E0 z6 \5 q3 j
var SysMin = xdc.useModule('xdc.runtime.SysMin');/ q' @1 k: _ I g+ Y
SysMin.bufSize = 0x1000;
% x$ S5 f8 L7 R' H) vSysMin.flushAtExit = false;9 g$ |% U" t# A$ z" K
$ A1 g& G- C2 N2 _1 vvar System = xdc.useModule('xdc.runtime.System');0 c/ o6 k, T; `5 T. u
System.SupportProxy = SysMin;- x+ W6 s W" V( ]
; S ] a* T3 m/ [2 e/* configure SysBios to use the lower half of Timer 1 */8 j O; R0 d8 }! l- D
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, F/ g/ t8 s+ n% r4 A& f8 W: r: r
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
E6 s0 {1 V3 r. r- S/ yTimer.timerSettings[1].master = true;# J) b6 B! P# h1 B; R& _
Timer.defaultHalf = Timer.Half_LOWER;
7 E3 ] ^4 L. Y7 F5 PClock.timerId = 1;( e" M6 L$ x" b4 E' g2 A9 d/ X+ }; \
& G) s( J8 Q7 z: e G7 e' w/ p, H
: E4 ~3 m4 S" [" A9 F/*" L' {/ A+ H# @; T! Y5 t; O
* ======== Miscellaneous Configuration ========
& m7 J5 p0 D- P# G* I */
+ G$ d/ _+ t; e: a! W; a3 y* B/ V9 T T' S8 S3 o3 L
/* set default diags mask */5 r5 E; t5 N& \, d: A: e
var Diags = xdc.useModule('xdc.runtime.Diags');
7 b; A7 V$ u( `% @" r1 K% `var Defaults = xdc.useModule('xdc.runtime.Defaults');& I9 _! l2 t S+ \" _
% K" d9 ?6 I. q3 `3 u% c: `
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 V! O' s! _* h# ] }Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 K7 q) {8 I9 Z( e
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ |) v8 ]( ?4 T8 U. R
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& P+ S2 @5 j$ {" D+ M* o
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; D$ }" n: r. m% z) O& a
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' X' ~# V8 d7 VDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; ^; y" U- M W9 |* r. m4 \' ]
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 J+ K! u5 _# D% _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; V5 n* Q2 { l, J. ~* w3 z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 w" ~, |* U* f0 F) [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;6 H8 ]7 F) w) v3 P% k6 U( \
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- v* n0 l/ D2 L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# I: A/ F* p$ Q8 V$ ODefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 V" X( A- S7 @: j+ Y
1 `9 E4 C7 ^5 Q ` B H/* override diags mask for selected modules */
" F u+ d$ s8 Nxdc.useModule('xdc.runtime.Main');* W' r a- c/ m3 h0 P- ?
Diags.setMaskMeta(
; x7 _0 W- g, W2 E- r' P+ `7 e* v } "xdc.runtime.Main",
]6 c+ W7 E% ^% V4 }. o8 k# \& y) c Diags.ENTRY | Diags.EXIT | Diags.INFO,
' n5 r! o' \& s+ X Diags.RUNTIME_ON
+ k; ]! q! `" j; k/ C5 `3 f; `);
- z( a+ V3 Z( {2 n& P1 ^5 [- Q f; k0 w; }/ @$ \4 c2 T5 `
var Registry = xdc.useModule('xdc.runtime.Registry');' H9 w! U, @+ j; ^/ Y6 p% {
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" ~) b! ?' F H8 v6 c/ w' U' x
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;% F7 S/ s5 c+ F5 y1 R4 P7 u
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;5 Z# j1 M- W) v5 e
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: a6 J3 |, Q4 |$ k0 B7 ^4 H: ^
. y" x: g4 H, P/ j. \/ F T- m/* create a logger instance */+ O/ C# |% S! b) D
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 e) M/ [: f/ [# _4 d
var loggerBufP = new LoggerBuf.Params();+ \9 F7 \- c. [9 d
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- g6 G/ r8 |/ Y7 o6 r$ S: @loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" t) k$ b4 T- ^# O/ b
2 F: H/ J: ]! M* kvar appLogger = LoggerBuf.create(loggerBufP);, I; e; m- b7 x; A& K3 I
appLogger.instance.name = "AppLog_Core1";
- |( x$ V5 ` U& J2 u, @6 KDefaults.common$.logger = appLogger;) g8 W" f7 \- {( n2 }, g
Memory.defaultHeapSize = 0x8192; 0 X2 V5 ]; D: M, k3 I) }
Idle.idleFxns[0] = "&LEDStatus";' Y( q6 Q* v) T i1 i3 t" `
Cache.initSize.l2Size = Cache.L2Size_32K;
3 l Y3 i+ q# M& Q4 V
; `& q$ _, \3 M5 E& D) t |
|