|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ R! ]$ A5 L1 \" p/ u1 p
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 p$ X7 E+ T" U$ S(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 k3 S6 X" ]. z3 c
: ]/ U0 ~6 B% Q& ~是不是需要在DSP.CFG中进行配置
: y2 X1 N( D( O我现在的配置为
8 w7 A' c7 G7 M/ ?0 W$ _9 a) k
$ w t; u0 m/ x1 ^4 @3 T/*
3 b; T% K$ s# V * ======== Operating System Configuration ========
& O, r2 m' j2 i& J4 E! R */8 P6 _6 J, }4 {+ @- x' S. u( f
: \1 F. D# ?/ x& I/ @
/* no rts heap */* r F% L" s* \+ h$ q4 ]$ P, t7 c
Program.heap = 0;* W+ O$ v( N+ ?, _/ G" X: E( \% L
Program.argSize = 100; /* minimum size */) E" b4 h% z( m) I4 v w( p
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ o: R+ H$ k% V9 b, F# w
! {" [* x; t0 A* H/* create a default heap */( ]& q9 b+ Y7 E
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. C f" c+ E8 b {% L, ]; x f: x
var heapMemParams = new HeapMem.Params();. f" q$ d. U; G) L2 W: Z; O8 ?+ }
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" ^/ D f# ?$ `4 j* {: L* J3 o
) n/ G8 k1 I4 i
var Memory = xdc.useModule('xdc.runtime.Memory');
1 @; X8 f" l& \' l0 g* o( M. E4 @Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% X3 {. x6 M9 ~9 _* y, z* r+ X
5 D; F/ s. C; K) V5 X" a1 F
/* configure System module */ C8 m& Q' y# T! Y0 L, B: W
var SysMin = xdc.useModule('xdc.runtime.SysMin');
4 i5 q; H( C' N; b) z/ v# lSysMin.bufSize = 0x1000;; N5 t. T/ b5 r3 x6 {9 z
SysMin.flushAtExit = false;
! K5 g3 ~5 r8 `3 i! a7 Z8 m
! b9 A5 ?3 `- A& Gvar System = xdc.useModule('xdc.runtime.System');
$ H5 S) l7 z( @; ?$ C' Q4 w4 iSystem.SupportProxy = SysMin;$ }# X H% t5 m. @7 `
" i8 J6 R1 {' ~, k+ a
/* configure SysBios to use the lower half of Timer 1 */
% L* a$ ^+ T8 B& U+ ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 c9 _8 |; l5 v( _8 q: `8 c" K6 Fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');7 N' [8 z" v( ~4 V% @: B
Timer.timerSettings[1].master = true;
3 {* }1 K4 L: wTimer.defaultHalf = Timer.Half_LOWER;
7 |. O6 G7 a, F- u, j; qClock.timerId = 1;
0 r2 d5 Z3 D3 S# K/ H$ U) y* T( i1 D4 y9 a
5 s) V4 ]# q- `6 { Q0 b z9 Y/*9 L4 S/ \) _* ^# x$ O3 V
* ======== Miscellaneous Configuration ========/ Z# w9 p0 M7 [7 {, i8 W
*// [$ ^: [) h+ G6 {
# c' @' D' f( F u) P/* set default diags mask */
- O; E' {# x% F9 Jvar Diags = xdc.useModule('xdc.runtime.Diags');
! T$ b) M' E/ v( T; V0 ^var Defaults = xdc.useModule('xdc.runtime.Defaults');! K- r% @: T3 y3 [# x& M, ^# z5 J
# a% \+ x7 k2 K7 _Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* a, e& g5 }; s. k
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 q1 y6 B5 B" f. ?$ x# b& JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; C, g4 j% \; l" ?. f: CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! u5 T" \% V3 q2 n# |/ _Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 e7 z7 v( l7 S+ n e
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 R4 ~, n' p& K3 {0 f
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& {# w- s0 k/ h+ mDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% o2 a# ^; Z4 B
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' P b. [: d3 o' ^ G
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 c. y/ J+ h8 BDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 q6 J' ~/ O( Q+ v! FDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: K- G7 W7 ]$ W: D3 m$ y; b7 gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 M5 F( u* o9 ]* ?) V# n; G0 {
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. O7 H0 P% c: _3 _( B A0 E( J# X. V9 Q
/* override diags mask for selected modules */' q$ R7 A2 k% ^0 N
xdc.useModule('xdc.runtime.Main');$ }0 ?) S% j: I. T
Diags.setMaskMeta(- t. x2 T0 M9 N+ p0 J5 h0 D# ^1 E
"xdc.runtime.Main",; k2 n& ~' ?$ J+ C8 Q' v4 w
Diags.ENTRY | Diags.EXIT | Diags.INFO,. D/ p* D9 n( r# }* B9 f
Diags.RUNTIME_ON
) O* ~1 K2 s! v) C& X( \9 o+ P7 h- A);
* q8 t9 v+ Y; m: |( h" @1 R. t; H+ p) w# t9 Y
var Registry = xdc.useModule('xdc.runtime.Registry');
) n4 J! F- \! g/ IRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 S! `; ~& g1 kRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
W4 l8 H6 W8 W' TRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 |, e. V% h% }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
% Z0 `% d" ^/ |2 @0 s) Z1 o- R5 A2 }2 T, m9 O, I
/* create a logger instance */
4 @4 g' b! e! H( \1 x1 | O% Kvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# W& M: z0 \6 F2 f# F6 Pvar loggerBufP = new LoggerBuf.Params();' q$ m& a" ~/ r$ O- @* N; n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 L" @( [1 _4 t+ p2 t( CloggerBufP.bufType = LoggerBuf.BufType_FIXED;7 b& k; z1 y& r1 G+ z0 b3 F$ ]. P; z
. |! W7 {% }; H5 }6 Tvar appLogger = LoggerBuf.create(loggerBufP);0 j, H# R( m6 t( G1 f, K
appLogger.instance.name = "AppLog_Core1";+ y% H) U5 N& F! M# N1 w* v6 {) x; o, u: r
Defaults.common$.logger = appLogger;0 m0 t. y2 `2 L2 G2 H+ J6 M- I
Memory.defaultHeapSize = 0x8192;
' {4 G# q2 \; T# YIdle.idleFxns[0] = "&LEDStatus";
" \0 @: R( X2 r( m XCache.initSize.l2Size = Cache.L2Size_32K;
/ p( s. w( Z! U3 t
) a" _5 x- _ J' \* B6 X |
|