|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 z; I3 N% L2 A" U4 k9 Q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 v. E$ ~) q2 f/ n6 M" m3 R(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ U, @: J, c1 X3 y
5 Z: g: H v( M$ D9 t/ d是不是需要在DSP.CFG中进行配置$ s$ @% x2 u6 M/ K$ n3 u
我现在的配置为
# V9 H! v, y2 x
' E: e( R2 l; h' w0 K1 X2 |/ h/*
! ^* z3 Z- r( U * ======== Operating System Configuration ========
, [8 U0 m2 `- P7 R g9 x* y/ \4 s3 t */1 w z( a( U% p6 m. G
0 J- I" c4 c( s% D/* no rts heap */
9 q/ x7 d- l9 J# S1 B- tProgram.heap = 0;
, E z; }% A& D- B( [% p8 i2 W' nProgram.argSize = 100; /* minimum size */
3 x/ Z- ]) G9 J* s. }2 D9 FProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ l' j9 T _6 z/ X
- `- R3 a; l: e: Q5 K
/* create a default heap */
% @, | m0 [: ]* K" d Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' B, g, Z. K4 T0 pvar heapMemParams = new HeapMem.Params();
9 p6 }; g9 X9 v( x0 w- x6 N3 j( eheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 H8 D3 U0 X4 c5 n. z. _
6 t! `, D7 W' a6 s2 |4 ?
var Memory = xdc.useModule('xdc.runtime.Memory');$ t/ i' ~% r9 E7 r" x. U( N: M+ @
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 A8 I7 B* ]! h$ ^: n2 g. b {
) L% M) P; i, O& m/* configure System module */8 U0 Q6 E. M8 y% d% l" k
var SysMin = xdc.useModule('xdc.runtime.SysMin');
( {& J* ~& R: GSysMin.bufSize = 0x1000;0 ~8 d& `5 ^, |! O8 h
SysMin.flushAtExit = false;5 V! M/ I& z8 l& h& k/ B
( r2 w$ ?7 o, g( E/ U( d
var System = xdc.useModule('xdc.runtime.System');
( d0 f# f, R H7 `" l" l. dSystem.SupportProxy = SysMin;
$ y) l/ q8 b$ \
$ [9 s2 m# Y0 D) |/* configure SysBios to use the lower half of Timer 1 */ k3 [# D, x. |0 h9 `
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" C6 m9 j( }! W8 R
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; r8 c: v: A+ ITimer.timerSettings[1].master = true;
( @. N% P1 @0 E2 k- w; ~Timer.defaultHalf = Timer.Half_LOWER;
9 m: U4 A/ @1 P. ]) HClock.timerId = 1;9 G1 P& n7 D9 K! f8 W2 n5 I4 x7 R" K* L
3 ~, q' g5 i. [" H
5 C$ h% u; ]' _& c# B5 g/*( h! x" V5 _6 J
* ======== Miscellaneous Configuration ========, `# Y0 h) }9 a
*/1 C3 I& g) V: R0 j3 L
$ K [$ w4 r2 @, O7 Z: |9 ?3 S
/* set default diags mask */
1 h/ Q; l1 H4 u! Evar Diags = xdc.useModule('xdc.runtime.Diags');
0 _7 v$ P& `1 e; W+ X# Q% u0 Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');
$ v$ T" V$ C4 A4 X- }5 O3 H6 Z3 y$ }3 Y* R5 q. b/ e `$ ]3 B5 t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* v7 [; O: g# i8 \0 K+ S5 _Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 Y8 b' A7 I! ^2 \Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 h+ W* \. F C/ N( W* i/ j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& d: v- w" x8 t: ?* i& e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 V! x. N7 K. ]8 wDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 [" l1 {1 w# m ?! H- }4 j/ p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& w/ C; u2 C" _3 W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& }) S% z G- Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 x' l0 s j" {) X3 l# P& w: ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF; m2 F# F, g x# g
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( W6 G2 {) S- M& c- x! h/ g& H
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; p& p% j( x9 Q3 Q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& n9 l* P) \( v- G# yDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: T. x( X$ e& O' h7 U7 }* e' g3 k! w2 j
/* override diags mask for selected modules */6 W! _- A5 o0 I( K0 z
xdc.useModule('xdc.runtime.Main');
: Q3 Y0 c9 L0 }2 N% @$ a- v% QDiags.setMaskMeta(
" a6 z% h5 O& N "xdc.runtime.Main",! K3 W6 z) @! w+ V' H) a
Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ A: S% @! t& p) {- Q Diags.RUNTIME_ON& G' y2 w' `2 L& {
);
3 i' d% c/ j$ k& z4 y1 |8 c+ M) V
6 q: D' y3 E& q' }* g) svar Registry = xdc.useModule('xdc.runtime.Registry');
% ^2 V/ n6 Y3 h: bRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 r3 n+ y( U& t5 I7 R( L- F
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
Y4 _% O4 ?# H, b* kRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 f8 s6 s/ X9 d D9 V' a, V9 zRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 R4 ?. ~) s0 C% W0 E& l
H* w+ t% J# m3 }! z9 ~/* create a logger instance */; i/ n8 y! n; k
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) |4 U- Q1 G0 s7 r- g+ a8 H2 e& tvar loggerBufP = new LoggerBuf.Params();
% P9 j. T+ k+ _( v7 jloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; i" z. c2 X2 \; L/ ologgerBufP.bufType = LoggerBuf.BufType_FIXED;
8 }& N F J+ [6 p4 F/ f2 E' `3 d" n+ ]" u. d
var appLogger = LoggerBuf.create(loggerBufP);
5 i& c G( k2 ^# j& @appLogger.instance.name = "AppLog_Core1";4 b( @5 t/ |) y- I9 S
Defaults.common$.logger = appLogger;
+ |: n7 i3 h) |1 |2 TMemory.defaultHeapSize = 0x8192;
) G, \; d! Z+ y V+ W4 Q# cIdle.idleFxns[0] = "&LEDStatus";
( g; k! h, c( z6 cCache.initSize.l2Size = Cache.L2Size_32K;
" p5 u4 W- l8 {$ e- P, d( W
' c: L) v! G0 T; v; v; C* u |
|