|
沙发
楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 q9 _- |8 r }
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 t; S% F3 p; W0 j' E9 O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 w( c/ M! k3 K+ B* }. b; n9 K: [" y- j8 Z; I( n( h
是不是需要在DSP.CFG中进行配置" s3 |, w5 |/ c1 k+ i- d/ c6 u
我现在的配置为: E/ F5 j- w0 i4 l. X8 ]+ g
) o1 s- F, b5 U$ ^% L1 l/*
- V. o- x! u* K0 h( Y * ======== Operating System Configuration ========
7 B {1 L/ P* w1 {8 [ */
9 i7 c8 F9 n; a/ b9 G; w3 f/ n* {( r1 A$ i1 N
/* no rts heap */% @9 I' l1 G! y6 F
Program.heap = 0;' N' ] r( X7 T; m: P2 g+ X
Program.argSize = 100; /* minimum size */
% D) K$ J. t; {: `, Z6 a! NProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% Z( U# w% ]% E; ?1 X/ W+ f; H5 e5 t; Y) M
/* create a default heap */9 w. U3 ]( m2 v4 y/ m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' n5 y7 _* M" f- Qvar heapMemParams = new HeapMem.Params();
9 t5 H; t+ _ R: g2 EheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 ?/ D' P# W; o$ w: W
2 e9 m/ F/ Q* a8 i' ~: S$ Nvar Memory = xdc.useModule('xdc.runtime.Memory');6 _! x. m: m) Z: P
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& b: b! n( j0 g- {- t3 m5 c4 h3 w+ h
& f) c- ~) u9 H- @: Z
/* configure System module */ t, X6 L) U' k3 b" N
var SysMin = xdc.useModule('xdc.runtime.SysMin');7 d# p9 F' U/ O7 j5 m' Y7 k; P
SysMin.bufSize = 0x1000;# u7 V2 P! o- I- A
SysMin.flushAtExit = false;' p# o, K+ ]7 n; l x8 [
" l$ [1 d) L& H7 k) a% evar System = xdc.useModule('xdc.runtime.System');
5 B# E1 d; J% {System.SupportProxy = SysMin;
+ w: Y/ a8 t) ~+ u+ l$ y* |' N' I/ Q" p& G
/* configure SysBios to use the lower half of Timer 1 */
' N4 y7 n0 s% @) v/ v. Hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 z( z s2 D( L( d1 Cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');' N9 l z$ {5 ? ~$ ^
Timer.timerSettings[1].master = true;
% ]9 P5 G. w3 @; X/ n7 ] J( v$ r; `6 ?2 ^2 DTimer.defaultHalf = Timer.Half_LOWER;
6 y$ g2 r1 o w' ~1 f9 c) j; wClock.timerId = 1;
) y, N& X5 R9 @( l( e* Y: ]( d% S# c# s6 ~3 I8 ?9 I) W
4 D6 }% u8 l0 G
/*% z/ q- R" L$ X; F& H: O
* ======== Miscellaneous Configuration ========% x# n1 j, E6 i% R
*/
L' j1 u* W0 a# Q3 T6 \' p1 a) U7 D" A& q7 {, k
/* set default diags mask */
/ x! {/ q* z/ G* |8 {var Diags = xdc.useModule('xdc.runtime.Diags');1 h2 l) w3 E1 x
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' `8 {& S* x! d' `% L
& @* i+ P( B0 C& ?% w2 z9 ?Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* n( |* q' y4 b, e/ O( H, i
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- D& y( M2 x. [$ L- i D5 p
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 o1 g/ w# d) `; i$ } M
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 G1 v) f o% v RDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 N. }( N$ {; r& h/ vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 _" B$ s4 l, l+ z- c
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ `! I. k h0 E' C) P9 t4 T$ l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 V0 O* \+ ^* c: R6 SDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 u* ? R' I; f* ~5 ^; @
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 {( \/ U. g2 f n HDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* c, H& J& L0 h! cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ ?& o- W7 N8 I W' ]% Q/ v% | e9 MDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 |) f* S, j2 C
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: f" K, x, G) ~: I$ q2 G$ ]0 X
! ]. U3 d8 t4 P X" E& l- I1 ~/* override diags mask for selected modules */
& m) C( e$ H$ x6 J) `- L+ u% \xdc.useModule('xdc.runtime.Main');8 m8 g$ k( M) ]; s
Diags.setMaskMeta(
, s$ r+ j& D1 A1 \0 C% c) w* m "xdc.runtime.Main",! r, \8 X9 U+ m7 D6 y; x5 I3 V
Diags.ENTRY | Diags.EXIT | Diags.INFO,% u. p3 [* c% |* x3 [
Diags.RUNTIME_ON+ {5 p' x+ z u* \% P4 R1 p
);7 F2 z, j7 k/ K( \1 y3 U& S: L
. n% v7 W# x9 Q- T
var Registry = xdc.useModule('xdc.runtime.Registry');
( R3 q, d; [8 I4 q3 s) K z+ ORegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# L. A K y! c& u4 a1 dRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ ]: Y; r% k! P# A3 p, b8 c
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 W' N! X! f% Z, q3 c, D k ERegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 Q1 x: F/ b J1 t N3 ?8 h" _* n' [/ V# a9 f
/* create a logger instance */
" Q8 e9 F) c4 [3 kvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 _3 H9 ]; v3 L" [8 T6 k6 fvar loggerBufP = new LoggerBuf.Params();
- B* O" U7 h9 [7 J: hloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 K& O& l* ~9 t; y5 {! b
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" i! i" G4 s) @" C& {/ h( _4 r) t
/ ^: `9 Q/ S9 G2 h- D7 y! P8 gvar appLogger = LoggerBuf.create(loggerBufP);
% Q2 i+ S' J% z" a; qappLogger.instance.name = "AppLog_Core1";
! o) |- r/ J7 j: y' a5 N. hDefaults.common$.logger = appLogger;; W' N4 ]7 V, H- r* _- q
Memory.defaultHeapSize = 0x8192;
4 q# ?8 Y( a6 x$ S& n! \7 [Idle.idleFxns[0] = "&LEDStatus";
# g) a7 _# g5 b% t' ACache.initSize.l2Size = Cache.L2Size_32K;
2 ]/ v( ?% p0 @$ x* w! b/ \7 a. \
- F0 s& i2 z4 j" ? |
|