|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 M. x2 d& l. |4 R: Y1 q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% K/ g7 x. N% C( z& L5 p(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ D/ V* N( D/ M% A4 E. F5 B
! ]! c: s4 b2 U; _' A
是不是需要在DSP.CFG中进行配置6 V, e: [" p( ?7 c
我现在的配置为
( f+ Z( s+ H, b: c* |8 `! f) j, U
/ d2 v1 K% [5 U! n8 A+ Q/*
2 [% x9 L' D/ V- s, o' m) z. k * ======== Operating System Configuration ========( Q. \# I# v0 e' [. S* F! W
*/
$ B* \, V: s- \ I" K5 _4 N Q! V( j; @& U @4 i. |* x
/* no rts heap */
1 i W* u2 Q: z D3 JProgram.heap = 0;! q$ h: Z1 t2 [9 l% u
Program.argSize = 100; /* minimum size */
0 ^. d* y3 @3 gProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% A# `# P: u4 |( C7 A8 |5 A0 O# B0 p# a% |
/* create a default heap */" G* `0 p! ]" v
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');! C% v; _. a9 n: n8 o" a) \
var heapMemParams = new HeapMem.Params();9 _9 O' p! Y' _# W" ]: t* c
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) V9 ?0 ]& u& W& N/ }
6 {" |& c% Y+ C/ p! t5 g
var Memory = xdc.useModule('xdc.runtime.Memory');; ^# W7 N* i) n _; t# u/ ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* \3 g) `! d, }) d- I
D( Z- O7 g- f
/* configure System module */+ c( a9 t v: q! j. z
var SysMin = xdc.useModule('xdc.runtime.SysMin');' P" L9 w. [! h D& j$ U7 N- e% ` L
SysMin.bufSize = 0x1000;
) B5 E; x, q* M/ [& ~* l& ^# PSysMin.flushAtExit = false;
" l( g5 h* N9 }2 R
7 w0 b& t! }" }* O& V8 m( Kvar System = xdc.useModule('xdc.runtime.System');2 H( m& k6 e4 g) v4 Q% o
System.SupportProxy = SysMin;- j: G! e: }4 p% B0 M$ N
. ~" z8 n2 \' \- e. q/* configure SysBios to use the lower half of Timer 1 */
. c7 h. t! s% |/ s9 s% Ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' _0 U+ K5 X. a Z% M% X
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
[( ^9 |' p8 @+ |/ {Timer.timerSettings[1].master = true;
7 C$ N0 w+ H5 |- D; L2 O" BTimer.defaultHalf = Timer.Half_LOWER;
* \& ]. ^) d9 AClock.timerId = 1;
2 \" z: z3 |- n1 X! X, v. @
! T- [5 B7 X6 h8 a+ U7 ^+ S
1 L) z) B+ l; a/ a- ~/ }/*
& W3 p3 _4 V$ n2 b V * ======== Miscellaneous Configuration ========
% M- V9 N3 Y2 X7 u( S3 G */8 i8 s* J( L0 }2 d8 {
3 S; F" T3 k# K
/* set default diags mask */ H" v& n9 Z/ C7 i2 Q5 u! T
var Diags = xdc.useModule('xdc.runtime.Diags');
D* i5 N& `' q- n2 bvar Defaults = xdc.useModule('xdc.runtime.Defaults');; ^. y, z1 w" D1 H% o6 \
/ D& H# M9 H! r# ~# @
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 j# p/ b: \6 H3 a, `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ n0 }# {) X6 q7 S* jDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 h$ z+ W# N) ?. c$ t) _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. h# D# R; I) c, J( y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 a5 C2 X7 N8 g/ o" V9 x$ {2 Z- s H9 [Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- G6 w: J5 j- ]" z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* f9 F; M! N3 \, v, E8 L! DDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: p' f6 M; s% |* qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 V! p0 |6 \' X7 S2 q1 uDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ y+ {( Q+ A% c4 X7 A4 p+ w0 {; p
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ Q2 t6 f+ l, ?4 N8 O' d% y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. [& i2 o& ~3 q8 u9 U8 {: |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
7 t/ A5 W+ F+ z- i( b. XDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% l, r5 J) f4 I A4 N+ M
0 f& V1 v4 X. i0 Y2 m/* override diags mask for selected modules */
* w/ W6 n2 z& S7 s( Bxdc.useModule('xdc.runtime.Main');3 W, @! {0 d7 V1 z
Diags.setMaskMeta(
9 n$ e$ z7 N* A9 {" t "xdc.runtime.Main",
. ^- n0 v( Q0 t! y2 C Diags.ENTRY | Diags.EXIT | Diags.INFO,8 ~8 C9 D. v$ w9 P5 W6 X
Diags.RUNTIME_ON. ?0 u: X% R8 \1 j
);
- ?0 P' o! Q' P3 P0 U; d$ }! m
) B, u( n8 d) uvar Registry = xdc.useModule('xdc.runtime.Registry');
0 Z- D/ Q2 Y( C1 b/ [$ @Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 D: X% M' e/ k& Y0 S, @4 Y# t
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 d: A+ L" N% ?+ L6 O3 L6 l2 w
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;) y3 J4 V! ~+ q$ Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 \! t0 a; G$ V, k# n, {( h0 d' e/ t9 w7 U9 A2 `
/* create a logger instance */9 w$ Z) g$ o) I8 v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 o. Z3 D2 B! [4 x# v: z! v/ D& h
var loggerBufP = new LoggerBuf.Params();
8 ` c& D# V0 rloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 }2 B9 l9 @2 A. v( ~loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) O: k6 p, p( W6 e F8 O, Y8 W
0 k) X( ~% p# ^8 s2 ~; {# c ovar appLogger = LoggerBuf.create(loggerBufP);
/ g& x5 ]& F$ O% W1 mappLogger.instance.name = "AppLog_Core1";
3 M2 B. \8 o2 k3 fDefaults.common$.logger = appLogger;) U7 F$ q7 v) Z; ^0 G( w) N
Memory.defaultHeapSize = 0x8192;
R* h- A5 B. F4 q# h$ F; vIdle.idleFxns[0] = "&LEDStatus";
2 e7 _6 ?% e2 e) l# FCache.initSize.l2Size = Cache.L2Size_32K;: [5 h' O' u6 q$ E9 o# j0 `- N
* G$ c& J* M2 z3 u0 e
|
|