|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
" D% P' M% D7 r' i8 S$ T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) Y7 ]! n b0 @/ F% A5 R4 C(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ ?$ g9 X9 W6 e7 M5 w+ D! H! q: t1 H. b2 z
是不是需要在DSP.CFG中进行配置
* A1 U9 Y( v0 @1 F' v我现在的配置为! M: X$ N+ z$ ?# m6 e
: s! p/ Y% j1 t9 X3 p- [
/*2 l! A( q1 V, R+ ~! T7 i; u$ L6 |
* ======== Operating System Configuration ========. \9 `* A' }+ J6 S6 C6 r1 m
*/
) W/ ~* |9 Z/ J9 D k) }
& x$ l: p) S3 H; E2 q# i/ I/* no rts heap */
. H0 |4 s" z# N: N# wProgram.heap = 0;
# M& ~: r! `& v7 d) t! nProgram.argSize = 100; /* minimum size */
) D. S( E \! N% B2 j6 JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. D1 L% B, f/ R/ N/ R% |
1 S. o: s4 g' l4 p/* create a default heap */
/ [+ ]( K! L ~6 i; _) Rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 d& k" t, R- j6 _1 v0 x+ `var heapMemParams = new HeapMem.Params();6 U5 P6 z- W; z, T' _# o
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& B" [5 M: y8 c2 Q' a
; q+ b9 V: B% J2 j
var Memory = xdc.useModule('xdc.runtime.Memory');+ U9 }5 X* ^- Q8 e' s+ Y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% U1 _/ I4 T0 J
. O d; f" @5 g# U/* configure System module */
- E5 S1 `8 E! Yvar SysMin = xdc.useModule('xdc.runtime.SysMin');7 Z, s0 ?' Q5 N% Z3 A8 H
SysMin.bufSize = 0x1000;
4 d3 R$ z) ?3 U( S' sSysMin.flushAtExit = false;- w8 K% l9 q( D6 I4 Z, Q
6 h6 V) d* s9 \& U; R3 o8 i1 G, x/ f5 wvar System = xdc.useModule('xdc.runtime.System');
# [6 T$ Y1 H& a2 N) G4 ySystem.SupportProxy = SysMin;
! @6 Q7 c3 I: u% C% `
* q5 r6 W% E% F+ w; T+ K/* configure SysBios to use the lower half of Timer 1 */
5 g& E- G( [( _, O1 d% A# H7 ]0 y6 v2 Cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; }; r" Q& J- B4 v& e% u6 Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');5 s* V5 ~7 ]% ?- e2 w
Timer.timerSettings[1].master = true;- J% f. _6 J2 U% a# {
Timer.defaultHalf = Timer.Half_LOWER;
& ?. Z: s2 ]& t2 E3 N$ z$ jClock.timerId = 1;
7 V9 L- y4 a# c$ @) u2 |0 k+ P) a$ X. O+ Y
( n7 n3 k4 N3 F3 z# Q
/*$ c3 D9 F7 o4 ?1 J7 n: j
* ======== Miscellaneous Configuration ========
7 [- |% e) L8 V4 _ */
8 k; X6 E9 Z S- r8 n/ X u1 u% h, s1 D1 E6 h1 z" y" @6 W1 G
/* set default diags mask */
) f$ @; M. s; U( k- n6 @var Diags = xdc.useModule('xdc.runtime.Diags');
3 @& H# }5 P, |$ Z$ I0 Vvar Defaults = xdc.useModule('xdc.runtime.Defaults');( M3 m" y& j$ ~0 ]: C/ i1 ]
1 { a9 R* s8 i1 d$ ]1 k
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ N5 O; x- r- cDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 R, G8 P( J2 ]. J/ b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 b8 o- z5 e6 \' \1 H! WDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */+ q4 `$ Q2 `4 H/ L
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 d0 E8 X* S6 h3 r5 z4 MDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% `- `8 v, R# o- `9 e8 I" Z: ?Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 O' F- `" b8 ^
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ D; V% U# N, W( l7 K5 E' ~6 {
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 v0 O% q% ]0 G6 i5 n8 jDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. g; e. U! A( ^# FDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 V& G: u/ i& l; V1 O. e1 zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% d9 C. ~1 K" m: Z2 J: v8 PDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 s1 [3 Z. Q+ y! B+ [* S
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ Z/ l9 g; I5 ]$ W3 d& E% x
$ R/ t3 u- @" o/* override diags mask for selected modules */2 q {# R9 [4 ^8 U
xdc.useModule('xdc.runtime.Main');" H' e2 j ?2 `. p4 Z: S
Diags.setMaskMeta(
2 p# Q& e' N, |2 c/ U "xdc.runtime.Main",) n. u3 A* r9 C' I" w
Diags.ENTRY | Diags.EXIT | Diags.INFO,
; V4 C5 c8 }7 f, V Diags.RUNTIME_ON
: _! @. y& R1 R);
! G4 \+ c0 f9 g0 K3 s; x Z' H0 b* K5 f0 b# o6 R
var Registry = xdc.useModule('xdc.runtime.Registry');8 N+ E& i# T X6 y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' g" U @: M/ Q/ E! r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) Z" J1 T( u: Q" `1 V* Y/ B7 F7 @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
" N( Q% @. w7 f% q- IRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;! C; z" \; S5 h3 D* h
" \$ p0 J( k! a1 k
/* create a logger instance */
Z* V9 U- n4 w7 _var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; `3 h8 r4 {/ K, z# L4 q$ zvar loggerBufP = new LoggerBuf.Params();; c9 z& W( l k, j9 _0 ^
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 d, t% c& R0 R! {
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( C* N# |* k5 S. x- e0 s3 B9 r$ i
+ P/ u2 V- `1 {6 ?7 x. x: T; xvar appLogger = LoggerBuf.create(loggerBufP);
$ `. a1 j: z W, W( e4 H a n) XappLogger.instance.name = "AppLog_Core1";4 M3 e/ c/ B: K: z; }
Defaults.common$.logger = appLogger;2 m( l0 [& E% Z' E0 [
Memory.defaultHeapSize = 0x8192;
+ }6 f9 C9 {- |3 m4 R. iIdle.idleFxns[0] = "&LEDStatus";# ]2 x1 z( K8 \# V. k; f
Cache.initSize.l2Size = Cache.L2Size_32K;$ S( m7 v7 W4 m8 v
; Y5 i3 j7 O! \- F |
|