|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( v F6 C1 P0 O, W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ l9 f, y5 q2 B: c) `
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
S. K% a1 e0 `, H2 Y/ r
/ A. b# K/ _ I& R' C, q: f; I是不是需要在DSP.CFG中进行配置 y& _ O6 g" _3 @# ^- n# }
我现在的配置为6 }- P: f/ C5 T8 ^
; ~) L+ H+ {. o) t+ q; }
/*
3 [% J3 R6 W2 s: W1 T1 t * ======== Operating System Configuration ========/ ~: Z, J& d; a
*/
9 `$ G8 t9 _ Z# E3 l
4 q1 W0 P9 f0 F2 j7 B8 v/* no rts heap */1 |( m& I' i8 A' \. V! j2 [' z3 a5 `
Program.heap = 0;
& A& R3 S3 ~: G& r* H( H. C& s. ~Program.argSize = 100; /* minimum size */
* N) P" w0 Z$ tProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 x9 E* f+ p8 j4 Q! `3 x" b$ A7 i3 @9 ]6 j* ]8 P/ T
/* create a default heap */
) K* A: V% z' ~# |( d6 |var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
G2 y& `% ^: hvar heapMemParams = new HeapMem.Params();0 e! [2 _& R- F9 e, p% }+ w0 @0 U
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 O+ ^8 ]% J0 x
2 q- f& A6 Y$ g m/ ^3 e( n3 y6 c
var Memory = xdc.useModule('xdc.runtime.Memory');
& H( y+ U+ H8 V& UMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
# z/ ^/ N& P' a
3 V; k/ d- N t7 T/* configure System module */
" e: K% g7 R+ j3 qvar SysMin = xdc.useModule('xdc.runtime.SysMin');. b& F3 r' Z2 O* z3 a, e. `& Y- X- {
SysMin.bufSize = 0x1000;
+ d% a0 S$ C' R, M2 C7 }9 }SysMin.flushAtExit = false;( a1 Q8 B. g" C
( }# {% {! H) v! `! kvar System = xdc.useModule('xdc.runtime.System');
1 T& @! i/ G, N- MSystem.SupportProxy = SysMin;
+ P ]$ |' H8 h" p: |7 J$ m8 M9 }6 X' S
/* configure SysBios to use the lower half of Timer 1 */& P9 _! e O& E% q3 H* a, x) @ E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( B2 {% u m# C$ k9 C) M( Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');4 }7 l t/ ?! g* f
Timer.timerSettings[1].master = true;! I8 l. _1 J- ^ b6 A
Timer.defaultHalf = Timer.Half_LOWER;/ c7 R: b A' l" T! t. c
Clock.timerId = 1;( Q, S6 ]1 g( Q9 c- y
; G% k0 Z- l) b; u' I/ v
& H, P! f; R7 D$ G/ _$ v% Q: M/*
) T/ j) A3 `9 z- _ * ======== Miscellaneous Configuration ========
6 y9 B9 W @* q1 ]/ t */0 h% f. C9 u4 T2 }% G+ g1 p4 s
! R/ x e# W1 g! q5 h- _
/* set default diags mask */% e: y! ~; g j) k! E
var Diags = xdc.useModule('xdc.runtime.Diags');
- `- i5 u$ W3 A- q( o. J' _var Defaults = xdc.useModule('xdc.runtime.Defaults');- k/ `- i2 P l1 x
3 g1 f! h7 w/ D4 l, i" l' \Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" U6 A5 d3 j1 N/ G3 gDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& M* T: C% f6 s1 x _2 `Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. I1 b7 s( p. Q0 l7 _( F3 x. SDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. a7 `$ @5 U* Z5 UDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 v5 z- @& J- E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
E& n+ X- ~/ g" j# vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 ]. U! ]4 h7 Q" EDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& l, \9 c& t- z. ~+ ?
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ R# V8 X+ D, @0 c% F( e$ d! LDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;$ d) \& D) G" D( Z0 i& H7 m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
R* L/ e) F; k& M. p7 U3 _Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 Y% C C' G- a
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ M) |) s$ R3 O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 U% A' o4 X7 ]* l6 q/ I5 e. |
. U9 C' h0 C5 ~+ Y" |5 t3 k/* override diags mask for selected modules */
% B6 O) s5 P5 b$ X* xxdc.useModule('xdc.runtime.Main');
) Z/ w7 Q: s& N' C: hDiags.setMaskMeta(
8 a% S, h" G+ }9 s3 z% L' F6 I/ K8 T+ Z "xdc.runtime.Main",6 o; t' t9 u& U# A7 Y; N9 E
Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 M& J0 L9 F3 t1 \2 ?% t) L. a8 l Diags.RUNTIME_ON2 l0 O1 U3 R) O$ W
);
" K/ S$ x' X/ O9 Y5 w# ~; t( M. Z' ?1 ^2 {7 v3 ]
var Registry = xdc.useModule('xdc.runtime.Registry');
4 }# R4 ^/ L; E7 p* L! N/ F* \5 SRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# a$ ~' b2 e0 U: c; F% s) p) h; b- URegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 O7 Q. @% T1 \3 @; P7 p
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;9 u. S; w" j1 A: E; F v
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: A2 |+ l4 z$ K7 r
+ l; h8 V R% L0 X; K& R! ~3 ]# l; T
/* create a logger instance */0 {* ?* l/ g6 }7 C6 G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');! L8 @7 A) N* Z, D: l7 |* X; g& v
var loggerBufP = new LoggerBuf.Params();! @9 H0 A8 Y! m" f; K4 I+ I
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( x7 f" A& x- N T( [
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* G' M: \$ q* ^/ n; P
( m X. A! K! J3 w8 ~' ~( t+ pvar appLogger = LoggerBuf.create(loggerBufP);
1 N; a/ E5 i/ M+ z# L" {appLogger.instance.name = "AppLog_Core1";& O& ~# j8 G: u9 f, f* I0 \, d
Defaults.common$.logger = appLogger;" t$ [1 k1 o- A0 J; m) P
Memory.defaultHeapSize = 0x8192;
# m2 T# d6 z( H( k1 @. z& }Idle.idleFxns[0] = "&LEDStatus";
; g. w# ~) X( A. P6 m0 YCache.initSize.l2Size = Cache.L2Size_32K;' h" r- x5 ?/ g
) Q6 f* j4 Y$ E# q$ ~- |, Q
|
|