|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 i1 H, J2 h* y3 i5 G5 z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下3 E' P% |* F$ h4 u9 S
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* Y7 Z' F. H: l
3 Z$ l- H( R x* a是不是需要在DSP.CFG中进行配置- ]& }: Y6 D: a6 {. W/ M( c. O
我现在的配置为
2 o E4 X) c! Z F: I
7 R+ L# x7 a! N7 x w$ e/*
, P0 s) n$ h. k9 K; Y6 G * ======== Operating System Configuration ========- x: c& l) A2 v. Z& D
*/
9 u" R) i! _4 E- A8 P5 r" z/ X+ n G9 |" {! ]5 g9 L$ i
/* no rts heap */% Q$ @( v) ], l3 w
Program.heap = 0;
5 }& W( g$ A9 ~Program.argSize = 100; /* minimum size */( v4 g+ @( _1 I
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大) h9 S0 k8 `, C* t
0 r$ G; w+ D- ]! _( P4 D
/* create a default heap */
) Q# K' o: }% c1 n7 svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ A0 [) V5 V5 R2 _' yvar heapMemParams = new HeapMem.Params();& A" Y4 m H+ w2 F+ v/ C5 g4 z
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" {4 R, U( M. b `6 n: ^: w! e; F* n" C4 e9 i5 s, @' Q7 d
var Memory = xdc.useModule('xdc.runtime.Memory');
s0 J% r( R; x4 ~Memory.defaultHeapInstance = HeapMem.create(heapMemParams);) S+ ^+ i: e& E6 W# D& p3 O
' z% I6 [# w+ ~" ^/* configure System module */) v& g& _7 k7 S
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" x2 Z |9 f* }+ aSysMin.bufSize = 0x1000;
- ^4 }* K: Z6 |0 D4 ]SysMin.flushAtExit = false;1 [1 T1 M1 Q5 e: e* A! w+ z6 j
; c' v" [% w" n. d) ]var System = xdc.useModule('xdc.runtime.System');) H* w3 Y6 R# ` J
System.SupportProxy = SysMin;( h1 o3 I; F- V3 {) [* P3 `
( v, N* A3 Y* ?3 X; j
/* configure SysBios to use the lower half of Timer 1 */6 U% a" R0 e6 o$ M8 M) g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 U1 g5 S! x# n/ A7 ?
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 X# h" ^4 i0 j# f! r! U
Timer.timerSettings[1].master = true;
/ n- ?' C- a, L2 ETimer.defaultHalf = Timer.Half_LOWER;
: X2 | P8 ^) H6 ~, [Clock.timerId = 1;- X/ s; i. v; M2 Y* g+ n6 \" Z
& Y9 `& f6 {) q {* b
4 @2 t, x! f5 q; d( U R# l/*
. q& e; O! z; H+ ^ * ======== Miscellaneous Configuration ======== U/ g9 _# l" ]: L
*/7 @9 V% T8 c6 ]; j6 B1 ?* f, g
% \$ _1 h v+ r6 x/ P/* set default diags mask */
4 _& T( B9 [/ P* _var Diags = xdc.useModule('xdc.runtime.Diags');/ w% M8 ~! n4 Q! C+ ^1 P- v3 d- u ]
var Defaults = xdc.useModule('xdc.runtime.Defaults');* k$ n2 U+ A2 X2 `, n
+ g8 T, j5 s/ I) U. jDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* m# C" `* o4 { s! u a! I
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ |1 ?0 q* C4 Y! b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' O" N% X# t5 {% c$ c% ?$ BDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) ~( Z& w" N; \& @0 H( s6 rDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# k9 a" b6 K) k8 P6 L$ XDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 {. H* b0 ]+ p1 ~" i- D
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' d! V% K, S! w& W6 o u- a
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% n" ]2 ~' O. ?; {4 s
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ j x2 D3 _# @% f( I% g/ q
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: m, P4 r6 r' `/ ?* @7 ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( y! R, y* ?3 w4 n6 \" P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) e% i. p2 X, S. O" s% J2 Y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* _% h* [2 \, ~# z4 j3 { r3 T, U- xDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 s( _ t; g- `2 }9 V1 t9 R$ H( v0 o6 H& _& {9 l/ H
/* override diags mask for selected modules */
, `; Q! I, r6 V2 _ r4 lxdc.useModule('xdc.runtime.Main');
9 J0 [- r, V* |+ Y# ^" BDiags.setMaskMeta(
4 K' G4 Q5 M' K6 M0 k4 \# d2 h "xdc.runtime.Main",2 C- l, n" Y8 n$ c
Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 I8 n) f a3 o7 o Diags.RUNTIME_ON
" g B S1 x |& h. b5 M( n);* |/ l l9 x% j$ n- b- A( l
7 T9 L0 e# T; ^) C6 [var Registry = xdc.useModule('xdc.runtime.Registry');6 B6 J! ^4 ]1 R2 k: f
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' k9 k) l" a- @2 ?0 N2 bRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( g! y$ e1 } i/ M$ M6 a9 _! ?Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: ?! d$ O* G# q+ X/ K1 }6 k hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 `9 d6 w% C# W! a9 g$ t7 ^1 H* _7 y; |! Q$ h6 u/ C' o6 g# \: m
/* create a logger instance */- s7 c0 m' M3 @' t1 M1 Z2 E) N
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% Z! m1 [( B" W. _) z
var loggerBufP = new LoggerBuf.Params();! e2 B; [( \( D) L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# i4 A' `9 q- `0 p) gloggerBufP.bufType = LoggerBuf.BufType_FIXED;/ u; s- v2 o( [' A# f
1 L$ W9 Z% R/ l) P& Avar appLogger = LoggerBuf.create(loggerBufP);9 a5 `1 U% D8 D& k' r
appLogger.instance.name = "AppLog_Core1";
, E. v: }/ |! k/ U2 nDefaults.common$.logger = appLogger;3 G6 s$ M, w! f; e0 B s. K" l5 D4 a
Memory.defaultHeapSize = 0x8192;
+ B( E8 h8 j0 d8 WIdle.idleFxns[0] = "&LEDStatus";
$ ~+ `; `: ~+ @4 fCache.initSize.l2Size = Cache.L2Size_32K;
$ G/ o9 _- I/ j5 _ W' m; x. q I# p7 _: w
|
|