|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ `' ]5 w7 i' C% Y- p+ ^
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 a) u+ v% ]8 X$ b(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
X' R: P# q9 z
$ y7 E) {- C; b3 E4 l [" c是不是需要在DSP.CFG中进行配置
: S- V9 `1 s3 w我现在的配置为
, C# ^/ ]4 I0 v/ z/ T- W0 b$ h9 ^) n
/*. z7 G4 H4 B( a. U5 Y
* ======== Operating System Configuration ========
& r: V8 y k2 w */! A* M7 n4 N( G
! P6 d0 g5 c* X, y1 X, `1 G/* no rts heap */
1 m: r0 v5 f3 X" J4 X! J( MProgram.heap = 0;
) o. O, Q: R- d% p) GProgram.argSize = 100; /* minimum size */
: U y v5 s3 v; x! u' n: s5 |Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; N, p: a, [" ]0 \$ _" w0 {. z
1 V2 z/ h: k$ O2 n4 m+ G2 C( A/* create a default heap */: r9 X% X4 d& I+ J
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% k B5 n- H# v/ e0 p* Ivar heapMemParams = new HeapMem.Params();1 C2 Z; ]0 c3 K
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, x" C$ k) N7 Y0 O
. k2 M* ?, s, fvar Memory = xdc.useModule('xdc.runtime.Memory');
: m* l: {7 l% q# n! a7 uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
# F0 w5 Y/ f& K, Y/ |: B# G
, o8 d; g, x1 K- F/* configure System module */
7 u, r$ Y2 K. D) n3 Z( _var SysMin = xdc.useModule('xdc.runtime.SysMin');
+ k( e6 A0 E- n( x1 p3 xSysMin.bufSize = 0x1000;
Y; s8 j- y- E: k4 }SysMin.flushAtExit = false;% ?; ]2 m! a+ P8 J# d
2 z7 F y9 K- ^5 \& [& k' z5 j+ w
var System = xdc.useModule('xdc.runtime.System');
% L- c8 B# G% VSystem.SupportProxy = SysMin;
) [& h; s A2 j
- r) W0 Z- J2 x# x! }% ~! D ?/* configure SysBios to use the lower half of Timer 1 */* V% s W& E! U% _. F- O9 j
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) \/ v1 P7 a5 @1 D' c* _( cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ u5 z) K9 k( Q) tTimer.timerSettings[1].master = true;
1 w% K4 q+ K0 K% ~Timer.defaultHalf = Timer.Half_LOWER;
9 _; {- N& {! L c7 `) e5 {( RClock.timerId = 1;1 ~1 h+ h3 e9 c9 I
; u9 F: e6 X, Y7 f
. b9 q% w! d* U D& K$ I" v' b+ a4 O
/*. T n; _1 p, B7 i f3 y/ \
* ======== Miscellaneous Configuration ========
+ q4 a+ l7 I$ E" ? */
. w/ [+ O' G7 l O3 j# K/ L0 e
) ^( G) \! J( T/* set default diags mask */* _" S4 p. g8 ^+ K; x7 m7 M
var Diags = xdc.useModule('xdc.runtime.Diags');6 j3 b. s) d. I; f
var Defaults = xdc.useModule('xdc.runtime.Defaults');' k( Y; M2 l( |0 w
+ x% u% m# M" n
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# T" R1 y/ A: a9 n- [( B- UDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. `) {2 e% R' c- @Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# _2 S; Q8 ?" d7 G
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 W* Y$ ^: O, X1 j
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ {/ a& g2 C+ |& N6 j- X
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* F4 G# m+ n. h8 i+ {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ I1 B: A$ |# ]% N2 ^+ @& A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
g5 G* I7 I: _" ~. j. Q' Z0 ADefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' L- u! O+ b/ DDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 T* f' k- b1 o/ Z) I" \5 r n
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* B; X, k$ W( W; E4 k; W/ g/ ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 h5 q0 W2 |; l+ N& G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 o% y* V) k3 X: RDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ I! U" i/ U5 @* E
- o; [( v+ M5 b6 ?6 {/* override diags mask for selected modules */; ~- w2 u6 X; o* V
xdc.useModule('xdc.runtime.Main');
: Y4 v: v6 \- e) y) j# RDiags.setMaskMeta(
4 B% V9 p( {5 Q "xdc.runtime.Main",+ j- c3 t1 U a: a& M& M
Diags.ENTRY | Diags.EXIT | Diags.INFO,
n- S/ S. b5 T Diags.RUNTIME_ON7 T/ q: D( d$ Z: @; ^# L
);
$ E! t) F' r1 u$ O* R; v6 O g" b! {( q
var Registry = xdc.useModule('xdc.runtime.Registry');
9 @1 u' m' K5 m* h# y$ t% sRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 a) [# E: Q) J' e
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! e' m9 @) R4 e( K( t. M
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' J( O. P# m% a! h9 Y, ZRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 f9 @" t9 a/ B' n7 f) i \* I& w: M& N1 M, k0 z4 U* m9 o
/* create a logger instance */* [# Y) U1 V: N C7 R1 [3 H" G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 t1 B, ^, @% y0 }var loggerBufP = new LoggerBuf.Params();
, Z; H0 F8 j% `" p& aloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! e9 c$ V% I0 E1 b/ \
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ f! ]8 H9 ]! I+ _" C" b. _9 ?4 C A% C/ k6 a- k/ k8 x; E
var appLogger = LoggerBuf.create(loggerBufP);% n* y' ?7 e# l$ T% _" k
appLogger.instance.name = "AppLog_Core1";
6 D0 t8 X% r F" R5 A' @% T# RDefaults.common$.logger = appLogger;+ ?9 o' B" {6 A3 o/ M
Memory.defaultHeapSize = 0x8192;
( X3 l' g: |1 w& a/ L2 \Idle.idleFxns[0] = "&LEDStatus";
/ O X+ \4 V5 HCache.initSize.l2Size = Cache.L2Size_32K;/ g. V3 Y( P0 h* P! b R5 ~! s/ O/ k
" q! o+ `- Z+ T8 r
|
|