|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 I+ p: P+ Z$ E2 j# @! }6 ?
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 V5 ?4 g- K9 D8 E3 v. ]% l- g8 i(不过疑惑的是,为何单独DSP仿真就没有问题呢?) {: ^5 A3 e. I1 ?0 m Q
2 Q8 S' h% n5 S) r& ~, j8 r
是不是需要在DSP.CFG中进行配置2 J6 k) ^4 [( H. s; }
我现在的配置为3 m" E8 A, m9 @7 D" b5 o l2 I9 O- O- @
) H. u* p- j8 Z/*
2 ]6 Q$ G5 Z* H3 g7 E% b- @ * ======== Operating System Configuration ========; g! z: R: H, f
*/
$ \& A4 ]3 R6 }3 o
3 d2 r$ J, f n$ w5 ]/* no rts heap */4 Q8 g( h7 f' c+ g) t1 f
Program.heap = 0;
. S; O$ w& v/ [7 Z( UProgram.argSize = 100; /* minimum size */
- o. Q2 B2 ~9 n+ V. ^Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: U2 h) p9 ]" c* U' a- A; r: U
- W8 U) x2 O3 `/ w/ \3 O- Y1 s/* create a default heap */: F! o2 c" [, y! d# K! `+ z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; n" O. _6 X& o \
var heapMemParams = new HeapMem.Params();" o7 F, T- p$ m+ `5 g! W2 C5 X% ]2 Q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# d5 _& b) M, {3 H3 ?2 ^
( T, S( B+ h! kvar Memory = xdc.useModule('xdc.runtime.Memory');
5 y8 d) Y Z2 t2 |Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 h+ x2 y: _4 h9 E7 q
6 L! _0 `- X1 e/* configure System module */
7 D; @$ \* @! i' G! ]$ Vvar SysMin = xdc.useModule('xdc.runtime.SysMin');! _. H( H& Y: h$ w
SysMin.bufSize = 0x1000;
: Y; C0 |( I4 I/ c* `3 YSysMin.flushAtExit = false;
6 B4 ?5 K8 @ o3 q" O7 H ~2 }% s* D
K% z2 N- V% u- I- cvar System = xdc.useModule('xdc.runtime.System');
) U6 ]! Y( A! P2 L# c S# WSystem.SupportProxy = SysMin;# y8 f+ U7 q- J8 [+ K& F
! ?9 W2 |( B5 u3 q0 a; e/* configure SysBios to use the lower half of Timer 1 */
3 {/ V" ^6 F' q4 \* Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( u# U; ^: M `! E. M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');2 S6 o" D; b6 k$ b
Timer.timerSettings[1].master = true;
7 M4 v6 L# M7 P- {! ?6 r I TTimer.defaultHalf = Timer.Half_LOWER;
% {2 n) G' |, lClock.timerId = 1;. ^" C$ E3 R2 h. L* U
" G) P: K' F: Q9 z# X/ Z3 c& W# \' U( j1 A4 P& O o
/*/ N+ R5 a" D/ h" W9 s: B+ Z8 O
* ======== Miscellaneous Configuration ========# H$ w7 J5 |) B: U
*/# L5 P" v5 Y9 w9 M9 ?
% w. b2 t6 K+ F/* set default diags mask */% p( a. W7 `4 Q! N: J9 ]
var Diags = xdc.useModule('xdc.runtime.Diags');
/ z! ^5 g: z# [1 @6 svar Defaults = xdc.useModule('xdc.runtime.Defaults');
) U3 e5 F4 U" M. \$ q' t' k' c8 n, N$ J
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 W" e- i( N3 r# MDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ h6 |& Q9 F; v: d* HDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;& R5 r4 ~/ c5 Y. Z3 m/ u
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* i# H" M8 S# G0 N6 qDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ y& c7 W5 v+ D' Y+ GDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
( N h% Y# B: ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ M* l# q7 X, N
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 d& Q2 B+ e6 z" h. C: O2 {
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( G; _% b# A& f2 g3 A
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ n9 H+ k+ f2 n& X; SDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 [: E1 V3 T0 R+ ?5 d8 VDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& ]- q5 n+ g. {
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 W K& ]" ?" c1 b8 K. K$ h
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ c: L5 e5 [ k& D2 L5 S
" X! N4 l* J/ w! J- w8 Y/* override diags mask for selected modules */
, ~+ v/ x* p, c- g0 l! Q4 B# uxdc.useModule('xdc.runtime.Main'); [0 O0 J+ u" X/ y: @# e) I
Diags.setMaskMeta(( _* `8 |- h$ f( U( P
"xdc.runtime.Main",
$ f' O% A; |8 Y3 e+ s4 v. k Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ f4 }# m' a3 m5 T3 Q Diags.RUNTIME_ON
9 {9 W' ~# P9 G. H; `);- ]' f2 v! I1 [
% L3 n+ A+ X) I' E7 r; i
var Registry = xdc.useModule('xdc.runtime.Registry');# F6 u- `8 ?6 u% d H. X
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# v9 k1 O2 i: D0 ]8 ^: W
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 d' E8 L( p3 ~5 }1 ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;# I3 p0 I0 I/ Y$ s" F$ I% _6 z2 Z9 a
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' \7 d' s5 _1 D; F( {+ }! J' D6 s8 E' B1 Z" H5 ]0 B1 `3 q! A
/* create a logger instance */
. S( \9 o4 p! D# Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. G: l2 J6 w h: n) w" zvar loggerBufP = new LoggerBuf.Params();/ u: I+ t( X. `3 y5 e2 W
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 @, G+ y0 ?' Y8 b, H0 b NloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 A, d( |( U- S4 x6 W5 V, }7 i: N: g z0 j0 E' Q3 V/ l3 _' Q( E
var appLogger = LoggerBuf.create(loggerBufP);; M8 P) x# v% c0 ^ r
appLogger.instance.name = "AppLog_Core1";
6 m; q* y# ^# aDefaults.common$.logger = appLogger;- _2 r8 |- m$ L! g
Memory.defaultHeapSize = 0x8192; 0 K4 O% a- A$ {5 Y/ P8 t( U
Idle.idleFxns[0] = "&LEDStatus";
: g ~& r" M& x4 dCache.initSize.l2Size = Cache.L2Size_32K;' g0 j% U& p" e f* g" T
& ~9 r: v/ {' t$ X6 I
|
|