|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ Z H q9 ~; s. ]我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" B$ [, V- X$ T
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( t4 t+ p* R+ u4 O: v1 F3 R w9 a! W, J
是不是需要在DSP.CFG中进行配置1 T- a% U" ~. `8 ]
我现在的配置为
: ~" a: T' F; [( ], P# K4 }( _! F, Y$ ]- b8 H
/*2 M: s* y u6 i
* ======== Operating System Configuration ========% B- M( p* T6 h9 I# s' ~+ O
*/) S- y1 j, \$ b: r, R4 h$ c# x
) f0 ]7 z6 x6 j/* no rts heap */
' {4 i* w/ d1 G, M2 H) J- c* j/ mProgram.heap = 0;$ T% u8 i, c9 G# G7 N. I! ?
Program.argSize = 100; /* minimum size */$ h2 S' r1 c" b
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
* B6 v; d" t( t4 ]& e2 [ _3 {" ? w' \. A2 |6 F4 J) m* c
/* create a default heap */- y6 t$ @$ N) b5 A. C. ]# W! ]
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ x! }; G7 ]2 O
var heapMemParams = new HeapMem.Params();8 z# }9 C: k2 k9 G2 f9 L6 r& n* a
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: U2 O4 {0 o1 l: e. H$ r& j" n+ `! D0 S0 W* Z- K* I' _
var Memory = xdc.useModule('xdc.runtime.Memory');+ k) `7 k, w2 X: X q9 h) U5 P5 x+ u
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);( v2 k3 E+ `4 H6 X
6 a. {5 A# Q. a/* configure System module */
! Y3 t2 s' Q' `: o0 q$ vvar SysMin = xdc.useModule('xdc.runtime.SysMin');
7 i0 W% X- Y0 Q' ^SysMin.bufSize = 0x1000;( e. ~# F% R# q4 h
SysMin.flushAtExit = false;0 S* y: K3 d4 y) s8 `0 T$ f
+ C7 _% {( k4 ]$ l+ x1 v& }% c& uvar System = xdc.useModule('xdc.runtime.System');- f2 ^0 S! X2 M. j% ~
System.SupportProxy = SysMin;
9 P% k+ d$ K6 B" t, `' R f5 B2 J* ?) ^5 Y: g% C, X4 V
/* configure SysBios to use the lower half of Timer 1 */- @& l) c4 y3 Z3 l$ K6 G8 j
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" `9 [) \1 Q7 m: W/ I6 Ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- A5 M( m9 ]& T3 {; G1 i4 `0 [Timer.timerSettings[1].master = true;3 B! Y m$ M$ @
Timer.defaultHalf = Timer.Half_LOWER;/ V0 f5 l. `5 }# {* d
Clock.timerId = 1;9 N/ _1 o; q: @* N3 g$ Y% c
# {$ S8 S- S; _8 f
" X7 }/ v s9 g, h! |( `/ n/*
% @, `1 A; I9 L: J6 }$ l * ======== Miscellaneous Configuration ========
; F$ j y! q% H! I+ l6 ? */
! S; {' ^% A$ A9 r, Z2 H, f% w2 D( k0 J! ^, ~( H4 J: q" t
/* set default diags mask */
3 H$ {- k0 m) C. B+ e8 Hvar Diags = xdc.useModule('xdc.runtime.Diags');( Z' h# e/ S4 j6 h' N' A7 }$ H4 ^' b# d
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& r) [' i R& i. U4 b& A
2 M& ?' Q/ y1 P# ]& ^' J0 D' FDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 \ w. E' r- ]% e! b" k3 MDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;1 t7 B5 p7 Q! Z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; B/ e/ h8 f' L* A. J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ Y6 X# T% @1 b9 x
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! ~$ m4 l6 I2 s
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 l' }' c: t9 l* f. [: i; _5 r: ]# qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# W; {+ k; ~9 F7 Z; BDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* L% p+ h5 J. G, P; l
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 R) A9 {4 ^2 X) g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" d( K- g- H/ O2 bDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, U6 Y! A. W9 |$ E6 M& d+ B. S) pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 C! i% u$ V& E$ ~5 U
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 g( U. l1 x% E8 t, IDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: m: Z% Q; ~# s R8 q' ^+ F
- H3 L% Y4 c: T! {/* override diags mask for selected modules */
8 m- ?7 w: P. Exdc.useModule('xdc.runtime.Main');
7 U/ T( H# O+ X: b" Q% ?! VDiags.setMaskMeta(
! c' Q \' k, t9 ]2 Y "xdc.runtime.Main",
/ l7 N3 ^" q- T% ]# {4 Y Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 Z, b7 G2 d! u1 o6 O$ R Diags.RUNTIME_ON/ e- ]- J: O" g4 A7 L& L( N( G) U. T
);
& u& l- \: W6 R6 A( M9 R' [
8 d* g/ w: y1 j6 m) z; L! H9 Avar Registry = xdc.useModule('xdc.runtime.Registry');
( @% W, i1 s$ Q' J& DRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;8 ]) V$ G) D5 \. D# b
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! s# [$ L e" ]( `: s& n. X
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
+ I0 q* E: _$ i# j$ ERegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- u; ?: m8 c0 A7 ^7 E; ?! X& o/ P, O+ E7 ?3 B1 |
/* create a logger instance */% [: J1 E! u4 R; F
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
' U! r* |) {$ t( O# gvar loggerBufP = new LoggerBuf.Params();
# e& p6 y, Q$ V+ z7 n- NloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, u- G0 Y$ u1 u' }3 WloggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 k# G" _' g, u5 r% ~. l5 W6 f, P1 R6 E; L$ w4 N4 @ F% u* A7 H
var appLogger = LoggerBuf.create(loggerBufP);8 @& @8 c% ~6 ~0 y$ q# `
appLogger.instance.name = "AppLog_Core1";
3 i, C. ]* Y' V5 _, x, S2 JDefaults.common$.logger = appLogger;" E4 C) c) B1 m5 g/ D' J( \
Memory.defaultHeapSize = 0x8192;
1 D* `! Z7 E, v, S1 ?: DIdle.idleFxns[0] = "&LEDStatus";( W" H7 S& v8 n
Cache.initSize.l2Size = Cache.L2Size_32K;
2 A# G8 N" o/ z; }8 Y
/ x: c- k* h- y4 z5 c. `! ^ |
|