|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- i6 e" n1 T' O: o& f
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* R6 m: Y& \5 e. x(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) Y: q5 G9 m8 I' R& j- M. G! F( R" ~" ^4 J' a
是不是需要在DSP.CFG中进行配置
+ }; U* g+ O: c我现在的配置为
r1 b1 J) D6 w$ B& N7 v
- M+ h5 b1 L' m* L3 C8 c+ q" s/*
- |# `& ^! t7 f( W * ======== Operating System Configuration ========. ^; j- @# W. I; p" }" W5 C
*/ [ C6 H' i G6 M \
; ^; W7 p2 H+ g+ N% a. ^
/* no rts heap */9 K) h5 H5 F& G0 }
Program.heap = 0;
- b- _0 [9 P9 ?7 PProgram.argSize = 100; /* minimum size */1 d( k, J7 Y# l0 t c! u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 Q2 @( I* @! [: ]1 ?# g
% |+ z; x% J7 P' \# ]! @; m/* create a default heap */" V' a0 U# S( ]5 P/ e- S
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* s' R! ~4 O6 y7 |9 B$ M" Dvar heapMemParams = new HeapMem.Params();
8 o4 X. B0 L8 FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 p1 ^5 w5 Z1 }1 o" W0 z5 W/ N8 A$ e# M7 W
var Memory = xdc.useModule('xdc.runtime.Memory');
: n) f9 j5 A! d9 h/ zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);) Z) r( S% A) X$ K. E
% H% n9 _% G$ d( P- T6 S* P. T0 k+ S: m/* configure System module */! P- o0 c; P+ I+ b6 [/ r8 Y
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 A* `9 w7 G4 o# r* V( K& o
SysMin.bufSize = 0x1000;
3 q+ B8 F- T# SSysMin.flushAtExit = false;6 Y$ b7 t) F9 p# T) e8 n* T' e. o
; k9 a# v$ M' m, |( U
var System = xdc.useModule('xdc.runtime.System');
# c! o1 D& I/ H' cSystem.SupportProxy = SysMin;, G e/ V; c* W. q
/ r: r+ \$ _& ~. D- j/* configure SysBios to use the lower half of Timer 1 */
; \8 r. O6 c$ T6 B! Z1 W, i* Ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 X9 f1 n* [" _8 `& F1 A& r3 y N9 nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');0 V( P% z& Z# |2 v4 q3 V; J
Timer.timerSettings[1].master = true;
H3 ]2 [ O( p3 X9 T' i7 i3 j$ dTimer.defaultHalf = Timer.Half_LOWER;4 D/ b u! i% m0 M2 B: y
Clock.timerId = 1;7 W% l1 }* M0 E r
( [7 l' R8 o1 _' F, c/ p
0 Q( e$ |2 I$ s/*
' d9 ]2 S5 [- y. I * ======== Miscellaneous Configuration ========, ], r4 T' U2 C
*/
" E! W/ M' t4 p* i4 e
) I2 a- |5 l1 P3 @1 A3 ?: ^: G/* set default diags mask */% b: W u0 y4 }- C+ V
var Diags = xdc.useModule('xdc.runtime.Diags');/ @- a: b- ]! O) E4 C0 q& |3 E
var Defaults = xdc.useModule('xdc.runtime.Defaults');9 Z( C* q$ _; }6 g" B
+ @4 L' d( e9 q* }2 S5 r- u( uDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; _+ @& r6 V& K5 U& M+ JDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" |' J9 [' f4 S6 IDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ i$ M) } h; V, \0 s" ]6 e
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ u4 |9 I9 z' {. {! c3 W7 _Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! s0 I, c, A. G' p/ s% G
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, l! _7 m8 P {7 _+ |( dDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" b, s+ p: R& R5 f T; V4 u( dDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
_/ Y) H9 \! a, vDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 E* S# k2 I' F$ U) HDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& I# h9 x- k, [1 S$ {8 K: qDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;% [- e( u* W9 ?8 |4 ?2 l( a# }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 e4 R6 r k$ I8 B L- FDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. w# p4 Q# S8 U. i7 C6 P& {+ IDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 l; P1 q V# x ~. c9 k. h
1 Z3 T0 n0 E3 D/ q, k/* override diags mask for selected modules */4 B7 `1 _5 y2 a* b
xdc.useModule('xdc.runtime.Main');- Y- u. D5 b+ I4 P
Diags.setMaskMeta(
5 E+ W* d7 {" z# N "xdc.runtime.Main",
; o, |$ i g5 a* d9 K) T0 [ ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,* N U. `, o& u: n0 Q! Q: v
Diags.RUNTIME_ON" i5 z3 N! z8 }
);
3 M" @2 Y- ]' x% k( {6 N& C: R1 q2 b+ r
var Registry = xdc.useModule('xdc.runtime.Registry');
5 ?" e; g$ `+ p, i9 g1 T4 HRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 O$ r* w! ]& @9 y* c9 @+ MRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 u R. ~, Q" ]1 S, U$ k) k# |; Y2 l3 bRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
# F! T9 v! C2 jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;) e; ]3 o2 A1 \- p: l" p
$ Z ?" `6 ?1 V7 v6 K; r
/* create a logger instance */3 s! U/ Y z* i! L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: S' B8 U( y0 E1 U. h: g9 J
var loggerBufP = new LoggerBuf.Params();( b$ `, h: z$ j: v
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 t7 Q0 f: N" ~ B3 M1 EloggerBufP.bufType = LoggerBuf.BufType_FIXED;3 r. @' u; y* n& B, N1 |
/ O" P' W& }( O a* w7 ]* f- O2 s
var appLogger = LoggerBuf.create(loggerBufP);
- s: O8 d( Y: g' t F; M) {" o# f1 zappLogger.instance.name = "AppLog_Core1";
M+ [1 {* M3 x& n5 eDefaults.common$.logger = appLogger; e% ?! R7 n/ Q; x: @. V
Memory.defaultHeapSize = 0x8192;
1 y: b5 u0 g! O: g2 x9 p% vIdle.idleFxns[0] = "&LEDStatus";
# y. k& P( y7 CCache.initSize.l2Size = Cache.L2Size_32K;
4 v* K6 y4 c: B) W6 z' c8 q: s" k/ r) c3 }
|
|