|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' i* Z. Q$ e( m0 H
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ Z5 e! `7 n, A0 N- x
(不过疑惑的是,为何单独DSP仿真就没有问题呢?) i: ? e& `0 D1 A# k
4 v$ V; |2 |& F0 E是不是需要在DSP.CFG中进行配置
6 m& h2 A, u- L% h3 {. N( ?0 ~/ i我现在的配置为! F3 a9 Z4 u6 `' M
a' y# h5 N7 J# { }/*
q8 Q4 r: I" [0 a) k' l * ======== Operating System Configuration ========7 M5 a7 k5 x& N, ?; q" ~1 T+ _/ s
*/8 X& Q* i( I' j6 ?" a3 }
+ T8 m# `! Q& V2 r6 V
/* no rts heap */
" {- g; i) b W0 u2 ~& B! {Program.heap = 0;( b8 Q7 G! Q$ [$ E8 a
Program.argSize = 100; /* minimum size */
- z X. Q( `- j/ CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& W7 Q. j4 p( y6 a( e( q. a
+ O" x# h" |; _4 f0 c+ g3 m! _/* create a default heap */( E' l2 r/ D. ]* L" G$ ?
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 q) K. ~! C8 F5 Y1 J4 e
var heapMemParams = new HeapMem.Params();, n7 E8 z3 X2 e
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& N% t- d& T$ ^6 k- Q q- A; @& f1 V+ J5 ^/ S
var Memory = xdc.useModule('xdc.runtime.Memory');3 O8 t( g8 c: w# G4 P0 \# U% A
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% t5 X% m- m5 @+ n. Z, ~: M
3 A) H3 z [& g/* configure System module */
3 ?: B8 ?. o' S( I, Svar SysMin = xdc.useModule('xdc.runtime.SysMin');
: \$ P& s- |, |! QSysMin.bufSize = 0x1000;! x! \- E V6 i: L+ c3 c
SysMin.flushAtExit = false;
. @+ E) t3 a6 M
8 U8 [- E. Y" A# g* n8 Q2 ~var System = xdc.useModule('xdc.runtime.System');
& l0 c& T) O2 O' D+ E0 \System.SupportProxy = SysMin;: h; Z G3 ?7 m6 l
" \2 }* x1 E( l g
/* configure SysBios to use the lower half of Timer 1 */" z% k6 A: M; d
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 r/ L+ H# w; l/ R: \
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
/ E9 }+ x2 k! ]8 F; p( i$ L7 k5 YTimer.timerSettings[1].master = true;
5 M( \& d' B2 rTimer.defaultHalf = Timer.Half_LOWER;5 C3 A8 |- Q% m
Clock.timerId = 1;) u8 a% u0 _- Q3 A% H7 V
/ V& X5 c2 H$ i% X5 x. u, G- b( X L; w* q I% T
/*
6 K4 Y$ D+ M3 y# m# }2 z% D * ======== Miscellaneous Configuration ========! v- D6 p' Y4 L+ V2 L4 e
*/% f, Y" a& @4 t! o' G9 O# f! U
/ H3 ]( R4 x! A' n) T" k% `7 `+ v
/* set default diags mask */
G& j8 `$ G" ~8 c8 `var Diags = xdc.useModule('xdc.runtime.Diags');
1 u# a7 e, X% u Mvar Defaults = xdc.useModule('xdc.runtime.Defaults');
! y6 [. E' l' w+ k( m$ X( f" i3 w
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 {! q) K& I/ T: V! xDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 L& y8 c7 `; sDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; ~$ z; Q; U) u2 P7 }7 N2 LDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 A: g+ L0 g$ h/ M2 S. NDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! t; K7 O0 l/ j' K H
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; A4 w9 T' j, W+ g: ]/ b/ X; ]/ N
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ ]0 g }% _7 |. mDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& Z" a5 o A- M8 ^ a, u; LDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 N' `6 T; x S' i$ Y& @8 R" g& z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 _1 E- i8 ?# v6 TDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( D& P0 X0 u6 i8 n3 M/ D0 }7 NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 y. W/ u; m4 o9 CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ A" H# ~; A; m8 JDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 F+ R* ?9 s# F: ^. P0 E7 q4 x9 {$ B9 ?. V
/* override diags mask for selected modules */$ `( Z% I0 \( P h: Q, ]0 c( b' j
xdc.useModule('xdc.runtime.Main');5 g' U8 q( B8 u9 e7 H
Diags.setMaskMeta(9 t! ~7 S x0 S$ J' H
"xdc.runtime.Main",
, j$ A# E2 z, G Diags.ENTRY | Diags.EXIT | Diags.INFO,
( ~) T! J( M$ t8 o Diags.RUNTIME_ON8 _! Q' W3 v# [1 v, `
); @, U/ M: P d: ~6 j/ |
, x% w N/ k' C2 c V8 ]var Registry = xdc.useModule('xdc.runtime.Registry');
" W8 r- Y' ]7 U8 K% K- K. B: s& ZRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 ?0 v! S7 |- G# Z
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;% m6 F5 N3 x" Q4 ~, u
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 {- g! ]2 k$ r+ I* G
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;; x6 _7 @' O8 D! w
- m( q4 `4 L1 q3 U$ A3 B
/* create a logger instance */
+ \! { |4 U n* k$ Y2 C- avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; X2 v4 p0 `, [4 e# D' W7 J7 Bvar loggerBufP = new LoggerBuf.Params();
: Z% A; o7 @& U. T1 F* wloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ i1 }9 c! S9 L. [loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* c& I6 m2 i+ l4 ?2 d ]8 v
9 g5 H! [8 Q+ h% R2 Yvar appLogger = LoggerBuf.create(loggerBufP);5 c& n1 [& [ R: E$ {; _& Q5 p* x. l
appLogger.instance.name = "AppLog_Core1";
) o( A9 t8 u# ADefaults.common$.logger = appLogger;
% ?) Q. M7 y& k) IMemory.defaultHeapSize = 0x8192;
) m) s! J8 r6 ]% [* f5 O; `5 OIdle.idleFxns[0] = "&LEDStatus";+ a6 C$ Z3 i- ]+ A( e# w9 ~
Cache.initSize.l2Size = Cache.L2Size_32K;
2 {# F; l+ C0 z
6 d9 f; ~ V& m/ Y0 ?0 Q1 a9 a! Q |
|