|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 M, C+ y% Y% X8 D* O" Q p+ U我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( l0 l" q' }) t/ g
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% U5 T+ l2 i- D9 }& ^- _ }) S$ {6 U% w
( _/ D& ^; I# ^$ V0 q# I是不是需要在DSP.CFG中进行配置
4 K4 P/ h; x: E7 R. U我现在的配置为8 W: e+ `" p5 `- M
. Z( F. p( @, @/ w% j8 N
/*
$ ~6 t1 m+ f, V * ======== Operating System Configuration ========. y* h* B' |; d) U7 V! B
*/ A+ n3 L+ q0 C7 O
* w; B7 _" k& f3 k9 M6 e* U. r4 S3 U/* no rts heap */
2 |9 E6 ], R, O- A$ L% QProgram.heap = 0;1 I x: {. ]5 Y9 E$ B
Program.argSize = 100; /* minimum size */% a2 k6 Z1 D+ U l
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 G) T* |: j, h# h2 [1 ?# q, W/ U( i5 c$ F8 p
/* create a default heap */
/ \% l! M& b4 U& ^! fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 f }1 ~+ i5 ?5 B1 W8 x
var heapMemParams = new HeapMem.Params();% h9 F- c0 [0 l( l& @& W! f
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ T' X7 r. b+ c2 Y) Q
8 ?3 D3 H9 k$ u" q
var Memory = xdc.useModule('xdc.runtime.Memory');
; I1 d$ }4 j) R* iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
5 u e( \1 K- I
; a, h' H& Y; K( x+ a4 S: z, f# v/* configure System module */
& h+ d* y C9 Q0 N% T3 r2 Ovar SysMin = xdc.useModule('xdc.runtime.SysMin');; o/ }0 J5 g+ I1 w2 F- H8 f
SysMin.bufSize = 0x1000;
, M% ] x' O# oSysMin.flushAtExit = false;! a( j6 x- c3 s
- x0 k3 V* s: k. K. u" }( k& s
var System = xdc.useModule('xdc.runtime.System');% K7 F# _1 h0 j1 B" [5 `
System.SupportProxy = SysMin;
. H' O! A) ^0 ^, s+ g9 [& r2 C2 A8 v% m4 B' g8 I% P$ Q7 X
/* configure SysBios to use the lower half of Timer 1 */4 S4 @2 L" N3 `; o: H
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');6 M3 p/ i d) q: w* _" p) Z
var Clock = xdc.useModule('ti.sysbios.knl.Clock');# V5 s1 @! N8 v; M* `) C; g
Timer.timerSettings[1].master = true;% {4 O0 Y% q9 K+ G/ x
Timer.defaultHalf = Timer.Half_LOWER;& }+ D- U/ Q2 o( ~/ J4 }$ t
Clock.timerId = 1;
; p+ M% Q1 q- C+ k2 r) C" a
3 z& Q( K; G' }) n g, A7 c4 f0 l9 d
/** z$ Q4 g& V3 ^5 r' F
* ======== Miscellaneous Configuration ========2 g! l1 _2 _) _/ ^% G
*/6 K5 n/ y8 D0 z: i: Q5 P
7 _" u8 \1 t8 p
/* set default diags mask */
3 n& o% C& Y: e' @var Diags = xdc.useModule('xdc.runtime.Diags');6 S( u4 p2 c, e; G# h( v9 ]" ]
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 ~0 K. c8 `- R. j% L4 a1 `- L- E! e0 P1 i, d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" M( j: R$ j* c f1 R% P
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' C k4 @& j, x1 g: C0 i
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 e2 x" }" M7 `/ v/ _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ W# D! ~' Q8 G3 j
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only *// z9 O. F4 q3 d5 T' J: i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
r- T& i e0 ^1 A4 sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 |1 M9 B3 M; ^* v
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 l4 W6 a9 V/ i7 HDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. j' g+ H$ F- E- T7 n
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) q0 k4 _. Y0 `" \1 Y% t
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" x; j, Q0 D+ f$ W9 J) yDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 z! n d7 n& E- D0 VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;. l1 o7 B0 e8 f* k
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. c7 f) L2 r! Q# P* P, e- @. M9 O. @ a F4 f
/* override diags mask for selected modules */ A& J N8 B( X& b: d9 ?$ m
xdc.useModule('xdc.runtime.Main');
7 O+ B% F# e j& N" t+ }! HDiags.setMaskMeta(' |; x |7 o2 e# u& J8 D
"xdc.runtime.Main",& T# h" M3 e* N* z' z, R' [7 k
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 O0 X8 @0 Y: S5 R1 t4 Q
Diags.RUNTIME_ON
6 U1 G7 |3 q$ }# O. T9 p);
$ n- D' @& K/ L% c/ E9 s6 r( h( v
+ X# t' Y) Q) Bvar Registry = xdc.useModule('xdc.runtime.Registry');" ~; u D6 U# B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ q2 S3 k4 P0 w7 B/ ]: t$ r) @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" k; V- ~$ `9 q6 u4 P; p" Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
) P! c# {+ ?0 t. eRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 a+ I6 G$ {9 l3 Z% G2 T5 Q9 o6 V
# Y0 {5 u8 V" l1 r, t+ [' O s
/* create a logger instance */1 R1 ^" A- ?# P4 g! V. T8 W1 v8 ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 h. u6 r7 N0 x" Avar loggerBufP = new LoggerBuf.Params();
/ D( A ^* ?& V, d- R; p ~loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' X% q2 [1 X, D2 ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;; F! A5 v, V8 r- r% s
! C" i" d! X* C6 m1 Q7 O% S' ivar appLogger = LoggerBuf.create(loggerBufP);
/ b- H0 I3 v( R' k6 R) l. D- D$ H" pappLogger.instance.name = "AppLog_Core1";, T) j- y/ o- d! w7 R
Defaults.common$.logger = appLogger;
8 F; E* \) H& g+ r- XMemory.defaultHeapSize = 0x8192;
* H* O8 c+ B! [Idle.idleFxns[0] = "&LEDStatus";
$ Y6 D% U$ o8 D. D. ~Cache.initSize.l2Size = Cache.L2Size_32K;$ ~$ M4 z* v( Z6 ?5 l: ?; p$ R" U6 \8 ]/ A
1 C t; S& R) l: h8 u, m B! ` |
|