|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. a- g' `2 H: V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 N' @5 b' |) o+ H9 a4 L" q(不过疑惑的是,为何单独DSP仿真就没有问题呢?): X7 J" b$ _$ F$ R5 X
9 u- N3 c4 a1 _0 P7 A6 t是不是需要在DSP.CFG中进行配置
& Y9 V5 H: V2 y# k我现在的配置为+ c+ n, E& E" c0 i& h- ^
5 l7 m8 ~8 {6 x9 I7 q7 [
/*- {' d$ [/ K8 l p$ i7 [
* ======== Operating System Configuration ========
$ l0 E w, ~' N( V */
! ^ v% N& ^3 P' I X! b
, p* _- b' L( y$ X- w. a" f& W; b/* no rts heap */# {8 q. V" K# t) @& S8 N
Program.heap = 0;
! P6 `1 t5 k/ V: iProgram.argSize = 100; /* minimum size */9 c6 j( S$ e) l3 J
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' i- }' @. m) a2 f' A/ j; z8 R7 R6 G' W- e' S: t
/* create a default heap */- A9 b; l* S1 u c
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" E7 i; U9 U% M4 Z3 q" `6 lvar heapMemParams = new HeapMem.Params();
& G, @3 c8 i3 _heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 ^" M, ]8 g% v+ X. ?8 x7 I1 ^# ]8 ^4 F2 E
var Memory = xdc.useModule('xdc.runtime.Memory');
3 b" E `1 B1 O+ f0 E0 d# T/ `' kMemory.defaultHeapInstance = HeapMem.create(heapMemParams);/ b7 U# @+ v' i
: E: Q( p, p- c: B9 y$ h/* configure System module *// P' J" D1 i0 X. T: C, h( E5 ?
var SysMin = xdc.useModule('xdc.runtime.SysMin');( a+ R3 K) H# V7 T5 g; J$ C
SysMin.bufSize = 0x1000;
) r- `, |7 l# f9 m# E' {SysMin.flushAtExit = false;
0 F$ \/ t. |3 I! D& c$ R. w, U8 E& Q r0 P
var System = xdc.useModule('xdc.runtime.System');
* z, c/ J& ~3 Y) W- PSystem.SupportProxy = SysMin;% F$ B9 F5 q; q( t5 S
; ]+ D( `& b, r% S! t
/* configure SysBios to use the lower half of Timer 1 */
3 K" d2 q. f! D: Avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');6 u! n4 H5 K/ H, I) Q( t
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' r; b; c( d: z2 o9 a- q/ V
Timer.timerSettings[1].master = true;
. \6 n! Y: z2 R: B, ?6 F$ J- I- xTimer.defaultHalf = Timer.Half_LOWER;
- `. _- a8 ^. H/ LClock.timerId = 1;0 b9 |5 S8 W- [" x( q1 W. g
A/ n' e6 G7 @& L; P
3 K. W* B. P' W- d0 V& ~, z
/*
8 V \# i- `6 |4 _8 t" O * ======== Miscellaneous Configuration ========2 ]6 E* ]7 Q& @% D1 A8 t
*/ M6 }- y& ]: ^( o5 [) C/ X/ ~! _
8 o6 B! c J9 y# K' G; m/* set default diags mask */( K/ m7 Z. _$ ]! w1 ~
var Diags = xdc.useModule('xdc.runtime.Diags');
3 \7 |/ ]3 J6 Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');
9 P2 b& k& g" p7 L3 ^- X5 i, y* O9 L
) B% `6 U0 }$ V) b, ODefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- U$ ?, @0 p; N4 w4 x8 zDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, t4 L" B( E: y& h, L( R
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;' C; T# H# \3 ]# l# o! H
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 C- y* ?% @ r. |7 u8 Y" p3 jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! `! b1 z" N* `% S3 N
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 h+ v r, E# d) A+ C6 p) F
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' y2 z5 m1 e) t$ O+ A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 ^7 f: Y( \5 I7 h$ }7 ]/ a( W
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 I+ E# w B/ nDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 r; t% i: d* h2 \/ i1 g% [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# K; e% P t- gDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' m. n/ g4 G' w1 `- N
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
7 |, L& I& J$ j! Z( f- ^% bDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; E3 _3 y( L0 x" |/ Q
, [( m0 z" r5 o# S) c/* override diags mask for selected modules */
7 w6 L; j; E* h8 n' ?8 ^xdc.useModule('xdc.runtime.Main');! i; z o, j4 y; `# E Y5 ?
Diags.setMaskMeta(( ?8 q* u# o+ G+ N7 E
"xdc.runtime.Main",
" f. |6 Z. g- b0 }! L Diags.ENTRY | Diags.EXIT | Diags.INFO,
. A! D/ K2 A# v Diags.RUNTIME_ON
O) [4 a8 Z! R; K);) o* V7 t; S# p/ ~4 l; z6 |$ X
7 n4 t6 x- b" I' r( e
var Registry = xdc.useModule('xdc.runtime.Registry');6 l+ X7 g6 b" o( x. f& P
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 z8 L. D/ B* uRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 P% x; R4 H! B! D6 o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: N6 }- `" J/ P
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 `1 l9 ]8 z. b$ ]4 u: L/ M# _" x( H& `
/* create a logger instance */
2 q: V1 _- X% Y" \1 wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ h/ q' H" _7 F+ V) n0 {+ i# f& u
var loggerBufP = new LoggerBuf.Params();
7 O: \8 E8 F) w- ^! U$ ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ K* ^6 ~+ \4 r T; q) a$ P/ l
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 y4 ?9 W X# {
5 r2 c; B* G; [3 s# L, hvar appLogger = LoggerBuf.create(loggerBufP);5 E" Q. @; B' j4 X+ X; Z
appLogger.instance.name = "AppLog_Core1";
8 P! R# A& C9 ~1 Z9 U6 K& U7 EDefaults.common$.logger = appLogger;4 z! K- ^- W j& t0 ] y
Memory.defaultHeapSize = 0x8192;
/ ~/ p, ~; s6 E4 |! i: L, vIdle.idleFxns[0] = "&LEDStatus";
3 c1 w" G( L" k* T) P" QCache.initSize.l2Size = Cache.L2Size_32K;
! v5 X3 [9 o. o2 O6 c9 A8 A. M
' t0 F( T5 y/ `2 ? |
|