|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 L& Z; N0 V: \ C, O
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* \. | w x# o(不过疑惑的是,为何单独DSP仿真就没有问题呢?)% p7 F8 T: X* a+ C
0 {' ]* N& [) Y- D0 [) p
是不是需要在DSP.CFG中进行配置- z4 Q- p l9 \; i0 r/ e( a
我现在的配置为+ e! i1 S8 c5 B; }; q5 j/ P
+ P/ ^( p% P- l( r7 u: V4 ^9 n; f5 r
/*
# e/ D6 d. ` E3 }+ X2 V$ b * ======== Operating System Configuration ========
& L3 S S( _& W$ y1 a3 g+ ~ */
3 P, m ?8 d- y" a3 l! v) }- ~1 y, Y. i- n0 F |, n [7 u
/* no rts heap */& E; G8 k+ s/ H# r2 W) r
Program.heap = 0;
3 }8 [; i' [$ f* s2 DProgram.argSize = 100; /* minimum size */; V7 t- X4 a6 E. [! B' n
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- g% X# I" J" V& f2 z
2 i$ X2 D$ d( B6 K/* create a default heap */$ L% I# I( ?3 P# A6 K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 L" R1 X6 k- y- A, t$ \2 Dvar heapMemParams = new HeapMem.Params();3 k( w6 ^, X2 M6 W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ E2 c8 d+ { K9 k4 [, {& b- O
- U6 R6 e' H7 ?. z, wvar Memory = xdc.useModule('xdc.runtime.Memory');7 E7 o) ~' g9 N% r7 Q# F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);+ a& B. \4 h# C3 o
0 U7 R# Q8 I1 a8 U& [$ q/* configure System module */9 @+ V% X& m# ~# j0 c* J1 R; o
var SysMin = xdc.useModule('xdc.runtime.SysMin');
' J, D+ p. D$ e6 B9 S' q- }SysMin.bufSize = 0x1000;, J/ Q+ P7 Q! e: S- }+ u0 i
SysMin.flushAtExit = false;
7 r7 c- B# W8 _7 ?
" o! }6 l/ | L6 M* b" ~, ]3 W+ avar System = xdc.useModule('xdc.runtime.System');4 }) |( u$ g: E: C) Y7 F! L/ G
System.SupportProxy = SysMin;# n/ e' D3 l- K* U
# M8 F$ B# S7 K
/* configure SysBios to use the lower half of Timer 1 */
, P6 Z( a6 A4 A$ uvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" ]4 `8 W0 x- l* r J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');* z) {1 ^/ [* ?
Timer.timerSettings[1].master = true;
- V' _. @2 y. I+ ]/ P/ \- I2 zTimer.defaultHalf = Timer.Half_LOWER;" }, \ u$ p/ d# I. l1 e
Clock.timerId = 1;
! f; E& G1 q% P: H
; n9 k/ s0 h# ?% ^* N, ^
R& a* I4 a \% c0 y8 x- |/*: q* C$ {/ H$ U
* ======== Miscellaneous Configuration ========$ L- L; {; J5 w
*/
1 X; g8 C6 _6 U, P- x
+ M2 m. o4 h$ o, w# s/* set default diags mask */
! _# L; h9 t( O( Mvar Diags = xdc.useModule('xdc.runtime.Diags');
6 ?( h4 r7 \" ] nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
0 V5 `6 y. _5 }9 B. ?* T4 H( o# }4 C+ _, y, p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, f9 V& r7 r. V9 @ M; aDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: O0 s9 a7 n9 D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# z0 M- `- G) ^2 o
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ G& n8 [1 x: FDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; C- Y' |9 u% T2 yDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" g# v% |' u$ r `8 ], N% sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 M- }5 J/ L; d( e0 c2 qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 k, n3 f5 G7 c* y; k6 Y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ u. C2 m( ^6 dDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& S1 ^ e. J5 j: XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 w# H3 G r. R! w- q/ ^2 Z7 D1 Y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 Y* t/ ^3 V0 f
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 ~+ O/ P0 w4 ~! _: g2 \) {: s8 {
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. ]% A+ Y. }) U
$ T1 s5 B8 L8 ^+ z+ O- R- S) u
/* override diags mask for selected modules */& e- U( p1 b: v: u4 o1 X
xdc.useModule('xdc.runtime.Main');1 N! e# Z% P- k% e2 C& G2 ^( }6 p8 p
Diags.setMaskMeta(
; P, {0 u2 }4 S' }* v "xdc.runtime.Main",
# `8 `1 F$ U7 z& b Diags.ENTRY | Diags.EXIT | Diags.INFO,, @$ B3 k5 ?- `, ?$ H; S+ R9 o
Diags.RUNTIME_ON
' e3 ~ D6 V' X$ r+ V);$ w% C& \" t' ~7 y3 R- [* S8 e, q
7 R8 ^2 k! s6 t# F! F
var Registry = xdc.useModule('xdc.runtime.Registry');% v. ^3 ~( L) S3 X- D- l# `
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 ]; e; H! A$ P) V: Z, L
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ \- Y, Y5 X" Q# x( M
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;5 e: Z/ B4 U6 u
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- ]* d4 t3 o+ @) v' Z( B8 F: {/ g" v
# _* W# u' n$ w7 f
/* create a logger instance */7 c: {9 W' q: i; v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 y9 e' n( L# m- ?$ jvar loggerBufP = new LoggerBuf.Params();
7 f$ Y7 Q" e1 N# V/ h& |loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& V3 \2 |) r# N1 p9 V- BloggerBufP.bufType = LoggerBuf.BufType_FIXED;6 N5 a% e% ]1 G( ~' R! _# i
/ I3 y5 T( C! [4 W2 b8 x: D! M9 }var appLogger = LoggerBuf.create(loggerBufP);6 M- o. D- |$ h, e% \
appLogger.instance.name = "AppLog_Core1";! `. ~1 o/ z9 b& u- Q h' t: B2 |
Defaults.common$.logger = appLogger;& Q, S8 ]+ j( p2 b8 b1 R& x
Memory.defaultHeapSize = 0x8192;
/ S- e8 I: F2 `Idle.idleFxns[0] = "&LEDStatus";9 C1 r+ [% U" Y9 D8 J
Cache.initSize.l2Size = Cache.L2Size_32K;
) Q' Z1 q8 n. ^" p* k8 F
# A1 x' v6 a/ P0 P- Z8 y" ` |
|