|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 @% I) b6 Z5 u+ i4 @; O
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* o$ {6 M6 l) a+ K f& F5 H
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 `, V( b7 D K" i$ o4 L; C$ V
) }3 `' `4 ?) h7 W0 E4 Y
是不是需要在DSP.CFG中进行配置+ s/ z) ^8 f3 Y7 a: R
我现在的配置为* B) p' R% m: R% `" X' p
6 U6 a& X2 a0 z. T/ i1 V7 g/*6 X+ r$ B4 }- } q# X
* ======== Operating System Configuration ========
; q& q1 [& P: D7 J4 @6 \; i, k */& d& Z G' }- Y" `/ a7 |# @+ F
- C- v' Y H9 x, r0 D1 E: A) i/* no rts heap */( ?8 W" l1 Y5 ]6 d
Program.heap = 0;
3 @8 G. o9 R; }Program.argSize = 100; /* minimum size */
% L8 T& W1 ?# q# h$ n) wProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! F" v! ?# e) X! \8 n7 d" U0 n# ?, w U3 I1 M$ w/ V
/* create a default heap */
5 _- _5 D+ a! x8 r3 R0 v7 @1 V4 avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ r5 J- \5 T, }; z: x6 j
var heapMemParams = new HeapMem.Params();
9 d) Y, C" F% g' C. F% O$ c7 g- K3 M' [heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' U6 }5 O: o# B9 N5 x/ P
0 D7 R0 S8 c, W* x" h6 Avar Memory = xdc.useModule('xdc.runtime.Memory');0 \0 ?( g% I0 W9 B Z+ t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 I5 J, G0 L. n4 w; m- L" y" a
7 D+ u' o- O8 k) l/* configure System module */
# G; m3 l' K% H, Hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
0 W m$ L9 m( n4 _7 C* KSysMin.bufSize = 0x1000;# ^( K8 i" M/ z, G/ ?; t) S
SysMin.flushAtExit = false;; O' M6 Y1 ^7 h0 \3 [
9 \8 V; M% ]2 ]2 D% \
var System = xdc.useModule('xdc.runtime.System');, ^! X% ^/ }7 ^0 {% |4 \4 ^
System.SupportProxy = SysMin;: P* I% {" n3 C5 }' G$ I) Z
1 j! `8 a2 ]8 b8 ~* i- B$ f
/* configure SysBios to use the lower half of Timer 1 */
) t5 l- Q5 c' ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 u- n9 d( O1 T+ C5 {var Clock = xdc.useModule('ti.sysbios.knl.Clock');: I' n3 {( ~- p8 }$ g
Timer.timerSettings[1].master = true;
0 F! U' l* I9 A) YTimer.defaultHalf = Timer.Half_LOWER; C3 S, e# H8 W& O
Clock.timerId = 1;1 d' W/ i4 `. l' z
/ K6 D6 p& n+ A4 I
" D; \3 i6 A( y
/*
8 d3 U2 j9 h$ S f * ======== Miscellaneous Configuration ========2 J, M0 g7 T' h( t" k4 g& H ^
*/
" i. l) ]5 b. L ~. a: g0 Z3 q$ ?* }( D7 s
/* set default diags mask */% u4 r1 ]7 T: Z3 f( Q/ F# P
var Diags = xdc.useModule('xdc.runtime.Diags');
/ U! V; x$ \4 {+ F3 W `var Defaults = xdc.useModule('xdc.runtime.Defaults');' h" B$ Y7 L8 K. y6 u8 y9 n
/ z- F) n _ U4 F* dDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 O' z0 F4 O( p u3 x( U6 w
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( c' a5 U, r+ K c* h {Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 E, p, h6 u# B. [+ {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ G) N! G+ A* Q. r# ]Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ K! y1 P, K4 Y9 m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* B' U a: ]1 P: }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- |! U A" O) M* ?Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 H# P2 Y- Q2 g, U3 }$ bDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, I! X, O7 t' eDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# U" L- U' _6 g9 t8 W; J' ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- D F( ?" I9 N$ v1 L7 d) u% {7 vDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 b1 @0 f6 N1 C9 {: b' U! `' }Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 o$ q( _( u* E& pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! o" r2 d5 F7 A+ h q/ G
) C7 t3 w+ c6 {7 g" }
/* override diags mask for selected modules */
. u3 f, ]1 {( L& O, z7 p- vxdc.useModule('xdc.runtime.Main');0 ~% A# G8 _& b( o3 N8 n E5 m
Diags.setMaskMeta(
7 q d" V7 p0 ?% S% i, o "xdc.runtime.Main", r9 U8 q. r/ o1 r( H3 }
Diags.ENTRY | Diags.EXIT | Diags.INFO,( ^# j: u* a. Q: A) n: w) f' G
Diags.RUNTIME_ON
4 N) ?& ]" f+ b# I0 c' d4 j( s);
6 {6 Q0 x8 s+ y1 T2 X; M# G% g' m9 `, O/ G5 m5 @) W0 @
var Registry = xdc.useModule('xdc.runtime.Registry');& \' M6 d3 c' ]( T6 }. j2 C
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 s0 L3 U: Q1 r& Q. @) h. L; @/ qRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ p9 ^+ D8 @& m/ y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
" H9 A4 U E& m# Q2 X( F2 r7 t+ E$ PRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ W# e! J* x7 l% C8 }% ]" a( G6 ]# w+ L: W" h3 t
/* create a logger instance */
! r, {9 v" `8 l( `3 m% T2 P/ Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 z7 g) I- t6 E: Ovar loggerBufP = new LoggerBuf.Params();
4 o( Y& v& Y$ k* ploggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) C: s) k$ G4 P+ }- q ?. I* R
loggerBufP.bufType = LoggerBuf.BufType_FIXED;& o1 a/ r9 [1 ?0 V! O# _/ Q' x
( E \; i2 M0 C2 S* y: Q& Z3 k
var appLogger = LoggerBuf.create(loggerBufP);" ]" I& f2 L# A8 q
appLogger.instance.name = "AppLog_Core1";/ K! a" O# p: y5 j7 Q
Defaults.common$.logger = appLogger;
4 h8 i* t* M/ I- r# |0 i4 ]5 zMemory.defaultHeapSize = 0x8192; 9 M7 }+ n- [9 l. w7 c0 ~4 v' y. \
Idle.idleFxns[0] = "&LEDStatus";
$ t7 L0 ~2 p: R; k! g$ ~; NCache.initSize.l2Size = Cache.L2Size_32K;8 N o3 N1 u) n6 i2 a
) B3 } \' K, J! @ O; f7 M& K
|
|