|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 ?* Z* r. G) u* w我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- l7 E5 |8 H! m* a
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' I2 R' K8 N* z9 e- v( e B
+ P) m+ Q9 O& l: c( ?是不是需要在DSP.CFG中进行配置
7 W% g- r3 @- V5 h: f O我现在的配置为* E" N9 _% t/ _, o8 }
) _3 ?& G; U1 f; R$ N$ M: `/*
1 m% Y! B7 q% q * ======== Operating System Configuration ========
7 |3 Q: a: @% N! ~* u4 M */# D! H0 Y3 L, i p( k. @
# M. ~8 \3 D' L6 t
/* no rts heap *// f" W7 _- c) L+ h9 z4 K
Program.heap = 0;
# @1 t8 y4 i( R" _/ N9 j4 wProgram.argSize = 100; /* minimum size */
5 F2 Y. }4 m8 }0 U8 b0 B# D' yProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( M1 v3 o! C& E _( d% q" w( O* v+ T! m( p) `6 h& N: L
/* create a default heap */. S$ v S" H+ O" V) \) m; @2 L3 u
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 S6 ^7 i1 F! ]* ~0 lvar heapMemParams = new HeapMem.Params();, d- j$ a6 Q* |$ n
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: z/ s% x4 ]* l# x- u& o/ x) A
var Memory = xdc.useModule('xdc.runtime.Memory');4 ]2 [: l0 e" J8 N/ D$ I
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
( N* O; z) }; B, Q2 x' s, G6 S, {
g J$ {, C0 q4 Q! r: G. t/* configure System module */
9 b6 i" R* Q- U" {1 ^8 h6 u* O, Jvar SysMin = xdc.useModule('xdc.runtime.SysMin');6 t4 W: t9 n7 V+ @
SysMin.bufSize = 0x1000;
+ s8 x/ M; q. H; B2 M, ^! T. W# I8 XSysMin.flushAtExit = false;, a1 q' p: T) F( n/ L
/ b& M" A' g% C3 jvar System = xdc.useModule('xdc.runtime.System');
% ~, _; e& G/ r# z x* OSystem.SupportProxy = SysMin;
& u4 a7 b+ i2 x& {! L5 t
) b* w! q* t( G" A) P: c- H/* configure SysBios to use the lower half of Timer 1 */( `% ~: k5 t( z a
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 x- o2 U$ i1 b* U) x) h2 E6 fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- G: M1 g, `: m$ D) BTimer.timerSettings[1].master = true;
& c( x# ^9 x% `3 U$ iTimer.defaultHalf = Timer.Half_LOWER;
0 ?' z: u1 [( t5 M, v$ |- h2 YClock.timerId = 1;5 Z5 v- C F4 Y+ Y& j3 d1 C
" \ P7 E# C) d2 v$ `5 ?' M' x& v
. n. d$ q, O% ~0 U* b/*
/ m( }7 ?8 Y4 r3 o * ======== Miscellaneous Configuration ========
7 ?, A% [7 l- M" S */$ d$ A, G3 t1 S; `7 s
6 w) [0 M* V9 D3 v8 r/* set default diags mask */3 L; ?( Q1 j$ b3 R, |8 U
var Diags = xdc.useModule('xdc.runtime.Diags');4 d# ]* E. i# v4 k( U; U6 w
var Defaults = xdc.useModule('xdc.runtime.Defaults');1 D# N1 l4 N2 @) P- r; c$ w! S
! d3 y z/ {6 e7 _) G' h2 F1 UDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 Z, A: y8 [0 _. Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 L1 A% o0 x/ z ~. b" ]8 ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" |2 g$ u$ F }
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ H8 i7 C& G: b" `) u9 YDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 @- b; _; u+ ODefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; {9 H# r( {& ^* T/ j1 u V* N8 ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 }" w. h& I' K: D. {0 n
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 Q! }! v2 E1 r: M9 }Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 {/ t; ^- T. E3 a% _, |
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. f/ t3 `% B" l
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& o( g2 f, q4 N' ~' A# Y: J) S
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 b6 l, R$ z9 F# E0 d7 J* g" F% tDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* O5 U# }8 O2 q+ qDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 I ]" S- w5 h+ k$ _' Z) N' Z1 F
; l$ O+ V6 ~* G3 G- G2 l/* override diags mask for selected modules */2 n- [. e3 u- p7 O
xdc.useModule('xdc.runtime.Main');
3 X! K( j, e* l3 s' ~; [! lDiags.setMaskMeta(1 C& {8 S; v1 D7 G+ _5 G
"xdc.runtime.Main",; \$ M9 Q( a/ s8 _+ y3 v+ z6 g
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 l7 o, L* Q- d+ b! R! \6 M
Diags.RUNTIME_ON
7 X4 e7 @$ T5 N9 o+ `- J5 });
P" R. n: G& N9 \# [" w' R3 k7 n, p1 R) T+ d+ H7 V
var Registry = xdc.useModule('xdc.runtime.Registry');
, S' F! Z3 F9 }/ M7 N! ~Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 U8 ] v3 p/ I) J E) `. C0 d
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 u6 {# H3 p. m/ C8 L
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 e+ k8 O. u* ]) C4 t3 v, i0 k% f1 f
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 w: f+ Q7 X+ A5 {9 }0 [ X
* b0 g5 }' l/ t7 v& Q. M/* create a logger instance */3 \' ~# z9 ^* Q9 @7 v; U
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');6 \3 Q' [$ T& x2 ^( d
var loggerBufP = new LoggerBuf.Params();9 V' }( }! Y E$ S% B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 G5 e8 H7 A& q2 i' mloggerBufP.bufType = LoggerBuf.BufType_FIXED;& n5 T) T8 ]* a) m. x
4 R8 Q1 m4 `& O% w( ]var appLogger = LoggerBuf.create(loggerBufP);3 a9 U! b9 d% M5 j( h
appLogger.instance.name = "AppLog_Core1";
. ?( o" ~% D5 s1 I r6 @- D7 CDefaults.common$.logger = appLogger;0 T( n/ H/ M! _: l+ F- Y; n
Memory.defaultHeapSize = 0x8192; 0 k4 T3 Y" [* K' N1 r
Idle.idleFxns[0] = "&LEDStatus";8 F+ g7 D% P6 k% U9 ~! [
Cache.initSize.l2Size = Cache.L2Size_32K;4 E n0 X6 |5 X: E; R
( w! r- Q! b" m# n1 T- J% o6 V
|
|