|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& u" S, K$ ]2 ~- S& }5 s
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: G0 V, [( v& ]9 {2 @: c* i/ d6 y- Y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 u; b# V2 n: D; I2 L
! }! A2 c* ^. o% P' }/ O是不是需要在DSP.CFG中进行配置
: O8 J- G( v. _ w: i7 ^4 K我现在的配置为$ ~% d5 k% g# k$ e+ S' A5 i7 b
4 v* I" t% W% Y( K0 N
/*
, C% t0 D2 |, h. a8 P# A' z% J) M * ======== Operating System Configuration ========
! X) _% H2 {& S2 U2 G+ f: ` */
& v# R1 L3 |# y+ T
3 }4 O/ ]+ K' c/ |/* no rts heap */: v( o! I3 H* c- P
Program.heap = 0;9 ]2 b- V! V+ P- ?5 K
Program.argSize = 100; /* minimum size */
% u1 F9 \5 d3 {5 eProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ J" |4 ]# M5 M! V, n5 T2 r- i
% s, M, d8 H u( v" S2 F7 {7 {/* create a default heap */
+ M: @; i- y% O/ u: w5 k: j& Vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 f7 ]: Z7 \' p* [% ?& h L' D
var heapMemParams = new HeapMem.Params();
' x" {! @& M: x) ]. m% `* F) wheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 y% f8 A' x V. l
5 P* ~8 }6 }8 |' b/ j4 c1 S, xvar Memory = xdc.useModule('xdc.runtime.Memory');- x1 [" B! h3 ? e. q$ @
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: z. ]; R, l" f4 H+ n3 |; B) l/ R
* a5 B- ~! A. }% g/* configure System module */. [2 I* V( G5 |8 [+ L* G5 u
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 l: {) g7 ` B' qSysMin.bufSize = 0x1000;
9 V) j% u. R8 q( xSysMin.flushAtExit = false;5 _ A$ i; {1 n% R5 h1 R5 u& G
4 y- @9 e( l. ]- ~var System = xdc.useModule('xdc.runtime.System');
- o/ r+ ]8 v8 I6 \. @System.SupportProxy = SysMin;
: P- |7 z3 p/ w1 E8 I7 W2 [
3 O0 \" b0 B7 s9 e- G# \/* configure SysBios to use the lower half of Timer 1 */
" l; u' ] K* svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 G4 }; X- E- Yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');7 j) b4 W$ c# s5 Y# v" n- i
Timer.timerSettings[1].master = true; B/ D' q7 P! V( O
Timer.defaultHalf = Timer.Half_LOWER; [8 b5 u7 |; u- O: n2 i$ s1 X2 H
Clock.timerId = 1;
$ u7 ~; u- f$ ~$ {$ E+ U- n; K' [: y
4 O9 b" c9 p6 e- } V& I1 H Y* j* i% D. W" Y: M$ V2 Q
/*8 G9 x1 u' U! \
* ======== Miscellaneous Configuration ========
6 B. a$ F3 P" s* k# q */
) A* v. f5 y! H/ j0 x1 F5 Q2 j) Q% F2 f- L5 T
/* set default diags mask */
5 J1 E4 n2 x p" {! J7 M, e% Kvar Diags = xdc.useModule('xdc.runtime.Diags');
4 O2 U. W; a7 s p2 A+ g& avar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 R5 V$ C1 X9 b D6 n2 N6 ~1 k( w4 M& L8 [$ U! j( y+ [
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 E) j- H1 ?% l8 Q$ {
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 ]" E' u# C, @$ X% D G
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 z3 x, X R' Q0 h& c* P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% ~. c6 N# }! U. Z$ z7 V9 y* N
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* p4 L C& W6 J8 C5 }& z" eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ i5 O: v% ~2 g. U6 l% J$ ^
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF; x- t8 |4 y3 b/ I2 k# M' l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 j" I4 W( u+ C# S! h& e3 r& S
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 f% [: f& T/ Z& u: c f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( w, E) T* G; D* d, U9 {
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# D% p5 V7 a2 z" M# s h8 \# P& F3 [
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 D# b$ b9 B" {# MDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ }3 Q" f0 }' X6 y4 p* q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ m0 o1 o: v# d# p' } n. C- x
$ F4 c. S( g& `& f. J/* override diags mask for selected modules */! ^% |! b) [4 v4 m8 U, x% j+ `0 s
xdc.useModule('xdc.runtime.Main');
$ ~1 w% L {6 S& IDiags.setMaskMeta($ E' l J' b4 a" S( J
"xdc.runtime.Main"," G" g9 _9 K; Q* D5 L2 S) ^& ?9 I) ^
Diags.ENTRY | Diags.EXIT | Diags.INFO,$ o, I1 S% o! m* V% W
Diags.RUNTIME_ON
. D1 T9 B, K7 e* B x& q( c);% F- |, p1 c' e+ ?3 V
: o U4 ], D4 B, C$ Ivar Registry = xdc.useModule('xdc.runtime.Registry');
6 R5 @2 H" H: V3 m. m3 |) P; uRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& |' T. _: i2 ]* C2 |
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* n1 @% h/ ]/ p* Q5 m% }, U
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 k- e# L, p! e; l( K, T/ c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" r3 W# r: {* p+ }. o5 T: E2 T4 A; H- r" A1 O6 J/ D- B
/* create a logger instance */
; e5 H& ~+ U( M" K9 Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( W0 h8 `6 z* v9 H$ K. @
var loggerBufP = new LoggerBuf.Params();
/ G5 P! w3 w5 nloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& [( e) C; R& g& ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 e& w1 b1 q3 v0 I, J+ o. |% ~
: u! M+ O7 a; Q" r0 e8 nvar appLogger = LoggerBuf.create(loggerBufP);
. C9 u8 K. h2 [appLogger.instance.name = "AppLog_Core1";
% u# V0 s" `1 [3 [: B9 SDefaults.common$.logger = appLogger;3 S. `+ ~- w+ M& `
Memory.defaultHeapSize = 0x8192;
! d8 j$ T0 u8 e; ~' EIdle.idleFxns[0] = "&LEDStatus";& B. K# y5 F; k5 i* y9 X# L
Cache.initSize.l2Size = Cache.L2Size_32K; o$ U# | P! O
( J1 ^. `+ N$ |7 @2 G |
|