|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- P8 y, h- H- }1 d8 n
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
1 c8 A/ I y3 C N0 C(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" o$ U `4 e. Y1 U: x
+ g; P& A& h7 T# W% H3 d" l6 Y是不是需要在DSP.CFG中进行配置
3 [' u- v$ n9 _1 k/ a+ W) m我现在的配置为
9 |! Q$ H2 H: \! G
8 z8 N" L3 m; H/*
T% s6 L( |& F/ q6 Y. y5 z * ======== Operating System Configuration ========* A/ S- \. u5 @2 M; N
*/
8 S ]5 W7 j: G& ~" c: s* z0 ~/ {2 d/ T! z0 s7 @
/* no rts heap */) Z5 G0 y1 H$ L* F% x8 h* @2 S1 Z
Program.heap = 0;& \6 X5 X4 U( l' T
Program.argSize = 100; /* minimum size */. n. l! F9 F7 P5 b8 u# s3 G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, l9 M, [ ]5 N& ^. q
# L: k- K. A4 t/* create a default heap */; x$ w. N3 f) U# N9 r" _, K( M3 |0 c
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 H8 @3 V& T- q; h0 {& N; W3 v3 B4 u) Uvar heapMemParams = new HeapMem.Params();
$ I' ~( g1 Z/ K0 Q/ ~8 y/ B! eheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- m( V# v! B& ]* i
- r! ^# @& t1 {1 @. i
var Memory = xdc.useModule('xdc.runtime.Memory');
! M8 p0 F7 x. G) o' uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 B; V$ \& v! F& X
3 m' z8 Z3 B4 G/* configure System module */) { r+ o, B* a2 c K9 L9 p& d0 E
var SysMin = xdc.useModule('xdc.runtime.SysMin');- Z- S7 T. \ W7 c! |9 p
SysMin.bufSize = 0x1000;9 ]+ S+ d) P+ [7 G3 J$ p: s
SysMin.flushAtExit = false;. y( G9 R! l+ y! Y8 f+ s# J) y
, M* f' \$ ~& avar System = xdc.useModule('xdc.runtime.System');
9 c% U, B3 @/ L" L! C2 \+ }: t0 xSystem.SupportProxy = SysMin;* h! l) ]2 k; g k5 I) c
# R* J% @ N5 i0 A
/* configure SysBios to use the lower half of Timer 1 */
9 u: B: ]% ~% {) I, G A& T ?var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 x8 q; q& F+ w J7 r7 Q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 \' a1 A* {, O5 p8 XTimer.timerSettings[1].master = true;. U: {) i! c; k) V
Timer.defaultHalf = Timer.Half_LOWER;" F7 u0 Y% [' V H, x& h7 a
Clock.timerId = 1;& A4 m+ w; t q5 w& m& ~# w
# L1 f, `; a3 F: X& G
! H0 v& d0 r. m: ]* n/*3 p- C1 S1 V" n) w3 [/ Q
* ======== Miscellaneous Configuration ========5 i1 [5 Z1 _# J4 _+ l
*/( W# G6 _7 ~- I
+ i5 e: [% |6 p5 g: u2 o/* set default diags mask */ J/ D) B8 K- l, X
var Diags = xdc.useModule('xdc.runtime.Diags');
1 C" Y& w, t" c6 m" L' Kvar Defaults = xdc.useModule('xdc.runtime.Defaults');
3 `. h+ h+ v) w' p% p8 s+ D! S, Q# B- f5 o" m6 C( h. ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! J$ m/ q2 X8 R) L+ X( r L. g% M! q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; ^7 V, H4 X C* }6 z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' }; f! w- B8 B5 ?/ `" RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 d. H7 W( B) y4 M( E5 KDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ }2 c9 g6 F" N4 Z4 T6 x
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 ^6 \5 V6 i* o& d( X ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' @9 l; V f8 { W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, Z% y+ g) Y- \- B& j. `! YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 d1 K5 O9 E N8 N5 b0 D5 nDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ L- @8 u2 G$ Z* A, d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# B' b0 Q ~- O/ i( D8 ]/ `Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: G3 K) a& i3 a) x7 n; C! u4 yDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;( R, @8 T: X2 S f7 _& V7 \" T& A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 O$ a$ n! y* }2 w! f1 @
; ]( U s8 u/ k& I3 G' c4 F6 C ]/* override diags mask for selected modules */
6 ]: b: c" Q! zxdc.useModule('xdc.runtime.Main');
) J4 n# k5 X& _! \8 r/ k' x* VDiags.setMaskMeta(
- Y4 N. Q7 g- f/ W "xdc.runtime.Main",! d+ U& d* c1 {+ ~. v, z& F6 J
Diags.ENTRY | Diags.EXIT | Diags.INFO,
' k8 `' L2 }3 v) ~, j& e v Diags.RUNTIME_ON3 c2 I1 f0 q( S3 M K, R7 g
);
3 Z; O/ |6 d4 Q6 b- e) l/ v
9 |4 T9 w6 A- Hvar Registry = xdc.useModule('xdc.runtime.Registry');% Q& K) i4 Q5 h$ t! k0 c7 _
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) f# Q- t) @% F; _
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- G/ J; U6 z6 i! m& R7 i. x0 Y& DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
# B! A, Y- f6 {2 P: U; RRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ D/ ]( ~, m6 G: S
- g E- l/ p" \. J, z/* create a logger instance */0 B/ C2 _& c4 x# h' ?8 I) a; T
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ \2 e$ P# o, z
var loggerBufP = new LoggerBuf.Params();
6 m( t! k {% X2 I( C1 Y/ W2 XloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& Y ] J- s! [6 C% c' _% Z9 ~* BloggerBufP.bufType = LoggerBuf.BufType_FIXED;* Q* F$ s0 p6 {+ E+ c
0 j0 n1 [5 o0 h* F
var appLogger = LoggerBuf.create(loggerBufP);4 E' f$ B, x c" E. I
appLogger.instance.name = "AppLog_Core1";
! J3 W$ ~9 h0 ZDefaults.common$.logger = appLogger;( }8 A+ _( z9 M N8 h9 [( n
Memory.defaultHeapSize = 0x8192;
* I; \/ Y8 q$ U% C; sIdle.idleFxns[0] = "&LEDStatus";- y; T) v6 b% m- d( d% w
Cache.initSize.l2Size = Cache.L2Size_32K;8 [' R0 c9 E4 `. A: P6 d a
; ?9 L$ t; e( V- \% @- R9 o
|
|