|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 Q# }. |$ ~3 H8 Z3 d, _3 Q% U
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( X2 s) s6 f, b! U4 H$ P. O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* x9 c9 n, Y" M) H- ?% o* ]' v: e# g
是不是需要在DSP.CFG中进行配置, C m1 O& ?* x! V4 Q7 Q. u) A
我现在的配置为! n1 m* b& Q! C7 L5 p, J9 Y
+ \ C0 g+ G) |7 i) w; s4 L
/*+ ^: Q) o! b: ]4 _9 J
* ======== Operating System Configuration ========
3 m8 R0 K7 S$ P' b. ] ` */
7 d: U* e) F. d) O! w" ^3 X* Z' w+ p& ^" W
/* no rts heap */
8 W- }5 e5 z% m8 |5 i% c PProgram.heap = 0;
- A" ?6 X5 G* V; [7 w! w8 s: gProgram.argSize = 100; /* minimum size */
3 {8 P$ h4 d$ j2 p) vProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ w! o3 ]" h1 _- i, k( t! Z- O
) D9 h$ q8 {. ?6 S7 O/* create a default heap */, X/ K; i% j- o2 u2 z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 z5 |6 K, e4 a: Nvar heapMemParams = new HeapMem.Params();7 U5 z4 p/ f: `- @" r4 w( n
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. I( ]2 [7 E0 `1 i2 f) e; t8 ^# |& u9 e* r2 i
var Memory = xdc.useModule('xdc.runtime.Memory');
+ \+ I; }0 o1 TMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 E2 x4 q+ m, Q0 G$ [3 l$ X
* M0 Q) u" l) k8 X8 m# n/* configure System module */+ E6 \( o" M, k6 @
var SysMin = xdc.useModule('xdc.runtime.SysMin');
1 T) ?, ~/ h8 j3 Y3 ]SysMin.bufSize = 0x1000;: ~' S' ?' t- e3 b5 b" C/ @# U* z
SysMin.flushAtExit = false;$ l2 h+ Q, ]* v
% w3 ^9 Q. ^5 N' O. s0 s9 I. A
var System = xdc.useModule('xdc.runtime.System');
/ g( y# O! R$ L. Z& pSystem.SupportProxy = SysMin;/ U0 w' U {- }
& o" F# A2 M% M( ~) L
/* configure SysBios to use the lower half of Timer 1 */1 |9 R2 d8 D4 w* b% @
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ [. j# U0 C0 [1 O
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" Z2 @+ e8 D* F# s( y' ]- {: e+ YTimer.timerSettings[1].master = true;
) D X7 Z0 p1 A0 L8 g4 ETimer.defaultHalf = Timer.Half_LOWER;
( a8 g7 }: K9 a, {Clock.timerId = 1;
2 z4 D5 ], w2 I, H0 B
9 V& ]5 l; I' H1 _
, ]3 I! Y1 s V# o/*/ N4 H5 u7 |' d6 g9 J5 V
* ======== Miscellaneous Configuration ========
$ E; n1 T* I7 h4 z: \5 H/ x" n */. u0 i" T, \! H( ~* m0 L% q. @# u
+ M$ @0 |. [. L5 Y6 ^) U$ a5 P/* set default diags mask */
$ u9 M* J+ ]# A% [- }3 Rvar Diags = xdc.useModule('xdc.runtime.Diags');! p/ d* B! a6 ]" s |. x- q
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ h/ ^9 P4 T8 N T+ x# e4 s( S
- A7 x; g( {" h" L( U m% {
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* }/ `* V* _" h
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 S7 _/ G2 p, W6 P& o yDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 I/ B1 T$ c7 E) T" i) K
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; N5 L& y; ?$ i0 n: s$ ]6 U2 i+ ]Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 Z7 M9 v* ^8 S- \& M6 b% v
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 W% |* d6 y6 a$ t6 p& T8 \) GDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 r& K L( s$ S& Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" Y: Q0 f) H- z' m; k7 IDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;1 k3 R" K$ ]! x' Q c
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) [) o! L) K+ b: K2 l
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;! x1 c9 q- J: E- b! L
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* P) f& U, J6 {! P; ?2 HDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;& ^+ m N6 C' A8 o9 q) p9 E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 E7 P/ B8 D/ |) |$ A( f0 C
$ O# J1 x$ J( z: Q7 ^! V
/* override diags mask for selected modules */
5 F- C2 X5 s9 hxdc.useModule('xdc.runtime.Main');; B$ j5 n! Y q$ Z
Diags.setMaskMeta(
4 R) b3 @4 F. m, a( s: a# Q "xdc.runtime.Main",; a) m6 ^9 A8 \9 A2 O
Diags.ENTRY | Diags.EXIT | Diags.INFO,8 x& Y8 J" |4 a* ]5 s
Diags.RUNTIME_ON
% ?3 A o! H/ j h+ t5 a: t; C0 V);, o: H5 }. L/ N4 Y2 s0 T; D
( _+ X# O% L5 a5 @var Registry = xdc.useModule('xdc.runtime.Registry');
4 r. Y4 ^& y! R: K- P5 z! aRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" ~' {0 a3 s" B4 BRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: `* H3 p3 @4 e9 t1 ]' U/ WRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
; X' o) b6 Z( |( V# ^3 }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# N0 U' P( w7 F
b, o/ r) S7 N3 F/* create a logger instance */$ p& C2 z% x/ x; ^( Z/ K6 p
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- A# s1 t5 W& q" p' d: O, Xvar loggerBufP = new LoggerBuf.Params();
# y$ b7 C8 H. J7 O& }loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ g3 [* s. i& h, M: E& DloggerBufP.bufType = LoggerBuf.BufType_FIXED;8 _" Y; e" i' ^
+ }; c" h8 b( c: C
var appLogger = LoggerBuf.create(loggerBufP);. q& |3 G- n0 L' R
appLogger.instance.name = "AppLog_Core1";
! Y+ s( Z; h7 O- B7 m* mDefaults.common$.logger = appLogger;! ~0 \4 I( c5 V7 I; U
Memory.defaultHeapSize = 0x8192;
3 S# S- F* ~& a( |+ x% NIdle.idleFxns[0] = "&LEDStatus";% o( o) r& o' F. F+ J |
Cache.initSize.l2Size = Cache.L2Size_32K;
; H( p& c9 a+ ^/ C: T. R
8 l* Z5 K+ _: S& k. J |
|