|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 x A3 Z( Z- @5 N' d
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ v2 ]9 H0 `+ k0 V
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 I% }, g' J0 v: d, E( a. M6 m4 L! ? p. ~5 b$ y; |/ C$ Y* A |
是不是需要在DSP.CFG中进行配置
+ a- O% p, r! d, p& s我现在的配置为- c! P8 T4 s6 l2 A" c
# x9 A& g. [! D; Z) [9 p' B/*
" `, {$ n0 o& W * ======== Operating System Configuration ========
/ b* n: ?+ Z9 X */$ @ u' o) n9 g% W$ j
6 W* H2 b6 ]6 u- U" l9 ^6 ^- }
/* no rts heap */8 ^1 k! @% }' j, z4 _8 u! L
Program.heap = 0;0 x& {$ E9 m# l9 G- ?% S
Program.argSize = 100; /* minimum size */
7 f$ ?! E" M0 W+ L- kProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, `4 U7 J P7 `2 i! X
4 n1 D% n' T* J. c/* create a default heap */
( p) ~2 N# c2 C3 ] [8 ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 O9 e& I0 b8 y3 w& _
var heapMemParams = new HeapMem.Params();+ t: Q s' h: q/ A8 P
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# u( k3 {( W' G, {" b' L' z* v
( [1 x. h; P4 H" S3 ?9 O
var Memory = xdc.useModule('xdc.runtime.Memory');6 D. N: \+ k) J
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 D6 ]- Q8 c0 d0 n1 }" J8 }3 h3 u4 G+ c8 U: o
/* configure System module */* [& o1 K& L$ F7 z* t9 o
var SysMin = xdc.useModule('xdc.runtime.SysMin');
% [( c! E7 | h9 J4 e0 K! W- @7 \SysMin.bufSize = 0x1000;0 a5 _! U% ^& b- o4 M5 ^
SysMin.flushAtExit = false;
o( I7 I% N$ C, j' A/ u/ k" {$ K" l8 x5 x
var System = xdc.useModule('xdc.runtime.System');& H# Q( M$ E4 {9 D# w* l
System.SupportProxy = SysMin;
/ q; {) |- H( W& C' _, X" l# Z
% z8 i# ~ C/ g" q. O* i0 h1 o/* configure SysBios to use the lower half of Timer 1 */
* U# D0 g$ S1 W5 xvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ E2 D- G8 C/ l4 b
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
- \% r- R! M* f" C& VTimer.timerSettings[1].master = true;, u8 N, e0 n3 H% [9 m8 h- [
Timer.defaultHalf = Timer.Half_LOWER;. E5 O4 H' a" l+ X. y
Clock.timerId = 1; T4 _, f. g# ^" C
- F7 T0 E5 q+ z! r+ A; K
7 g/ U5 h% C4 M9 v8 H! ^/*8 ^0 v1 y# T: E5 Y: O/ Q, K1 g
* ======== Miscellaneous Configuration ========
3 h) F0 J! P! z- Y$ g1 A* r7 W' E$ | */ Q, Q- [& W6 e) H
6 ?/ o2 L; W: n- Z2 t8 m
/* set default diags mask */% y6 U- ^3 m) [4 t
var Diags = xdc.useModule('xdc.runtime.Diags');' C, z# `7 l5 T8 O, |" j
var Defaults = xdc.useModule('xdc.runtime.Defaults');, t& E8 v: ], S
w' | K$ S T. T6 f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: A- E9 O. x7 _5 V) z0 m9 hDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) b0 ?% K# O' Y9 i( ~
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% [. A* O' Q% U5 S. F4 cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' w7 {/ M$ }5 _, W. d5 nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& R) B) I+ U3 y- L& }* ^ b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 X+ ~8 f1 y* e& e" R+ gDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 v. s9 X2 y' p% d/ n! H
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- N+ T1 O3 N, t" _$ h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# l4 F& z5 t$ T7 w
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;$ a# H5 B: s* o# k7 b* e
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) D9 X. k1 W/ M: d8 A/ I+ w' k ?Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 Z5 A0 ?( y! K3 i- zDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;% @, @. L$ j: z) ]1 E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# W/ b4 ]- H d
" V1 r4 _3 W' `3 a7 q% [- O/* override diags mask for selected modules */
9 y( l7 {, f# Kxdc.useModule('xdc.runtime.Main');
4 P; `( V ?8 PDiags.setMaskMeta(
^1 N/ U4 ]( c2 V& {$ [8 L w "xdc.runtime.Main",
: H$ P# x2 E8 q( t J0 @2 O6 ^ Diags.ENTRY | Diags.EXIT | Diags.INFO,
* D2 y0 Q% S( L" l) c8 g% B Diags.RUNTIME_ON
4 S+ Z5 c7 F! E% H% M+ X2 E" |);! W( g5 K' s, l% L$ T# N# a
& w% w/ a; D. q+ r2 \/ Tvar Registry = xdc.useModule('xdc.runtime.Registry');
9 ^+ Y! p7 D) V6 zRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& T# I4 q6 @5 E9 Q' A6 h- D. v% ^
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;% ], j$ D8 g& Y v5 U
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 l7 j' z( H: N) B' q8 L" q WRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) V7 b- o# F1 q7 B/ f
, o: R7 L! S# Q6 b. Z/* create a logger instance */
. K" U: t; y6 G& b$ c7 T0 A: J- vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% z9 p, K/ J$ t2 K; {2 p% f6 i
var loggerBufP = new LoggerBuf.Params();
. v0 f4 K; s$ e& q2 P+ d, ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ ]8 i6 v3 b) M* C+ Z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 a5 H, ^' C- f$ T1 I+ s! r" m( h/ o* j* u9 Q4 ?; h
var appLogger = LoggerBuf.create(loggerBufP);
3 y' ~: ?, Z1 b; r, G0 d: J% RappLogger.instance.name = "AppLog_Core1";
5 I- k) _: C% |$ @Defaults.common$.logger = appLogger;
# {: L3 {( A. n8 z1 P" @$ uMemory.defaultHeapSize = 0x8192; " }$ K& @ ^; p/ `/ ]
Idle.idleFxns[0] = "&LEDStatus";
. Y6 P' q. T' h8 {- Q+ j$ X# MCache.initSize.l2Size = Cache.L2Size_32K;' W. d6 w% U A0 ^5 d# {* \% [- @
0 v+ |" K% I8 a* c7 I0 m8 L
|
|