|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ T, i5 c# V" \" Z
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" M( O; c6 F0 Q! ^+ b
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 V" ]9 E/ c7 N0 g( O/ E7 W9 N* I
是不是需要在DSP.CFG中进行配置
3 M! F2 k9 s5 S我现在的配置为1 h6 j) m, }. |! [$ `/ X
, o8 F% {5 j$ m0 x* l, j/ m) h/*
1 ?; }$ Z/ @* `2 F' J, } * ======== Operating System Configuration ========
% f: M. v; J9 R# e6 W */
) C, [0 u* E! ]$ ^3 f6 ~/ X* V$ G' ^. g. \9 i. m# ?& h. `: c
/* no rts heap */
' m! w) Q0 M( v* G4 \$ i. }Program.heap = 0;8 s9 ]. ?3 K0 f) v8 f# ~0 D
Program.argSize = 100; /* minimum size */5 h! Z* d- B [( z4 V- l
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" f8 B' n5 ^8 I/ Y: s0 N6 o- t* D! K
/* create a default heap */" o/ p2 I: N. j# X
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' y0 o3 `2 J" n, hvar heapMemParams = new HeapMem.Params();- _( `' x* _' S
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* i$ o9 |4 V+ x+ g- E! T, j+ J9 O
! j, r/ ] o3 ~2 y3 H/ M1 lvar Memory = xdc.useModule('xdc.runtime.Memory');2 h( q, i+ q/ ^1 f. G7 K
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);, W! ~7 s9 R- A1 Z# X; l
/ D& n% D8 y3 L# C( r3 G% ~
/* configure System module */0 d: D* a8 v* j4 V8 K
var SysMin = xdc.useModule('xdc.runtime.SysMin');
. l) ]4 f" V' `5 }0 Q h5 i: Z, c8 ASysMin.bufSize = 0x1000;
) ]/ t8 l2 [" i/ G8 f6 b* HSysMin.flushAtExit = false;2 {! n1 N0 \: C* y% C
3 ^+ M) Y* i9 U, e7 F$ {var System = xdc.useModule('xdc.runtime.System');# H' R5 ~, H h
System.SupportProxy = SysMin;
2 N% T; Q% T; b9 Q. w9 @ S/ E( Q9 |" [: b$ t' W* S1 r
/* configure SysBios to use the lower half of Timer 1 */$ i) J2 q+ [! _' X4 m$ v* w# p- v. `
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" f( g5 {% i0 R
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
( i3 Z1 w6 s+ M" O4 T8 F. zTimer.timerSettings[1].master = true;
$ B- \" O. ?5 J! HTimer.defaultHalf = Timer.Half_LOWER;
: v4 g. ]8 z ~- [- s0 eClock.timerId = 1;$ l+ z! }$ t. ~ L0 B$ {
2 O( ~% u1 M" `/ b
n9 n% O) o+ z" W( ]/*
$ H5 u% s$ r+ ^ * ======== Miscellaneous Configuration ========
, [" F! a1 o5 h P. c+ {1 v+ K */
. ]1 C9 Y4 w# O* z# X: w8 k$ `1 s6 t9 F- C
/* set default diags mask */
( f9 G4 o! G' t+ _" w7 pvar Diags = xdc.useModule('xdc.runtime.Diags');/ `8 _$ J( O# [+ x1 p6 l5 U
var Defaults = xdc.useModule('xdc.runtime.Defaults');' J" b- V0 @/ @
4 {: \! I" O+ T8 \Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 I: |1 q5 y6 U; y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 t1 \" X* [* d
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 E- p8 Z q; t* a4 A7 B2 [6 _4 z0 Z1 VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& c/ J4 e* k- H/ L9 N9 p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */. |3 A5 N3 w! o: T
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 J/ a& o& Q. N+ I5 X
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 s& l, Z3 e3 m6 bDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 r. d( u0 D/ R2 n( U2 D6 g, oDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
1 l4 K0 h; o5 B# k: nDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' ?1 M1 q+ k% [' VDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 t( x' [7 v5 N5 y; s) r9 {! `! ODefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& k4 Z& {+ a. q% F- \9 |Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ I: J9 B* Y( l4 _8 B
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# @& e9 g" _' E8 P1 j- |' r$ i
4 Z. ^) ~- n5 P' I; P) ]
/* override diags mask for selected modules */
: D) s% \ e7 m9 _0 p% p: H% `- G8 Axdc.useModule('xdc.runtime.Main');
, p) Z2 l2 f* q4 p7 SDiags.setMaskMeta(; c) T W0 z3 T3 Y/ _8 L' |
"xdc.runtime.Main",
, A1 s& o. ~- d M8 R1 l' h Diags.ENTRY | Diags.EXIT | Diags.INFO,' y& ?/ L/ y3 m4 u6 T
Diags.RUNTIME_ON' J) z0 i5 i/ E2 `$ N
);
# ^% M; a7 x) l' n- P9 M& A
& U3 r9 x' ]: g3 U' V, gvar Registry = xdc.useModule('xdc.runtime.Registry');. d+ E& g5 |; ~8 {: M2 L8 U
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 b$ T# k. m8 W
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 j1 S" k! H: F6 \0 @( K {Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
) M4 |$ r4 F/ qRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 h. u+ H6 d; \
& W0 H7 T @3 p- c# E/* create a logger instance */
6 n9 Z, b7 E7 H# D, L1 Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 O# k$ S `& O% Yvar loggerBufP = new LoggerBuf.Params();
/ C9 n8 p$ D- ~- D! dloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: c5 H1 A, ^' I7 \: ]$ S9 r* mloggerBufP.bufType = LoggerBuf.BufType_FIXED;
& {+ U, X0 _8 l/ a% K2 c% e
6 y# m# F) A, P) T3 M' evar appLogger = LoggerBuf.create(loggerBufP);
$ d' L0 D# b/ _8 oappLogger.instance.name = "AppLog_Core1";4 K4 Q/ R( U# Z* M |
Defaults.common$.logger = appLogger;4 |; T& A( O+ k( ^
Memory.defaultHeapSize = 0x8192;
- n' g/ |, t# y6 [% Z! ?) mIdle.idleFxns[0] = "&LEDStatus";$ T! w1 N6 @6 e9 o4 f: k0 ?
Cache.initSize.l2Size = Cache.L2Size_32K;1 I1 b' z% o, N% `8 i
- M) ^8 l( ~! ?$ m5 H, d |
|