|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 N0 _& e1 a# ]8 p" {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; M4 {0 N/ c/ U7 v7 B- @3 f& W8 e4 ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& d8 r! L X. C, c2 K0 [9 [' j1 }8 C9 f
是不是需要在DSP.CFG中进行配置
; ]$ `! h' \6 V; \! k& k2 K: Q我现在的配置为: f) s- O& m! {/ m
5 N. w4 w/ h! Q0 P ?; g/*
2 N1 o b3 m+ K * ======== Operating System Configuration ========
/ k$ h8 m% K* v( {- R: f# C6 } */2 F2 Y! G. W) f6 `+ z) r( d
8 m$ i6 J: m& m3 X! G& ~
/* no rts heap */
/ v \' x: s0 b7 M' G, VProgram.heap = 0;: Y" Y+ v! a, v; b7 J; Y8 m+ K
Program.argSize = 100; /* minimum size */$ A' t& R, f3 Q* z! h, ^7 I
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- Q/ u# ^! v6 u9 K5 u( Q6 l0 t4 x6 _& Q" \9 P& }. X# J
/* create a default heap */
% a0 B3 N8 |5 V7 z9 V( v1 zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
: c8 s. |0 K# z& Z: V+ Wvar heapMemParams = new HeapMem.Params();& y( l( e" a; o8 N
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
~- g6 m% }) n5 J5 X: t/ N m( R7 }6 R
var Memory = xdc.useModule('xdc.runtime.Memory');
2 M5 B2 e( {/ q* W( o4 c1 LMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 y2 s5 A3 S, o7 `: ?
+ t$ A4 {0 I9 P5 f& p c4 j8 {5 N/* configure System module */
5 L( L9 M& l( x: x6 p5 E6 `var SysMin = xdc.useModule('xdc.runtime.SysMin');: u# q0 S |8 U! V [1 }) T0 i
SysMin.bufSize = 0x1000; L; c. S( x* t
SysMin.flushAtExit = false;, f+ i3 Q& v, x. i
. [: n+ y9 I) k& a# o& Fvar System = xdc.useModule('xdc.runtime.System');
- q5 Q: k) v0 B# F" m# ~3 V+ {System.SupportProxy = SysMin;: i) c/ q+ |: v$ \
- r* @4 k% o1 }% M2 g
/* configure SysBios to use the lower half of Timer 1 */4 N4 v9 N3 Y) C4 t
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 Z& `1 c' |- t: W- Uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
" {+ a* e v+ i& Z6 W' T# U9 _Timer.timerSettings[1].master = true;
, a! b# H( G; i3 ~/ \Timer.defaultHalf = Timer.Half_LOWER;
" H Z4 `, a" k X% ^3 k# lClock.timerId = 1;
0 Z5 G1 B/ O, r2 J' D7 n o/ w/ y+ o' c3 ]! r2 D7 |* p
5 L: ]( _5 ? ?
/*$ @+ r, q: E' @- C
* ======== Miscellaneous Configuration ========9 u; Z4 p7 p- e* M# L
*/
5 v9 X5 a x; G! n+ Q- N, T+ G/ n( W# l2 x
/* set default diags mask */6 N( B W' i6 q* a+ j+ {, P7 q! W' {
var Diags = xdc.useModule('xdc.runtime.Diags');( w7 Q7 a, U+ Z# h
var Defaults = xdc.useModule('xdc.runtime.Defaults');, U) D4 h3 P) y) k0 z V
- L2 ^2 h' X, H
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. r7 G; e2 }5 y) Z4 P$ [7 VDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- H) U2 J2 x. W' K, C/ n }Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! \; j$ C6 B; Z5 ^5 }" [Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( v. m- v' P7 ~: [% W' G% b
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
) H8 M5 c8 j7 J6 Y: N% h2 `* cDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;: A7 J1 _6 E" ^& }$ e8 n$ ^
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. ~* `- O0 l6 @) d# O, [* A# ODefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 k1 ]5 [* _ S6 k) K3 Y0 J0 [9 tDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; O2 ?8 v. ?; e& tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- C3 j0 u f+ l8 d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
. J$ b' J6 ~" \. tDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 K) i( f6 x( y/ a( t" UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, m0 h4 ^" S* \, B1 G: GDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( Z" y2 V2 V9 _4 q4 F& ^6 J7 Z3 x+ F$ f: {% M( M# L
/* override diags mask for selected modules */
4 n# M) j- f0 T# Zxdc.useModule('xdc.runtime.Main');9 g( e& K) ?+ B9 w4 P( X
Diags.setMaskMeta(
, g/ v, _/ a. }* a; l) r "xdc.runtime.Main",. f9 W9 m# a- V* r7 O1 ^+ L8 H6 E
Diags.ENTRY | Diags.EXIT | Diags.INFO,8 Y K) @7 Y( u5 M( {2 Y
Diags.RUNTIME_ON
& m' _* G) q; t* w, K- E5 o);# ]4 }3 B5 Y+ q8 i. N7 j2 k6 }
# Q& `, C' k4 n1 r/ Ovar Registry = xdc.useModule('xdc.runtime.Registry');. p/ d' ^) r; `1 h* m- @1 T- R
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ Y' g i+ m$ }* O. M4 X( x0 N4 t
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 G5 k% E* @# X r1 z& u
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 H4 M" ^7 z1 {% c8 U6 e9 X" KRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 D- |; s, _3 l: Y" H
3 K! y( b5 ?) {. d/ ~$ Y8 A% H/* create a logger instance */
# Q& o/ @3 S( r, K" dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- { v; S7 S; s, a5 ]
var loggerBufP = new LoggerBuf.Params();
" s- N! l5 b) e* iloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 h+ L* m! M5 Y% H0 B
loggerBufP.bufType = LoggerBuf.BufType_FIXED;- D4 V! v5 b# q, m$ G) M
+ J: q* N; {3 B
var appLogger = LoggerBuf.create(loggerBufP);+ d6 I @6 w8 e4 u H8 I
appLogger.instance.name = "AppLog_Core1";
. u- M6 q: v5 ?7 ]* A$ [6 z) u+ `0 ]Defaults.common$.logger = appLogger;6 M3 C4 |; j/ j, ]* F2 L% s e
Memory.defaultHeapSize = 0x8192;
W7 R8 I0 a2 g$ y7 }& O8 B% uIdle.idleFxns[0] = "&LEDStatus";
# b7 l) o7 ^- v2 U$ q' U$ u' UCache.initSize.l2Size = Cache.L2Size_32K;
, `: m' Q- t9 e$ f* Y$ _7 f- U( _; X5 `, H. C+ T$ ~; V" ^. J
|
|