|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: x4 N; _' X0 t, w& g
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 b3 J0 W7 Q9 [9 v1 b4 g(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( l& ^4 L3 \7 N. S- a& q2 P9 c5 R! t" B
是不是需要在DSP.CFG中进行配置
! z' G6 D* l: J我现在的配置为% ]% Q9 X, b" v+ ~$ W j/ H( ]- P
" |5 ?. P; G g' K$ T9 K- Y
/*3 I8 S; o9 p! S# s- h3 ]
* ======== Operating System Configuration ========4 b: ?4 P# Y+ p7 y
*/0 D8 _& ]. I' A9 v' y* g; l
1 l% u( G+ X7 R6 A x9 m
/* no rts heap */
! N; a7 d6 g& S6 z6 J, TProgram.heap = 0;
$ Y* f$ p" G; k& ~Program.argSize = 100; /* minimum size */: v; t' a7 f3 z" G1 B4 Y! s0 O" a
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 r, E2 k( |6 t: }
) N6 [; l3 e0 t2 c: E* D) x/* create a default heap */1 I" o$ N) n. K. m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
& M( M) I. w+ ~7 F0 Y+ p0 O9 Q E; T, tvar heapMemParams = new HeapMem.Params();
0 v9 j" s$ S) k4 v( o! `heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ {( w& A8 B/ N% H' z7 N* ?( K' T8 m9 S: ~( k M
var Memory = xdc.useModule('xdc.runtime.Memory');$ d' @( Q2 B6 R9 r
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 \- W, H( z" T5 A @# S
?' y$ e' T8 z0 l! l8 Q* n( q0 G/* configure System module */$ h: l/ K' I; z' S1 X5 X
var SysMin = xdc.useModule('xdc.runtime.SysMin');: q- [( ^+ W& X+ F. {
SysMin.bufSize = 0x1000;! ~5 C4 o% a( n0 O) k% K/ d9 ]0 d
SysMin.flushAtExit = false;
$ N7 K# S# i3 Z
2 G/ l- r) W _- ~var System = xdc.useModule('xdc.runtime.System');
" Y, H% `; z1 ^# q' w( I3 M/ \System.SupportProxy = SysMin;
F1 x: F- {" A/ g
; w: { R2 @/ D; @% h& q/* configure SysBios to use the lower half of Timer 1 */: A Q4 S% f, g9 w
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. r, m: {5 {& E! o) _* E6 g- l
var Clock = xdc.useModule('ti.sysbios.knl.Clock');8 }; S! F/ c7 ^% {, l
Timer.timerSettings[1].master = true;
5 s8 v( p- e e4 MTimer.defaultHalf = Timer.Half_LOWER;
( i# I) l3 O( p2 B" RClock.timerId = 1;1 L& ^) x$ V" M9 V/ z
5 ?5 n5 N6 Y2 ?1 u# _3 R6 I% W8 G+ p5 F) f6 e- L, I! y
/*% k5 \; M4 \, r: x
* ======== Miscellaneous Configuration ========
% ]9 b! D6 X, q; \ */
4 Z, r7 K; h6 l: C) `- @4 C6 j. h/ r. g: w
/* set default diags mask */
/ `8 U) ^0 A, `$ R8 @3 Hvar Diags = xdc.useModule('xdc.runtime.Diags');! j( ]" F) L! A9 f
var Defaults = xdc.useModule('xdc.runtime.Defaults');
) x( o: {/ M% v6 {- x4 A h) o9 Y: p; {% D! Z; r5 b( S, z$ K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' W" _; D0 l- q, J8 y. dDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 T/ |. O. E4 A* GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' n& O: Z5 B; X# p. y& q' QDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( S6 ?2 g- {3 U
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 w0 S$ H" A; g2 w4 A
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;' {5 |3 K* R2 _9 @, j3 S
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 p, ]3 m2 ^6 i2 c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
Q& X4 c! V B' fDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: t( k1 v! A& f) L7 R% E0 Z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 T2 Z$ D% q' A% k6 I( B
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ \2 c# M+ D5 t3 N7 D: xDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; o \4 |/ O" S
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;) o) N N/ E l4 b
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 R& B) z/ u9 `8 H+ F
A4 t8 y( c* D5 [/* override diags mask for selected modules */9 T& x3 q( A" T6 s- y- h
xdc.useModule('xdc.runtime.Main');
# [2 M. }/ J. I! g% m4 `" \Diags.setMaskMeta(
9 L( R9 {1 Q- F4 u; H "xdc.runtime.Main",5 t( ~+ U4 Q0 H9 l3 U
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 `$ r: f5 r) G( [/ Q
Diags.RUNTIME_ON
, P3 Z9 v+ L* K' l% E$ b6 k);1 U; }& o( O& ~* {, i
; B, j! @# X3 Q+ p, q# Zvar Registry = xdc.useModule('xdc.runtime.Registry');2 S+ V6 F7 l% d, N$ T) K
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ E; W7 }0 ~* \/ L* G2 ?& T# }( D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ U0 X1 P8 H/ G; F. i$ aRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" N. A3 }+ D8 y i, U
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! F+ d0 ?) I( s' n3 S5 b! C) A) s* H- v" \$ `
/* create a logger instance */
' \, [# b6 d, h: N& S* xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); M$ O! R3 [: _3 S/ c$ O& _2 m& }$ t: m
var loggerBufP = new LoggerBuf.Params();# X- @; D: L; O& E3 L' v
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* c# I* O( {; ~ v1 {
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 \( ^) J$ U5 O% u4 J/ [. K4 e1 o0 ~4 u# a# V9 w, i
var appLogger = LoggerBuf.create(loggerBufP);
; g5 N5 t& q, }) Z, i; CappLogger.instance.name = "AppLog_Core1";
' d" D: |6 a; X; l, d1 ?- dDefaults.common$.logger = appLogger;2 ?8 S) X- x0 Z2 v! \- S! g
Memory.defaultHeapSize = 0x8192;
9 y r& k0 }; n ~& T- |Idle.idleFxns[0] = "&LEDStatus";9 A( y8 k+ G/ Q
Cache.initSize.l2Size = Cache.L2Size_32K;
- t5 k( |' T6 E9 q" P
9 f* g+ R8 d& R: ?( g5 c2 F% | |
|