|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: c; f" g: a* H: S
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. q% N3 ~9 m- R, C+ @( ~4 c6 K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 a% M, N, j( n
/ n) X& r9 e9 R* o# w @& _: p
是不是需要在DSP.CFG中进行配置
5 h6 k: N4 o& `$ g- M0 w9 }我现在的配置为
4 m; ^) w1 B ?/ C! V9 L$ k
* V1 s3 b( C5 D$ q5 ^0 z2 m/*
5 \7 Q) W% ?1 X' F+ _ * ======== Operating System Configuration ========
4 J% N+ g/ Y$ W. h; z, E */
+ Q1 d H) W9 {4 y$ v+ `
, c# F% x- a8 c% D/* no rts heap */
" B" N5 W% c! w7 @" j% xProgram.heap = 0;- e! B% i9 Q* c
Program.argSize = 100; /* minimum size */
; m2 y) l/ E0 a3 E1 ]0 F' RProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大" @# G: g2 ?# Q/ o' A; g
9 A1 G: ^: z1 g' ^* y# h# r
/* create a default heap */: I: t) e" J. E4 | c
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# [+ ^2 A5 l/ D7 G: Zvar heapMemParams = new HeapMem.Params();5 c$ Q+ ?; t8 S9 M0 \" }* o
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 H. X1 P( e- m6 n* K
, W5 q7 n* K0 J8 g: ~7 o
var Memory = xdc.useModule('xdc.runtime.Memory');
& _( R! a7 }0 X- H2 zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
: |$ R* c8 U# E" |! X" v6 j! W. I' u; d
/* configure System module */! G. o+ W; a; T P R7 f
var SysMin = xdc.useModule('xdc.runtime.SysMin');
5 I% ^. G" f; H$ FSysMin.bufSize = 0x1000;
+ r* [' t9 h% g) z1 P pSysMin.flushAtExit = false;' j4 F# O6 B+ ?6 m, K
$ E6 I0 C$ Z; x1 H# u: O+ Evar System = xdc.useModule('xdc.runtime.System');0 A, y2 ~$ l" n# g& A0 R+ V8 w
System.SupportProxy = SysMin; x$ M* H6 M6 T7 R8 b6 c+ f0 U0 ]
+ t; ^5 @9 x4 t3 m$ x' ~/* configure SysBios to use the lower half of Timer 1 */
9 x6 P2 F4 P! J' ~( j: Qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* \* }% |5 l% ~% ^: m8 T
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
) {7 M5 V2 h7 m# q; p: fTimer.timerSettings[1].master = true; C1 p0 l9 i" W' P" u
Timer.defaultHalf = Timer.Half_LOWER;# F4 Y% E+ Z0 g& G. @0 }& o
Clock.timerId = 1;+ e& x2 c/ T' H0 v& @4 O
1 V i7 I0 J F& Z1 ]
: Z0 C! u" x! X0 L- w- W3 V7 L
/*$ [/ j! K+ Q6 j" q
* ======== Miscellaneous Configuration ========: a2 x% V6 T$ o% [
*/
$ s4 _3 V( s$ o) u9 o' e! O
/ {) [. E; S. r3 X/* set default diags mask */
) ?2 D- o: t5 Vvar Diags = xdc.useModule('xdc.runtime.Diags');
% ]- F: z' {# [var Defaults = xdc.useModule('xdc.runtime.Defaults');
% F2 n9 ` N) l* Y" U% P. I- w2 E U9 O3 ^6 E
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ O+ s2 T" {6 R9 s. n
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- d- j; b, `; s5 w' [$ J
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;) M; E- _" B( K0 L
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( X( V" h# K+ _9 `& e2 hDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# E8 M; P, `1 A
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. j' K/ b1 L+ g. c; FDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& ^" m$ Z7 L8 g* [: `" o/ M+ C Y
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 x3 K& f, m! M5 Z6 a. ?9 ADefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; \5 D7 S& A" vDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF; w$ ]4 ^# M2 C2 ]5 b
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* O) H! ^7 a7 ?1 F! x( ?( b8 EDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 R- r+ B9 K* \! n
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& M9 o8 y# }/ j+ q) v* bDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( e. I5 D+ N) n7 ^. x9 l9 ^+ m# e3 q- O( T5 E1 O
/* override diags mask for selected modules */
) i3 c: v" i& Q$ Uxdc.useModule('xdc.runtime.Main'); |3 l8 w' s4 u6 J1 Q' x* N2 O
Diags.setMaskMeta(. l: r1 }6 f7 F; c, z% m5 X
"xdc.runtime.Main",. x" f7 m0 `8 G
Diags.ENTRY | Diags.EXIT | Diags.INFO,
. x/ c: f* F, B% x9 Q( c4 l8 m | Diags.RUNTIME_ON; K, n, V- s- s% e! [4 ~
);
5 e3 ~: `* q' g1 R" W3 s3 h3 ?3 b% D2 @7 ^8 s# d' ]- [
var Registry = xdc.useModule('xdc.runtime.Registry');5 i, ^- G( n" E
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ n: n; |- }3 e3 ~ C( Y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, S4 z B$ L% v+ y) t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 u8 b! E4 x& aRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. k$ v( ]9 r0 r- `$ D' C2 r$ }8 o2 ]9 K
/* create a logger instance */6 t8 A6 u9 U- j' L$ g: v8 W, r
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
6 x3 c+ K- c0 [( V. gvar loggerBufP = new LoggerBuf.Params();
{5 e4 V, T; a9 n2 |2 r( @9 aloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. z* j. |% H! m" ^3 T jloggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 }; S* M" K' K( r; P% l( j6 _
3 `2 i& S; M8 ~6 b+ @, @( hvar appLogger = LoggerBuf.create(loggerBufP);8 i& D% \& G" N t- I, R' ^
appLogger.instance.name = "AppLog_Core1";
1 i( R6 u8 }3 @2 q z8 ~0 pDefaults.common$.logger = appLogger;8 r ]7 z3 B: z+ H0 Z3 p7 P
Memory.defaultHeapSize = 0x8192; ' R1 z9 P( I1 G- b& x3 o. G! U
Idle.idleFxns[0] = "&LEDStatus";
2 S4 p9 x9 C" x9 c: oCache.initSize.l2Size = Cache.L2Size_32K;0 \9 k& Y' {6 B6 j1 O+ ~& g
% c1 b2 o# b0 `# \+ I, j |
|