|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 X4 d2 E" w) q% A0 |
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: P: M. \- V* N+ _(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 Q( t ], P0 h$ l5 Y
/ m) J7 A) z2 [7 k3 d& p是不是需要在DSP.CFG中进行配置9 T) C1 V& j7 o1 j% Z: J
我现在的配置为
3 k: G j. G1 P& X7 n
0 {" X1 x+ N; S) n/*, j) x# i+ d4 Z/ z1 _
* ======== Operating System Configuration ========4 Q; f8 m# [6 [
*/
6 ^1 d) M5 O- u1 a, C, [
& g* w, y0 B4 z* O/* no rts heap */
( \ V1 P" X; V' X7 _Program.heap = 0;/ N) n$ M; e, N r
Program.argSize = 100; /* minimum size */) m1 t3 x, Y8 W% o7 ]: Y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: b' ]; x2 J8 `9 x4 r* B3 _$ Q+ r' r: S5 p# t7 L
/* create a default heap */- p. O5 J" v7 ^! u* @
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% p$ C# E9 V' m( `var heapMemParams = new HeapMem.Params();- N$ K% G' ?3 q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. a. C5 e$ x; m# E! x* B
1 a0 J# {# g- o$ ]
var Memory = xdc.useModule('xdc.runtime.Memory');: D) B3 S, l p
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
" B, w& q4 Q! C( i9 A
3 R; l k% r, ~/* configure System module */6 |0 W8 p* z v/ l
var SysMin = xdc.useModule('xdc.runtime.SysMin');
8 m5 W V' k# c3 PSysMin.bufSize = 0x1000;
4 \- P' W' v, R9 d; NSysMin.flushAtExit = false;
! W+ d; A% C$ v7 F1 F. C$ c
- I1 P8 A! e7 r0 K% J- ^var System = xdc.useModule('xdc.runtime.System');
1 I/ n0 }/ _+ o1 n8 n" N& QSystem.SupportProxy = SysMin;" z) N, `2 |6 o1 E, w0 s! ?
% f8 J! ? [' n
/* configure SysBios to use the lower half of Timer 1 */
- c& x1 {7 ]" \) A$ a( C; ] u8 P( yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ O: E4 |- M; e6 Qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');; X3 @$ [7 D0 `" h1 r9 u7 m" q
Timer.timerSettings[1].master = true;) d( h1 h2 `8 @, {
Timer.defaultHalf = Timer.Half_LOWER;/ E3 q( }0 N+ }7 g
Clock.timerId = 1;
7 D8 \& ~9 i6 A9 V8 O
* u" `6 L3 D4 f* p* k" ]/ r* L* F8 K+ H. C# \; _8 t& O
/*# n' V) p6 Q4 Y" k3 `9 r4 D
* ======== Miscellaneous Configuration ========7 o4 l7 r! Z* a' T
*/
& \* J/ K& n4 Q( V: x. D; q4 ~6 O, m* R2 k& c: C
/* set default diags mask */4 b) V! O# l' d6 H6 `
var Diags = xdc.useModule('xdc.runtime.Diags');* O9 i. b( d4 W/ q5 j% t) l
var Defaults = xdc.useModule('xdc.runtime.Defaults');3 l' { `/ J2 \3 T9 ~" T* t( I" G
9 t9 H8 `" g( V& ~
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 ^% F3 z( d9 V8 P) oDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; Q; C6 ~& o; @4 P7 ]5 x# `
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. |- B! t8 G; L. M) f; sDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
A( c/ F5 Y2 G. s5 N" H; dDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ h j% M3 ~- j* W( C- x4 ~, ]: j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 P+ E! q4 @% y% m; j0 e/ H6 I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) R0 V" l7 Y; K+ |4 _% Z- J% V
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 U5 `' l5 I0 H4 dDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
e( Y. c3 Q# l, u8 f0 F2 _Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: e: p- k7 }" C6 P, f( H& X$ Z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 F3 W N+ b5 v5 u( d
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( ?- [9 {, q* WDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 X- Y& J5 V) C/ v
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ W3 T/ O& z6 v5 r5 f
6 N$ ?/ q& W3 R! a
/* override diags mask for selected modules */2 i7 t$ D' Q. r
xdc.useModule('xdc.runtime.Main');
! j( c# w. G% E8 T' R+ J9 R) DDiags.setMaskMeta( C1 c7 @$ j' \& `" W! g
"xdc.runtime.Main",. i+ B. `6 ^. k& i5 L
Diags.ENTRY | Diags.EXIT | Diags.INFO,# i: m7 \: t2 F$ Z1 M4 ^" V3 U
Diags.RUNTIME_ON, w2 b; m9 ^4 `' u5 v5 |! [: K8 Q
);. ~- ~% G7 k/ V2 l- b
$ Y2 J6 |9 ~- U$ i4 g; V; l% u5 j
var Registry = xdc.useModule('xdc.runtime.Registry');% S3 [9 A9 D9 e8 H; _/ a
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 b+ Z5 ~7 J; X e/ p5 m: cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. T" Z" N% ?7 B# I6 Q# ?6 qRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
; a1 V/ l9 q) y3 Q$ }6 {Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! Z# {1 D$ k8 w9 x9 O# h5 V) s" W' j
6 u& S9 p1 u; ^- u4 t2 K/* create a logger instance */+ b4 x. c Q% V9 K6 a. v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# u7 M/ o4 g! X4 h" M2 [6 K
var loggerBufP = new LoggerBuf.Params();% ?- w* e p t* f9 {5 h
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
t6 F ^ T8 M- Y7 DloggerBufP.bufType = LoggerBuf.BufType_FIXED;
( z2 ?# ?. O: E; h: |% w0 I2 [2 i3 j2 D* e
var appLogger = LoggerBuf.create(loggerBufP);: I1 J' \7 y, i& Z8 A& C5 z
appLogger.instance.name = "AppLog_Core1";
- a5 g* ]2 ~: O) fDefaults.common$.logger = appLogger;
4 j0 A. u' N. h9 X* pMemory.defaultHeapSize = 0x8192;
& N q/ n g8 u, t+ r/ hIdle.idleFxns[0] = "&LEDStatus";
/ u' `1 }2 v( m! m& yCache.initSize.l2Size = Cache.L2Size_32K;/ c3 |% T/ t8 r- p7 y7 }
2 @" C; ~2 E7 ]& p7 O2 U/ I, V3 Q2 K |
|