|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 a2 [2 [, o) n9 b. v. X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 l% x- [7 b2 m# x( F/ R+ B {( ~. ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 G; n1 M8 W9 P/ m1 T4 g& n# d5 |* w) j' }& `% K
是不是需要在DSP.CFG中进行配置
/ e: o7 s: B( h/ F9 v- ~8 c我现在的配置为9 E7 h- q9 x7 Y: u
! s$ V* L& G& e6 M/*
! { S5 D% G! Z ~" m * ======== Operating System Configuration ========
1 K3 ]5 W. Z1 H4 q */' W$ [* Z; u1 c" y [- d
6 }7 e4 t" N$ c
/* no rts heap */
0 e" z1 B/ S* C5 h8 c5 S; U3 Y" cProgram.heap = 0;
+ j( q7 n( f' N2 ~% C6 YProgram.argSize = 100; /* minimum size */" `" Y4 g! |3 B* u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: x e0 H1 k% l% J( }& u, S
# G5 I! A# {4 w( j! r8 S3 k/* create a default heap */: H& J; q& e1 k% x n8 W8 r
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* `4 L% J3 I, T. uvar heapMemParams = new HeapMem.Params();4 t! t& R+ \3 ]% _5 Y* t( [8 k
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 z3 b* Z: {2 j! f7 o( \' m
/ s7 _. t1 d4 E7 ]& y" a& G# o# `var Memory = xdc.useModule('xdc.runtime.Memory');
. P: [, {7 f) ^0 z* A! tMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
! X7 r* P% T0 C9 z; m( a1 p2 ~3 e/ |, f; Z$ e
/* configure System module */
) V7 R5 b" E# E5 j. t, X, zvar SysMin = xdc.useModule('xdc.runtime.SysMin');
! }: B$ Q1 g3 a1 ~ X# E' _6 jSysMin.bufSize = 0x1000;
" m2 @7 E/ ]# n1 ]: X. RSysMin.flushAtExit = false;' {7 ^3 k6 E) I4 [* \% P% E1 V0 g
( ] H% k2 _" j8 `0 v
var System = xdc.useModule('xdc.runtime.System');
* |$ E: K: J7 |System.SupportProxy = SysMin;
" v# E* T. [8 n; `, A' ^7 m7 x
" q7 S# n4 `* a/ E: X/* configure SysBios to use the lower half of Timer 1 */5 C2 o4 o2 a+ K R0 O3 t
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 N" H; z R U, g& {# _; gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
' Q4 Z/ K, k2 v- A9 y: f5 E$ b+ q) iTimer.timerSettings[1].master = true;( M E6 `9 R& v: ^7 {3 `
Timer.defaultHalf = Timer.Half_LOWER;7 W! @# h& O" y
Clock.timerId = 1;
( p. b7 N% Q' T* p4 e$ }
, p) R: I. z1 }: @- Q9 g! x9 M$ e' J6 h4 } e! M$ F8 B$ b$ X( h7 H6 m1 b( ?
/*5 q6 O# m$ L+ U$ g& P0 `- e
* ======== Miscellaneous Configuration ========7 m3 X5 E2 j3 X m7 k
*/
$ o! G6 W/ {9 k4 G: o) o5 P( \8 S1 y4 d+ R9 K. N
/* set default diags mask */
! F- B# q0 a9 c. Y5 [+ z7 ~: {var Diags = xdc.useModule('xdc.runtime.Diags');. J l1 G" s/ u0 _6 F$ K4 }
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' b7 x+ k' W% t" a3 ^+ @6 ?4 E
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;( `" L' h. W. f1 X
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! Y" E+ t* f5 f$ t: R
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. F) |$ F8 y- ]/ `4 G
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; ~$ Y8 D8 G- mDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
2 l D, f/ G3 G* I' S8 ^7 HDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" B( N' [* I8 ?" f6 SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% k* B- }3 @# I5 dDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 Z' D+ K% D+ x; ], M& o: k
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
e" R3 U3 f: c" {/ }Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 f: C) x0 @8 K; @Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 o- w) Z4 E3 B% Y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 v# _) C2 X' a5 o0 Y0 z% ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ O& {9 r/ x- t0 x7 C+ x4 j
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; r) b& t% v: U- N: }9 v
7 ?3 _ l; g8 w. M( i$ t* H
/* override diags mask for selected modules */. O! Q0 Q, k- c% t# Z5 J! n
xdc.useModule('xdc.runtime.Main');" S1 k( @5 T! a
Diags.setMaskMeta(
9 m+ g3 M. k) s+ U- H" _3 C "xdc.runtime.Main"," u+ A, {0 w2 A2 s+ A6 }
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ h8 v. b* i! z/ g/ ^ Diags.RUNTIME_ON8 |5 ]" t" p1 h0 X) I" N
);
' g% v: f& ^1 U8 G+ t* b
: M6 S+ m5 M! E+ c& F4 y2 Z w3 zvar Registry = xdc.useModule('xdc.runtime.Registry');
+ V: D# I1 ~1 H6 R. ]1 o _- M K0 GRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ {. {" f9 A/ ]Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 M. T1 N1 M$ d" ^/ X* v% n& d0 O9 ~
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. r! K/ W; e! c* ]9 a" t! R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;" M5 ^3 k( i3 y' f
$ f7 U1 \ m6 W# u* l. W1 j/* create a logger instance */
6 ?% Z2 X; A: u2 l" x; V: K+ j: rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( A# {/ _, h. [2 f
var loggerBufP = new LoggerBuf.Params();* H( l! B. n" |$ J, r" L3 n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, `) x1 q9 G3 h6 {$ |* \" W5 R. [' ~
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
# L3 `1 t1 V; F# D N- X4 X1 \# C; T- A
var appLogger = LoggerBuf.create(loggerBufP);; }3 U+ |' Y8 T6 b/ d) g+ \
appLogger.instance.name = "AppLog_Core1";
8 l: j7 C8 @; N" QDefaults.common$.logger = appLogger;) e- _" u9 U3 c& g j! W& }
Memory.defaultHeapSize = 0x8192; # Z2 {, }. V1 h
Idle.idleFxns[0] = "&LEDStatus";* q' V/ E% c+ w" C2 V
Cache.initSize.l2Size = Cache.L2Size_32K;) j) b9 P$ K" x5 J) B U, J) ]6 p
, E" I2 X1 c$ Z' B) E |
|