|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. R, `: Y3 ^& v+ c3 P* f& D* S( X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ p8 e A' ]4 W' c9 z, t9 d6 U# n2 O(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 G i. @. J& v3 X8 l; q& c: \1 z6 H
0 v7 E8 ?- }- p1 p是不是需要在DSP.CFG中进行配置
6 o% P" ]* E' d) a我现在的配置为3 \/ {" U! {% U' A6 d# ?
' z- `9 X1 r) V/*
, v/ u- E: ]% [& Z' r3 Z" h * ======== Operating System Configuration ========
$ Q' o$ P" O9 X- Y0 a% g */* u( W% Q/ q( @4 M
2 m% _. @# F! M4 E6 t: T
/* no rts heap */3 @# P. C: J2 j
Program.heap = 0; ]6 V# ^# @) i+ U" `1 b
Program.argSize = 100; /* minimum size */0 X' [' X+ q6 R4 M6 J
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
9 H5 C( p, Z- T- k3 o8 n5 Q: U2 }2 x I& l6 {
/* create a default heap *// f+ n& L+ l. x4 p) D8 s3 z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');! N6 b- G* f3 G p' ?6 _. E' @
var heapMemParams = new HeapMem.Params();$ S% C) c* ]) @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 L' b. Z5 Q6 S
6 ]# g( ]3 b% \% a( D) K0 Xvar Memory = xdc.useModule('xdc.runtime.Memory');; |. P. B V2 U! L
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 W! f% @, i9 ?+ U0 u% J. S& |* [
/* configure System module */ l8 _/ G+ |+ K. i E, h
var SysMin = xdc.useModule('xdc.runtime.SysMin');- {6 c: _% j& C! f) ?' G
SysMin.bufSize = 0x1000;+ B0 j7 F W1 F2 l
SysMin.flushAtExit = false;) D$ i! u2 F8 \! K
9 l$ `. D8 g, ^8 {7 p. \' `var System = xdc.useModule('xdc.runtime.System');
% X1 I" N) R! U- @/ QSystem.SupportProxy = SysMin;
+ M) K: n6 @' b
' j9 m- Q q& Q6 F2 ?" b* U! q0 Q. ^/* configure SysBios to use the lower half of Timer 1 */
8 H0 C$ Z& u% k6 F( U. fvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" g& ~/ f$ y5 |3 E) ?var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 w9 s7 n$ r' c: N, @1 }- ]- b/ s
Timer.timerSettings[1].master = true;
f" I- C% k$ l& V, `& oTimer.defaultHalf = Timer.Half_LOWER;' ]+ t7 g. ?4 D) V
Clock.timerId = 1;" L2 |8 ]7 E. F/ C
, P( h) ~1 f6 q- V
5 V0 b( j6 b/ Z! c6 i6 K9 Z; S/*& v C. l4 ]8 o6 s' s2 h8 }1 C3 U
* ======== Miscellaneous Configuration ========
( Y0 H/ |3 \$ J- N5 n/ X: t; m */
0 @* K2 l5 _& S+ U
) [' V7 p9 Q4 z3 O- w/* set default diags mask */( o+ \4 u' w6 @" U
var Diags = xdc.useModule('xdc.runtime.Diags');
% v) _% u5 {- ^6 `, ^/ h3 avar Defaults = xdc.useModule('xdc.runtime.Defaults');
) i+ S1 M7 |$ f- p0 C5 p4 J9 L1 q u. v `1 A) R0 d0 {& h
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ D$ l/ [4 S. v/ m% RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ }5 W# \; Z& X3 _6 k
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 t" |& H4 P s# g" l
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: ~' O# `2 E+ P) L* w S% z% nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ E8 g8 M; P! O* t3 tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 P& ]+ E8 n7 ~$ Y& fDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. ^; n# S+ e- b& S7 N5 uDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 x' G" I' ]8 Y% ?- _) [" A' \& _* ~Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' m* r l2 H1 v$ A$ P
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
C: X& u( Y$ h5 LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! H- l( R# O: [2 u/ |Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
! z, D5 }- y. k( q- k) k }+ x bDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# |' [9 C1 W; n7 E# VDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ r! O1 t5 S- \* G o8 S/ u8 W' z8 P# p
/* override diags mask for selected modules */$ g; C6 S8 A. t
xdc.useModule('xdc.runtime.Main');% y5 W$ d; @* I3 Z
Diags.setMaskMeta(7 f/ s2 A) w, C+ q+ \' ^
"xdc.runtime.Main",
3 X2 h( Z& }0 w8 l, g Diags.ENTRY | Diags.EXIT | Diags.INFO,
' M; H) ?6 X. |1 n& ~# | Diags.RUNTIME_ON
3 U9 p1 g) _, k);
6 N J- N5 Q( q8 E. l3 x. V
7 |* s% s3 J. k8 U! h( mvar Registry = xdc.useModule('xdc.runtime.Registry');
% o! ]3 `8 S. K5 T% F( V' @* aRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- Y: G ]: L x1 y8 `, c9 C2 LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; u G& z( U6 gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
- k! U/ F8 e) F! x) Y. x" }7 uRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;( i* v# x; w' D! t+ L
# I( T3 S& o! f2 J' ?
/* create a logger instance */
4 X5 y! `- U, m j0 Z! q8 e/ tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
' _6 h3 W8 t8 d: h5 H+ Evar loggerBufP = new LoggerBuf.Params();$ |4 \ Q# I- R) E, R; d
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& C; y' H1 x* p4 d4 r6 P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;0 {0 \: `7 W4 e
; B6 z( \7 Q; q! g3 ?var appLogger = LoggerBuf.create(loggerBufP);' x% n8 [5 _8 I* u8 ?3 @) p
appLogger.instance.name = "AppLog_Core1";
" i) K' K! C9 E+ [# t A" _Defaults.common$.logger = appLogger;
: q1 U0 o ^% ~0 w* Q0 bMemory.defaultHeapSize = 0x8192; 1 _; W1 E! W0 c; }: `
Idle.idleFxns[0] = "&LEDStatus";
: Q, W4 v' Q3 g( _- UCache.initSize.l2Size = Cache.L2Size_32K;
" ^( w- t6 ^1 `# E( y ^: u4 ?* a) E5 z7 T2 D4 f2 {! m/ ~+ {
|
|