|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 A' T! P0 k7 }. p' r! V! z
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 a+ A- m' T$ ~# n(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 r) P& M# K) ]
' ]% n' ~( t, O: R( d- l [0 S是不是需要在DSP.CFG中进行配置* \; ~0 [% f3 N! C) B( ~
我现在的配置为! J8 M% S6 c1 i1 Q8 h8 o
$ X! K7 u! ?& X+ w/ `( p+ b
/*3 J/ a6 F% L" i% H4 E
* ======== Operating System Configuration ========: T- h( `( ?8 `5 h$ e$ q
*/: w2 d; m6 o: u5 _
# l2 b+ @# J9 [7 r! }7 q4 U/* no rts heap */: I9 H: [/ Z4 h/ w* E; t9 b
Program.heap = 0;
4 @) E5 p+ p9 w: z8 WProgram.argSize = 100; /* minimum size */( I& O5 `% c0 c: s; a, C2 E# _+ |( j) Q5 ?- q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
9 |8 I& V6 M- `- K, a) Z4 \% f E' `# r
/* create a default heap */
* R# @# z4 f, F( h, g0 f/ P' Xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ a$ j/ p {( G; p4 Z/ Y
var heapMemParams = new HeapMem.Params();2 u* l1 s# F; M- o% E5 B
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 r& `8 I) e3 \! p7 b4 C% e
7 p. N- u3 N) s( cvar Memory = xdc.useModule('xdc.runtime.Memory');
3 D% m( J- r1 S+ ?5 RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ R0 @- c/ \% s4 B" R
6 K9 {6 p/ ?/ y! b3 G/* configure System module */. Q9 Y, d0 a+ {9 O# X$ K
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" @0 L) H2 o2 S, A6 s/ vSysMin.bufSize = 0x1000;6 \; P( ^/ G! j/ p& N/ Z; r8 [6 Q
SysMin.flushAtExit = false;' Q& ?6 x& h7 ~ c4 @
/ k4 h" R# Z$ B" D
var System = xdc.useModule('xdc.runtime.System');, e) W7 U5 X! v: Q8 o
System.SupportProxy = SysMin;' o2 m5 O( s( \; B1 R, @) F% H
5 n8 F9 q2 a' p# O/* configure SysBios to use the lower half of Timer 1 */
# K" Q3 _9 g' D( Fvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ y/ d1 o0 Z y+ M% t
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
Z, L6 l+ r1 a; W+ q& A% oTimer.timerSettings[1].master = true;. J3 ^0 n; b5 @% L' g3 D o2 h0 n& @
Timer.defaultHalf = Timer.Half_LOWER;
+ G2 h7 L M1 u1 vClock.timerId = 1;
! k3 L% V/ {6 m9 K: {
% [+ K1 e$ v5 p" g; U& P q8 ~% j3 D+ B1 x5 S6 h6 y
/*4 ]7 d) |+ S8 K2 I, Y/ b% B% M
* ======== Miscellaneous Configuration ========7 c, z* N. C: ]1 j i0 P. [
*/2 S) s* Q/ n: z; {0 g* J
- X) q! p0 u9 |4 l
/* set default diags mask */
! I' h0 Z" b" ~7 Wvar Diags = xdc.useModule('xdc.runtime.Diags');
0 _; d( E# F M+ f8 A* Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');! m+ Q% C+ d* h- z9 k# q3 D# ^
$ L! s9 F$ H( \; r5 G* e; t; z' O# V5 t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ |7 l: H% P/ J5 nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( H1 O- Q: y. o# [$ u; r) V9 {* d
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. v) f: r1 v& J4 O0 ?$ t% L# D" nDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 k. y2 `; u9 E* I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ d: _! @$ I) M+ G& D; h- E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 W' [ y5 _+ V( q0 r2 b; B+ P
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! E4 R M- j7 q+ f2 R
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. X- u' B: a% C- l
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- D& e+ H/ i- v5 p
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 R4 n9 P# A/ Z- NDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& A; a0 u+ d; Y" e$ T- y( P* M; s
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- V% Z/ m: N* e% C5 O. U) x EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ F* Y- g0 v2 t" k' b3 b; ^
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 A' S% `$ x* l4 e8 V
) U; ~8 b* n- z( ]) Y# Y4 k1 m! f
/* override diags mask for selected modules */
4 m3 Z4 ?' q( U1 t1 d5 Txdc.useModule('xdc.runtime.Main');
3 U- O6 g" U7 S9 J0 |1 s1 sDiags.setMaskMeta(
4 {. i1 D' @' T "xdc.runtime.Main",$ d7 J0 ~) T# e0 I) x% k8 D
Diags.ENTRY | Diags.EXIT | Diags.INFO, y% {3 K5 j+ j; v6 Q: M, E L2 o
Diags.RUNTIME_ON2 N4 Z) Q/ g2 P) c ^3 Q, P
);
1 P1 Z) u3 r3 J5 x# d# K/ S( \: X' w3 t* \4 W0 n. j9 c. I9 X
var Registry = xdc.useModule('xdc.runtime.Registry');
+ o& o, `; J Z) R$ W6 O5 x7 MRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ _. y8 l6 T+ Q. D, f# G, `5 t, F
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 U8 Y9 _/ p1 WRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
) G$ e, v7 O5 R5 U) g v9 y9 K' wRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 g, J5 i% z& Z) F4 W
" e2 r% r3 i( `/* create a logger instance */
$ R% T& \# S" n, Z0 Cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& s+ C" [1 W- G! g1 n! }" }
var loggerBufP = new LoggerBuf.Params();9 A5 f2 m4 u, b0 V
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) S2 ~0 ?7 S5 o$ N- P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. \) A! c, n8 e/ S1 l) W1 @* @) X$ L1 B8 M' b
var appLogger = LoggerBuf.create(loggerBufP);
- X: z' p* E3 v; W1 jappLogger.instance.name = "AppLog_Core1";
5 V1 m, H+ i3 E6 EDefaults.common$.logger = appLogger;/ t5 c9 @; D; A& k
Memory.defaultHeapSize = 0x8192;
: S. I6 f9 J& p" XIdle.idleFxns[0] = "&LEDStatus";
+ m* Y r' i" N/ @Cache.initSize.l2Size = Cache.L2Size_32K;
7 A* n) b0 [: i, ^: I
/ A3 Z8 Y) a; v |
|