|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! S, y# T" {) _我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' M& ^- U1 K, l(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& m. u4 J* I- T. N7 o/ B1 U$ N/ t! J" d ~8 v
是不是需要在DSP.CFG中进行配置# B4 t3 h H0 K# P" o
我现在的配置为1 h7 i8 D$ f8 |0 L$ |0 R- X% | j
7 F5 L/ U, B( E/*
* q' Q6 Q$ A. g6 R7 j * ======== Operating System Configuration ========9 P3 Y. S. ]- |' K
*/. H; @9 J" w5 [- i9 L# B8 A( W
6 C" l1 L c: M9 D, Z8 D/* no rts heap */
$ h* H; U- u4 X2 @, ]Program.heap = 0;5 C! ]( h3 u0 o% D) i
Program.argSize = 100; /* minimum size */9 y+ j: y& _. K/ U2 v& G3 t$ V
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大( }, k+ O- I2 \ {& z7 f& N
2 v$ O, I7 y3 Q' ?% m1 `# o8 d/* create a default heap */+ a8 o% y. U8 r, y7 f
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# L/ _5 g: W( B) Q" E& C2 K
var heapMemParams = new HeapMem.Params();, @7 R; ?& P0 G$ r# I
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& T. u& a. j( L) c6 W( Q$ o4 U
8 f& T: `: G( u: T
var Memory = xdc.useModule('xdc.runtime.Memory');0 L0 M( j5 m1 s( U0 S5 {3 Q7 d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
: c: W/ a L2 F; B) x' u
9 V1 T3 Y; J5 \- p4 m+ R/* configure System module */- {' `, Y# C& ~4 ]+ M6 _6 Q
var SysMin = xdc.useModule('xdc.runtime.SysMin');% r+ {& c# z! b( y+ y
SysMin.bufSize = 0x1000;: p8 O( ]' a! s8 p
SysMin.flushAtExit = false;0 a$ @1 Z( ?* \7 o8 G
m3 |/ X$ S6 S# S- U) g4 P8 \) q3 A
var System = xdc.useModule('xdc.runtime.System');( x# K/ e d5 D6 J
System.SupportProxy = SysMin;
/ q- v+ P2 G; u) `, b
. ~* H) G! U9 _1 M8 W& |$ T" h) |/* configure SysBios to use the lower half of Timer 1 */' Z# {- M4 j, {' O2 W5 g" w
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& t' x4 J5 b W* Z" h1 K
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
- a0 J$ x' ?4 Z+ L& bTimer.timerSettings[1].master = true;
& z1 }0 J' N- Q3 M9 k" v& jTimer.defaultHalf = Timer.Half_LOWER;/ @9 {* k ~( V% D
Clock.timerId = 1;
. z: ]/ h. i1 p( d$ h4 a k+ W$ T! w7 ~$ I& {
# c3 y' ~/ n+ l: e% F1 [
/*
# O) {- T! S g$ l' K * ======== Miscellaneous Configuration ========
! ]/ d+ d8 I3 j0 J *// o0 l& i8 ]6 E8 \
2 n3 f0 ]- K6 U: U+ D/* set default diags mask */# v7 W! h, S! l2 I2 x
var Diags = xdc.useModule('xdc.runtime.Diags');
) u5 M) G1 Z' a: ^0 v2 K3 z: mvar Defaults = xdc.useModule('xdc.runtime.Defaults');. t6 U! f$ K; {. v# Y& r8 n
2 q# f- S3 e( @+ p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 V5 ~7 Z3 }( B% I+ j1 H, Z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
U Q) u8 o9 [$ s. ]8 w* P1 T5 }/ VDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
( d Q, U4 M$ G" J) u8 \Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 q) U+ B5 O8 p5 h) {: f6 g
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) B E# k0 R/ L& D+ r- n# z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) H% @3 d0 M* |& ~ G" b* H9 NDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! b# n# P% m. XDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 P- h l( T2 [6 b$ O
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" p2 X/ [; |. _8 G+ h
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 r/ {. c2 q- j) Z {: f; \" xDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# N( g$ r8 g, X8 {( X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
! Q& Y5 A9 B' Y8 ?Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! P# V: p; G5 J" Y9 A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ m* I, g+ R; C* B( V- v T0 Z
) @. E8 `3 R) `/ S! |/* override diags mask for selected modules */5 A% t' Y4 U, k/ d
xdc.useModule('xdc.runtime.Main');& s& ^+ d C2 E6 I* I- F: N
Diags.setMaskMeta(
4 X: a; e1 \; J) _3 V "xdc.runtime.Main",
; m; K2 U' [" L+ p0 [( g Diags.ENTRY | Diags.EXIT | Diags.INFO,
) d) T# T; y7 M# N3 k1 X9 D Diags.RUNTIME_ON, U" o5 X2 z) @5 J! Z( x& Y
);
. w7 y* v: E, F. T* K: y8 t* Y1 O1 }5 a/ ?0 n( @' y
var Registry = xdc.useModule('xdc.runtime.Registry');& D, b4 r+ N' b, c# d9 V& W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" O4 p; X: c, E3 [' {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ O4 P) T! b" bRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. a4 I7 r9 j7 }4 U" _+ hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; {' L1 F9 X: p. V& I. d8 B% X9 N& J4 M# v2 n1 G* }3 e6 e
/* create a logger instance */6 E8 H) T2 y2 {- x: G; L, ?
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% X6 v' H# y$ N# r$ B0 j" C
var loggerBufP = new LoggerBuf.Params();
5 w$ F0 Z( s9 b4 r% [- {8 ]9 F4 FloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 W' E5 R$ i7 ^2 k w2 S4 J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;0 Z6 K) u$ p, R$ G& G9 L& a, V/ p& x. E
, Q& j/ b/ @! \$ w, ]9 s8 Kvar appLogger = LoggerBuf.create(loggerBufP);$ Q8 }( t1 U5 P! j V
appLogger.instance.name = "AppLog_Core1";$ K D5 T( \$ Z5 K! a. g$ j8 @
Defaults.common$.logger = appLogger;% T6 W' U2 |; { l# u, s( n8 D
Memory.defaultHeapSize = 0x8192; _4 h$ E9 t& ~" j* K j! i4 ~ u
Idle.idleFxns[0] = "&LEDStatus";
7 {4 {" Z1 w; cCache.initSize.l2Size = Cache.L2Size_32K;
5 [% l4 w8 Q; M* U8 D( a& u# d
3 A: w# H2 r* X) c0 X D" Z |
|