|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' m! h- D% I2 k: s2 j* d$ m# L
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 }) U/ V* k/ W0 ^0 [2 F `(不过疑惑的是,为何单独DSP仿真就没有问题呢?): K# Q) A! v& W+ h
$ F$ y! x" W- N
是不是需要在DSP.CFG中进行配置
% U7 ], R& @ ~ c0 J我现在的配置为6 q' A) O2 W- R9 p4 |
' T9 P4 a% O5 V
/*
/ L6 i2 j/ G C$ _" _" [/ m * ======== Operating System Configuration ========6 i6 p- M6 S$ R1 F' o
*/
# B5 N; J' t' }* J. U7 S: `! q V/ a
/* no rts heap */, V! w' y3 K, D7 R) Z
Program.heap = 0; ~9 R4 M" @3 a% b0 W2 ~ H
Program.argSize = 100; /* minimum size */
2 l$ I" l/ @9 M+ t: o A& m- x/ j: iProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大& Z$ c# R6 Y* i* v; V
( x0 i: w- |8 z' K/* create a default heap */+ L( M0 B" N8 G% G7 K1 |
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 b" N/ Y. ^* g
var heapMemParams = new HeapMem.Params();' f# Z6 m( ?8 w* ~. D# I
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! K, q9 {: D7 W9 V- l7 G5 e
] \; P0 f h4 j1 b4 qvar Memory = xdc.useModule('xdc.runtime.Memory');3 F5 o7 `2 c' o: z- E
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% [' v+ E2 t( a8 b* N: b
; M; a3 h7 Z" P2 N/* configure System module */
/ a9 [7 P/ `& f* wvar SysMin = xdc.useModule('xdc.runtime.SysMin');6 ]# N: N: `$ U; x; ~1 ?
SysMin.bufSize = 0x1000;7 Y0 W8 p. W% I& b1 a. N5 ]
SysMin.flushAtExit = false;+ g( H- e+ |- k1 K8 J% N( \
$ {' Z2 n2 H4 C0 a4 Q+ _- avar System = xdc.useModule('xdc.runtime.System');
! Z" J& v$ e" E U! Z r: m9 uSystem.SupportProxy = SysMin;2 y# b5 B- B4 w7 m! m- N: L. J
0 D5 h+ x' \# ]! m
/* configure SysBios to use the lower half of Timer 1 */
; w2 F. {$ z2 _4 V$ Gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. Q% `3 [6 ]9 f& Avar Clock = xdc.useModule('ti.sysbios.knl.Clock');3 Q3 V1 t* A3 `! P( m
Timer.timerSettings[1].master = true;. t" |( x5 A' d: D6 R5 h4 S; x
Timer.defaultHalf = Timer.Half_LOWER;# [+ }) O8 S4 Z5 B! t- A4 O
Clock.timerId = 1;
$ m: a1 o! } G0 K
( Q/ G v: R5 o4 W3 s9 r
* {) A+ ~7 N) m( e4 L( ^+ J/*. M- i- m5 c2 Z9 I' b
* ======== Miscellaneous Configuration ========
! \$ Y/ O8 [$ U, T% T */
$ g8 }6 ^6 N3 E1 T
3 N& i4 m: M6 ], U8 B( S/* set default diags mask */% a0 m2 D0 q R& i. w" r/ m) f% }! `
var Diags = xdc.useModule('xdc.runtime.Diags');
# D5 j* X K& u. z7 E3 a1 jvar Defaults = xdc.useModule('xdc.runtime.Defaults');# M! e3 c, y8 U# A ~
9 g- n" l. e6 ~3 V* J4 x
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% C) B+ }. a, X0 P! cDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 C; [. U! C. m" E# O7 v: u7 GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: b# h5 z5 L+ W+ X9 W* H) h" h( F$ g
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! o1 y) c- F& W {) H
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 |0 y& M! s# p ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, Q" B j0 J5 _' }' r* TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 H% q9 o3 M, H4 e) G
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 W I0 V$ E2 v+ S, O3 P
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
], @2 x! ?* v! N% S& wDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 M" N; ~1 j+ P4 D) i
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# X9 \: n# m8 e- K EDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 c4 w5 n! z* zDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 R% j8 U+ q8 U) T$ E, Z" _% cDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 I4 Z2 _1 p) ^) O: Y1 @
' B0 b! ?8 O* ~/ @/* override diags mask for selected modules */
4 o. Y2 L! i: ]& k* L! Fxdc.useModule('xdc.runtime.Main');
8 a3 Z; c. Q3 y" y4 _# HDiags.setMaskMeta(6 E) T4 I+ m* x! {1 e' Z: ~5 o) M
"xdc.runtime.Main",% Z+ s, @. b1 {" l# h1 f. N5 U) ~
Diags.ENTRY | Diags.EXIT | Diags.INFO,; @' E) n* e h8 q# \3 \& Y
Diags.RUNTIME_ON
8 ?: }" S4 }8 }$ p);
7 Z5 q4 Y: p1 w& e9 Q# N/ x3 m. s, A
var Registry = xdc.useModule('xdc.runtime.Registry');' S6 B. a. P4 [0 u, c& |
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; X6 z& o* j- E' E; I& V7 H
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 X! w6 n& P0 r9 W' i, ARegistry.common$.diags_INFO = Diags.RUNTIME_OFF;3 h' E/ e# e* k- @+ {
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( O) x/ L q+ q5 H; j8 K- Q# E8 T
$ U3 @ U2 \& @# @* M( [' e; u
/* create a logger instance */( [9 Z) G" K" l* d' ^
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- y) l4 ~) e0 L1 f+ a( [* f1 Ivar loggerBufP = new LoggerBuf.Params();
7 g X: [' W# w& r4 ploggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* k2 @5 I; h. j3 s C6 {loggerBufP.bufType = LoggerBuf.BufType_FIXED;$ ^ u6 R& H ?
3 ]* D/ K7 i! e- lvar appLogger = LoggerBuf.create(loggerBufP);
) S5 p2 }! I! V- I UappLogger.instance.name = "AppLog_Core1";- W0 u/ K: }7 {6 D4 x7 Q. e9 [
Defaults.common$.logger = appLogger;
$ Z D9 X1 g: b2 _: y" v2 w/ @0 gMemory.defaultHeapSize = 0x8192;
- [0 i: m5 ~9 ~' _! hIdle.idleFxns[0] = "&LEDStatus";
- Q" k; L! W4 j! ?: X# kCache.initSize.l2Size = Cache.L2Size_32K;" {4 L) G! U" v: }" F0 ?. e
# `9 v/ k, k T: Q6 t/ o4 c
|
|