|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; J! G& R7 s; {+ B- e我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ a3 b/ h, C i8 x( A# u) g0 T! v
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 G* V) p* N" u B$ `) J. j' m* \# u2 r
是不是需要在DSP.CFG中进行配置
. Y# ?8 }& u4 y3 ~# n我现在的配置为
8 O% r: z; C) q# H1 `, U; K* G# ^& I8 q2 A$ M
/*, T. L# k0 Z" E
* ======== Operating System Configuration ========
7 M8 @$ [2 ^1 K */
' S' l1 w+ h# l* V% N/ j2 g
8 e4 o. K" q$ ~/* no rts heap */
* z, t& z4 `. l" vProgram.heap = 0;
# d9 [, o/ E6 M$ I4 x5 {Program.argSize = 100; /* minimum size */
' p; w% E! I) a6 IProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大; y5 A* O3 z1 ?9 j1 {2 @
* x' W3 O2 s% Z/* create a default heap */" g- f- s# U- a' {3 T
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 q1 R& j+ @/ V3 B' ^: K1 w4 s
var heapMemParams = new HeapMem.Params();/ n7 U- F% u& O& q- `- W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: f5 |1 i' `( o+ s" }0 H
& g! `, @7 M3 c U, ]
var Memory = xdc.useModule('xdc.runtime.Memory');
8 }0 {! B: F' p0 k2 U0 ]- a1 xMemory.defaultHeapInstance = HeapMem.create(heapMemParams);1 T, }) n/ k+ {$ ^, c+ t
' t5 W1 x0 J- i, G2 G, F/* configure System module */
+ q; u: C& Q) Y/ \0 uvar SysMin = xdc.useModule('xdc.runtime.SysMin');: z+ l1 {) X% w) F3 N
SysMin.bufSize = 0x1000;5 H5 ~! `1 ~1 z3 y* T% }
SysMin.flushAtExit = false;
( E6 l7 w4 }* S: V: d6 u' i1 B/ _; G/ m0 |- C- F* H8 L/ M% ^/ A4 {
var System = xdc.useModule('xdc.runtime.System');
! k5 `, _. w; gSystem.SupportProxy = SysMin;
2 f1 J& N2 |% d8 z/ e3 o. b' N+ t @
9 \" L8 \0 T# g @1 ? {/* configure SysBios to use the lower half of Timer 1 */
8 ~7 p' x/ H5 u9 ?3 Q \) t t1 uvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 e% N- F6 t! L5 }var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ U% \# ` {1 {. y9 K; ~$ l# L
Timer.timerSettings[1].master = true;
2 j4 }' ^& l, zTimer.defaultHalf = Timer.Half_LOWER;% K. ?# E" ]; e4 w9 x
Clock.timerId = 1;2 i( z: A+ @. k0 P- x e
: `$ x2 S% m2 [$ V. ?) h0 {3 C
, h8 k* [5 D+ U9 C/ X2 Y
/*# [$ n" l, f$ ~) ?4 f
* ======== Miscellaneous Configuration ========) W0 u1 R, [) t1 X( }" g0 T5 _
*/8 g# s+ \5 f% l9 I" g
) W: P3 F# E" [: O& @1 N/* set default diags mask */' y2 t6 }5 B! U' p6 c0 B/ k
var Diags = xdc.useModule('xdc.runtime.Diags');: ]# r& {5 c6 Y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
- [( g& z9 g. Y: b/ P C q j2 G+ j# k* k1 b) |8 M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 s) l0 v: p. h( R
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! U) ^, {# F4 f# R) A g8 i7 yDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 O' V/ e* c+ [/ B0 u6 w) B; r
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 m- y% a9 A5 S( j! t8 V7 [1 ~Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 ~7 ?! [! |8 S+ w' r4 q, p
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- ~1 I, n$ d: k: [& s- vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! N; R/ H' v5 L2 lDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! y' Q1 m7 y7 r4 i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# S A0 V! {" _
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ `& |0 r; p$ ~6 O
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: p' H/ s# C' T. p( l7 Y# {. k4 y7 X+ P( @
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" Y* ?5 {$ }7 ^- t7 M# U7 M& N zDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 B5 l4 Y$ o/ z0 k) t8 L- n/ LDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) g4 \9 `- P; O) n' d# S; X. l
! f, c6 P) L5 |- l' S1 `% a: G/* override diags mask for selected modules */
. z/ ~1 Y- G3 u+ }+ @4 L. E5 a2 @xdc.useModule('xdc.runtime.Main');* I" T! T: x- v6 {
Diags.setMaskMeta(; g1 L2 V. B9 U, s
"xdc.runtime.Main",% |4 v& I; R3 S* c5 a q
Diags.ENTRY | Diags.EXIT | Diags.INFO,
& ~. I6 e: G) {/ C6 x. i Diags.RUNTIME_ON
8 a: D' e0 B6 v);6 X$ g6 K6 E2 g6 ]2 _" P
3 t0 B' r* r( D/ i9 O
var Registry = xdc.useModule('xdc.runtime.Registry');
1 G7 n; r4 V. S! nRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 _# P& G5 c5 v; ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 N& S0 L$ T3 w j WRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;6 Z ^$ b5 u0 o8 f: M
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- |& A9 l, ^- M J( b B! O6 k6 _
" [) ^6 G" p6 [/ E) B" J/* create a logger instance */; i# X$ l3 Q) {+ a8 i# @8 I
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 v2 k1 F% c$ H, l
var loggerBufP = new LoggerBuf.Params();0 t$ Y) a! Q: a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 n1 K$ s' Z4 U) b9 I3 iloggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 [4 f7 A3 j y5 x5 o0 Y. _5 ~
; H T$ ^5 T/ c2 V0 V( @5 s7 ovar appLogger = LoggerBuf.create(loggerBufP);
* o) d7 ~/ H% b% h' yappLogger.instance.name = "AppLog_Core1"; R6 t3 |5 w: V, @1 M
Defaults.common$.logger = appLogger;
. w$ e) [ i3 S. r ?" o( _% P. Y6 c" H/ JMemory.defaultHeapSize = 0x8192;
) E/ j( ~1 z: n. f* H8 Q, dIdle.idleFxns[0] = "&LEDStatus";
, `" t$ `3 I- |. ZCache.initSize.l2Size = Cache.L2Size_32K;2 {5 E- ~# k& L$ N/ r/ ^' T
7 Q' i2 Z" n6 _8 F, i( ] |
|