|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 K6 w. s' z6 F# P
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& \2 x# B2 |4 n: `$ w+ Y! r" |6 ?8 y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 S7 o W1 d$ R" `8 U9 z
, p. L5 B7 U/ `% e) Z6 w3 i
是不是需要在DSP.CFG中进行配置8 d7 J$ x1 `" y& K
我现在的配置为- s; S5 u( T, v2 B$ g! s
, K+ U7 l! D! t0 c# p/ o& \$ q
/*
/ G H h* ?* `% I/ x9 t * ======== Operating System Configuration ========2 L) W+ Q1 A9 c( Z% \. U0 R7 x. Z9 E
*/* a+ z; E* _; O7 Y; i9 i
, u5 t6 y$ D* s) Q& e/* no rts heap */3 R4 j& E5 e% z" b3 N- [
Program.heap = 0;
7 _% b* x. Y1 n2 fProgram.argSize = 100; /* minimum size */
) L5 T8 v4 N) i oProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 @: A( n$ b2 ~8 j5 K
8 g7 L/ z) t& Z7 `' D- S/* create a default heap */+ b% p2 o( Y; Y& @0 o. X' m7 d5 e1 H
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ z, E- F2 p: Y1 @% [, d; [var heapMemParams = new HeapMem.Params();" _0 l! w: p+ M5 ^, ~
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, ]$ ]! i0 b, o/ J
6 M& j! W. s% G; Xvar Memory = xdc.useModule('xdc.runtime.Memory');
! \( D. g: {7 Y+ t5 D0 v+ t/ T4 yMemory.defaultHeapInstance = HeapMem.create(heapMemParams);# u! y6 l$ j" N+ t9 ~0 @8 q1 F
9 ?' f0 a: X7 D+ s/* configure System module */
3 o- V) S) s- y: G. G( Y$ o" W* Avar SysMin = xdc.useModule('xdc.runtime.SysMin');0 r- _! t* O7 n2 ~
SysMin.bufSize = 0x1000;
3 ^; O2 L7 N2 q& \' M8 hSysMin.flushAtExit = false;! k' q6 u$ b$ }# H$ W! O$ a
" L, q$ F8 ^; Q$ G# uvar System = xdc.useModule('xdc.runtime.System');# _; o* X' P% h8 a
System.SupportProxy = SysMin;& o! ]7 x& q% l7 z$ L+ G
1 H" g7 C4 W4 i! K# D
/* configure SysBios to use the lower half of Timer 1 */- C* x o' s% r4 y* K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. \/ ^7 \0 w2 C! V' bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
! s/ `1 w& t( K$ v& QTimer.timerSettings[1].master = true;0 O+ N, d+ [- b( _
Timer.defaultHalf = Timer.Half_LOWER;
$ @: F7 V$ ~/ |2 zClock.timerId = 1;
4 J C# _( m" n* t U9 l" y- o1 Z& `4 `3 }# H
, ]8 ?0 U# e. y i4 h# k1 h# J
/*' |' Y3 C* a+ u: I8 U- H: j L
* ======== Miscellaneous Configuration ========% o" D- H2 f* x# Q/ w
*/
2 d6 C& s! ]' j/ L# y/ S6 v$ E
5 G6 e* T0 G& D/* set default diags mask */
% v3 G( h g" L' Rvar Diags = xdc.useModule('xdc.runtime.Diags');* `( _: m( i+ M5 M, j
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 g2 _( V& V& N& }2 u! k) S" u+ i
3 q6 J( u7 A/ n- d, G$ V: I0 R7 t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 r* P O! g. Q. f% `/ |2 aDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 p& i7 W9 m1 Y+ h. V/ u `Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' }* h& b# F2 A) y8 xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 N0 o! t: q) n8 b* j: {Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( O) ?6 \0 H* EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;) V4 { j9 g, q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
}/ T& R" T3 t2 `. YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ F; [- ?) Z* UDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# q7 m/ u- [! G6 Y; S4 o1 \
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! Y& `) P' }7 a6 t; A9 H( e
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 u- K/ V5 I* Y5 {; K" H! V6 NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: q4 T5 ~5 P6 ?/ ?Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ S0 S" s# @6 c) [
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. y& }9 B4 r0 F4 b, q- ]! g
4 J; N6 b( Q$ t: G+ f/* override diags mask for selected modules */. D6 ]4 h! ~3 i7 j( v
xdc.useModule('xdc.runtime.Main');! O! Z3 a1 x, z; w. L/ K; t; `
Diags.setMaskMeta(: b7 C& h4 q5 V5 d% X" s! |
"xdc.runtime.Main",9 W1 B# A/ D* \. g% m" x0 K$ x& ^
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ z2 o) q8 T8 G: Z* a. w: L% F Diags.RUNTIME_ON+ j5 K2 z! c$ }, B ^5 d
);
, L2 |. Z0 O) i0 ? R) {2 a0 P0 X* w( { t* F! I
var Registry = xdc.useModule('xdc.runtime.Registry');
( F" x1 G4 G* \7 sRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 z: s Y- b; r5 f' J4 P
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
A2 U Z7 ]( h5 QRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
* y2 e) j3 A! i! _# b" ERegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 x i' G8 w* H& W
* }6 {: L" ]5 _* f3 A8 ]8 C/* create a logger instance */
6 J5 P C) d1 A9 ]% Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& `& w% B# e3 U% X0 C! q. }
var loggerBufP = new LoggerBuf.Params();
5 Z4 }$ \7 B3 F8 Y2 f- R0 V0 g+ EloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 Q- L! C2 J; y0 F. xloggerBufP.bufType = LoggerBuf.BufType_FIXED;/ y6 `; e5 `6 y6 @0 J6 }
1 w# D) u% E: I
var appLogger = LoggerBuf.create(loggerBufP);; r" @' V" m3 E7 _& k8 X
appLogger.instance.name = "AppLog_Core1";
! A0 F7 z7 _1 uDefaults.common$.logger = appLogger;3 |" [" v/ O! u6 C3 w. O
Memory.defaultHeapSize = 0x8192; - F& I7 e/ n! D
Idle.idleFxns[0] = "&LEDStatus";
% L& X7 `4 @: ] h6 x" q* b+ QCache.initSize.l2Size = Cache.L2Size_32K;
% @7 D1 R0 R2 Z4 k8 N
# b8 K) _7 Z7 ?) y |
|