|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 v# n1 M$ U/ M0 z
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 a+ s, P W( d- m1 I(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 T0 K# O0 u- S, t+ \1 s% D5 b; ]
) y( s- ~4 w3 W+ j是不是需要在DSP.CFG中进行配置
) X1 i8 u P! N$ Q' N我现在的配置为
9 l# c! @* f% T" ]( a/ L# _/ @) X: s: f
/*
) h( u+ `$ [+ i# k0 ^6 Z4 [ * ======== Operating System Configuration ========
+ P8 }3 f. y' o: i3 ^, g, X5 M8 c */
' k P4 D6 n; d) q* Q% P( ~, p1 A6 Q% t( |% K
/* no rts heap */
+ g" V' A1 M& U' J( N0 eProgram.heap = 0;' W" p, ?" w5 S0 R. z
Program.argSize = 100; /* minimum size */
' M; M/ V y9 O: @0 nProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, ^6 y: V( [ s: K& t
( N. }5 Z7 p3 r+ H! F/* create a default heap */
5 @( _0 K4 q+ |; }; i: ]: Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& I8 t9 m: e; N) i1 s% y& ^: n
var heapMemParams = new HeapMem.Params();
5 j$ W% {! k' b4 e, S8 N( q) oheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 |1 h3 p! J Y1 G1 j) J! T( C o
% o1 p2 a- n1 H; S2 f
var Memory = xdc.useModule('xdc.runtime.Memory');
1 Q+ F6 k* R9 s6 ]0 BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
& p9 Y8 T1 v3 R; |1 } R( C; q @7 l
/* configure System module */; _2 X/ W4 @ L/ C$ H4 j
var SysMin = xdc.useModule('xdc.runtime.SysMin');. Q3 T$ o e( i) x' C. f _
SysMin.bufSize = 0x1000;; J. @ k8 }6 K% N, s# R! B" A
SysMin.flushAtExit = false;
6 Y7 P6 B5 r- D# E3 Q; {9 H# T1 ~) H+ ?
var System = xdc.useModule('xdc.runtime.System');& i' P$ ?5 W- }* p* I: B
System.SupportProxy = SysMin;
2 F$ F [5 N, r, _6 u
1 ]' Z% [5 `6 {+ Q2 A/* configure SysBios to use the lower half of Timer 1 */9 T& Z5 W, P" O; |5 f" `
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% V1 s& b, ]% ?5 n( f3 P$ {
var Clock = xdc.useModule('ti.sysbios.knl.Clock');9 x1 L1 E2 R8 w, p* A4 m" K
Timer.timerSettings[1].master = true;
! z3 K# b% w& v1 A. J- UTimer.defaultHalf = Timer.Half_LOWER;
+ h( Y0 v/ j2 S' S# U4 NClock.timerId = 1;( ]% E1 h! n* x A& |
; T/ k8 y% r. ], r A8 q
( U9 L- ]- s9 m* u/*
$ B% @" V' b* [) S: t" ?8 l * ======== Miscellaneous Configuration ========+ w( C' [, O5 L4 d( u
*/1 V: ^* \. d. ]
- k' @9 j U4 Q0 |/* set default diags mask */
. C' q5 r1 k5 s' ~: d; Avar Diags = xdc.useModule('xdc.runtime.Diags');* h2 `0 \$ g6 A# _
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ T* `) B( ?. S' f! S; u
* z+ G2 {' P, A1 {4 r, M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) A% W! ^7 r* o6 R
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;7 _1 ^2 j1 D2 \. \# ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 W& q* E$ X+ D1 k, a% A6 F
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. j$ F2 A/ J( T3 s& Q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; S ~! G: g F' Q2 l4 @
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 @+ `+ U& i# S- O& R6 Z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) [' F; w! S5 |5 H" w/ b# \Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 w1 y6 Z9 e1 N1 aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 V6 s# Q0 C# w4 F6 n8 D- W- T2 MDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 w* N6 O7 d: o, q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) w4 V# {) Y/ k! a# oDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ e7 F9 [' v8 t3 s) k, ADefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 E# e: r2 F% oDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ ~" q7 i% v/ V$ m2 T6 [3 \3 Z1 Q( s8 E2 J% M
/* override diags mask for selected modules */+ J. H) q. A9 d- W5 Z
xdc.useModule('xdc.runtime.Main');1 \: w! D. ]7 b8 m# Y
Diags.setMaskMeta(
5 L: ^/ `2 g" Z, ~* G2 O, a9 y "xdc.runtime.Main",
" W. M& F$ w0 D& C1 i i' h- j! q Diags.ENTRY | Diags.EXIT | Diags.INFO,
& D+ J' p' p$ S! y2 U+ l5 D2 w/ D. ] Diags.RUNTIME_ON
) V' x0 O! l$ P" o);9 K7 h, M1 f, [
6 z: U- I$ j% X3 a5 S4 M' k1 |! \var Registry = xdc.useModule('xdc.runtime.Registry');' Q* ~! V3 H& `
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. V1 }' H/ _& B6 l1 W2 ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 U- A Y; O: A# ?Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 H. ^3 M% H5 _. {2 U# r4 YRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;, Y) U C# Z- Z; V
- ~1 r/ L! T" n8 i! F7 A3 D2 Z; P/* create a logger instance */
; g' {- m/ Q, O0 rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& d a7 t, O, s7 ^/ Y
var loggerBufP = new LoggerBuf.Params();' m D6 X! [7 p9 O! |7 y% P6 l
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ O1 X: D) J% e& V
loggerBufP.bufType = LoggerBuf.BufType_FIXED;1 E) d+ Z/ S# `8 i, a" L0 q
# V5 ?: t: d$ n% @3 g- e4 L# R: Cvar appLogger = LoggerBuf.create(loggerBufP);
8 T' N! u& u4 Y/ V3 P. b8 \6 zappLogger.instance.name = "AppLog_Core1";4 q; ]! m0 a- F9 w9 }) R
Defaults.common$.logger = appLogger;
5 j9 Y! |6 ?' s& f8 c$ y" SMemory.defaultHeapSize = 0x8192; 0 ~3 c1 }4 S- ?' V$ v
Idle.idleFxns[0] = "&LEDStatus";
% u* r) H0 G5 XCache.initSize.l2Size = Cache.L2Size_32K;8 ^# c' j& g4 I! y! L& H" T
1 l% _3 x) ?3 l |
|