|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& M7 w$ x- p5 I3 W, z5 N- e9 C我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( i; C2 H& U+ w(不过疑惑的是,为何单独DSP仿真就没有问题呢?). Y8 q$ y/ M9 k
j; H8 E8 ]% S% J/ N
是不是需要在DSP.CFG中进行配置+ ]3 @' ?6 }+ [2 K
我现在的配置为' R) J3 }% R/ ^
* b3 t6 M4 m: G3 L+ }% ]
/*
" ~- A }! |% A4 L- X; L8 ~ * ======== Operating System Configuration ========
Y& H) M( t& Z! I0 k. |0 D */5 P( Y' T! Z0 X4 I, f# g
) f1 F6 W* |0 j6 E& c7 B1 b& f
/* no rts heap */
4 z3 _6 c, C) v2 ]' ZProgram.heap = 0;; A2 A3 l; Z+ T' P; j! }
Program.argSize = 100; /* minimum size */
: x0 l, p0 Y+ k/ U- A; mProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大8 A8 I/ P4 O2 B7 L5 F
' b! Z* @1 Y5 R2 Y* Z
/* create a default heap */
& v7 V1 C/ {+ m# M, b! @var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 Z! g- G, D1 R2 \4 gvar heapMemParams = new HeapMem.Params();: F5 M2 \8 o1 x7 M
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 _9 t0 P0 H9 c6 Y- R9 I7 _7 G: l( Z5 u6 s% K4 f# q2 o( m
var Memory = xdc.useModule('xdc.runtime.Memory');
8 R! [6 B) \9 O2 XMemory.defaultHeapInstance = HeapMem.create(heapMemParams);/ o8 [. E8 i8 _$ l# ~" K
* L: ]6 h8 H/ ]
/* configure System module */
0 \5 N5 U" [# i: |var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ s# O* s2 o$ [* ESysMin.bufSize = 0x1000;( j! v9 ~2 Z: }$ h$ P
SysMin.flushAtExit = false;
9 Y; d0 b. s: F6 G
+ L2 ~, w# l0 k/ lvar System = xdc.useModule('xdc.runtime.System');
/ T- Q { M) b1 {3 LSystem.SupportProxy = SysMin;
3 N0 e* W: b! |7 Z( `
+ E" P9 |0 m* p, l6 m/* configure SysBios to use the lower half of Timer 1 */
d7 [( X* b8 Ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- Z' y8 {1 d8 Nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
! Z' f% A9 E8 V8 Q5 ?Timer.timerSettings[1].master = true;0 O$ X' @! a6 `0 \4 N; `' p: h
Timer.defaultHalf = Timer.Half_LOWER;; l0 @+ B: M5 Y: V
Clock.timerId = 1;: t7 d" \% u( o$ E' _ t/ Q
! J" e2 e$ [- T* b u$ l5 N8 }
/ L/ O9 L5 V( Z4 w: |6 H
/*
2 S2 T! m! l1 |. @3 T * ======== Miscellaneous Configuration ========
! D5 w$ x1 J6 S: j$ _8 V3 A *// }; `* ]8 w f
( i+ T7 G8 o4 I! O1 b. Q9 y
/* set default diags mask */
- H% B' v* D4 W& p% }var Diags = xdc.useModule('xdc.runtime.Diags');
, D5 `- q8 u- f7 I/ `9 K; Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
+ i+ L5 p5 C1 T0 f/ w
/ y0 { T- {0 f. g# oDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) X; A9 w' V, F! w
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( G7 ^ I9 ~3 r
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# A. o' X0 p4 e/ m u& B% d
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! t# M: ]% W2 B& J) F5 o
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& X( G3 c: a' j% {4 I3 i8 P( {
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; p& a8 e: \( ?& o7 p i3 f
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. K8 _: k4 X/ d* J5 j
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 Q3 `. ?; X6 W$ y) D
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 t" y. N, W9 sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 b, F: t$ A/ O. `1 f
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 p* N: L2 J, s6 fDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# B9 F+ |$ T& _
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 B) H$ z) a8 n" T! K
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& x, w7 V9 ?1 R$ m& f. ~/ L
% d" r/ I: ^0 ~4 y- }2 Z
/* override diags mask for selected modules */
" C" s9 \2 K1 t' X3 b4 C+ Exdc.useModule('xdc.runtime.Main');
# G7 R% p- b# E. `8 DDiags.setMaskMeta(
+ K- x: A6 i m' L* J( L "xdc.runtime.Main",
$ k( i2 R- m3 k1 ]/ { Diags.ENTRY | Diags.EXIT | Diags.INFO,/ l% L z( T7 P2 U. q
Diags.RUNTIME_ON
# B( j: i: R! B8 j$ Y; z. ], ?);
7 A, \) L3 p8 Q# S
! T \+ [3 H* dvar Registry = xdc.useModule('xdc.runtime.Registry');3 N/ O' m" g/ h% ^) @
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! M4 ^+ ^+ I! N$ A! Z* MRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! u' c4 B/ S" \. T2 qRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
+ f* a# h7 x* R& yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 v( m6 n Y8 R$ r
2 \% i7 m( w) s! W. z. ~$ [
/* create a logger instance *// X, ^! |0 W+ }! ]# v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 ~3 ^8 X. \% Vvar loggerBufP = new LoggerBuf.Params();
( }8 n6 z" [5 Z+ L0 uloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- O; T9 i% @( h W2 n8 n6 T ~loggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 _! T: e3 \& u! `8 S" b M. F8 g; Z* _/ w# F6 u3 y( B
var appLogger = LoggerBuf.create(loggerBufP);
" i4 e& e8 J$ b6 A3 T6 G& iappLogger.instance.name = "AppLog_Core1";' S) y1 S3 [8 A& L% j
Defaults.common$.logger = appLogger;
( B! L" z6 i( s! f% BMemory.defaultHeapSize = 0x8192; 8 u0 L3 |+ A- q
Idle.idleFxns[0] = "&LEDStatus";% k. v* [( K6 z0 o( F
Cache.initSize.l2Size = Cache.L2Size_32K;
# J" Q( U$ T2 G/ j. P: n) M" \: b, J1 Z: _ V! S
|
|