|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 _" E9 a, J# `' H, L, ~
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 l9 a4 z/ b' U) U, V
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ O; ]/ o4 j- x! ^) _2 g
4 B6 M& v4 I6 q) }. T5 Z6 E3 s
是不是需要在DSP.CFG中进行配置1 t% t& Z. ]- i q
我现在的配置为
: Z! j, b9 h9 ~/ N- q8 E+ C/ a0 h) O, q, H8 h* u) Y' l0 H
/*% R: s6 V' j$ Z) H
* ======== Operating System Configuration ========: f. x/ d4 C# a( n
*/) D! {5 }+ @- H' T/ M
* a" S# `2 A% g5 _ t
/* no rts heap */
; c6 @4 r6 ?; n+ d4 [Program.heap = 0;
& K/ Z- X) c! v# e Z3 {Program.argSize = 100; /* minimum size */* i7 [; o$ s( R: _5 x0 [+ D$ v5 F
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; M# Q) o: Y3 p" }2 j1 `" w* G! ^$ p) v+ I$ [
/* create a default heap */0 Q( Q1 g4 u3 v, n7 W2 f0 N; H9 E. T
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 t- n% ^2 X. C! }, V, q! P' E
var heapMemParams = new HeapMem.Params();
M- P: A- P* q' sheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) O# w d) _5 V( q8 B1 K& \
: d/ U/ r b2 Q& t% c5 n6 Hvar Memory = xdc.useModule('xdc.runtime.Memory');
4 F2 g6 T- o' C% G# I+ P {2 ^Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
: a# F, }: m; z: q
) ^! c; d' F1 ~1 U9 a9 L a0 F/* configure System module */
( M- ]$ G8 a6 |/ f& @) H9 B- _1 svar SysMin = xdc.useModule('xdc.runtime.SysMin');( w; q) _6 j5 C4 p
SysMin.bufSize = 0x1000;
0 F. ^% _! r+ USysMin.flushAtExit = false;9 _+ Q0 f: L) h- v" T
5 [" c" }( `0 e9 {, C6 T
var System = xdc.useModule('xdc.runtime.System');2 {0 `! e }. s. R# ~- H- g) r
System.SupportProxy = SysMin;
: A/ H2 Q/ @* u _6 s* E x, U- W+ d9 s/ N5 e3 P2 M& F( I& P& [
/* configure SysBios to use the lower half of Timer 1 */* ^2 I @4 \, Y5 m
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 F: A# G8 A! \2 D1 W; L1 {var Clock = xdc.useModule('ti.sysbios.knl.Clock');
* u# e. ^7 Z) V1 p- y, _Timer.timerSettings[1].master = true;
; C9 Z+ \9 o* X. i# Q$ HTimer.defaultHalf = Timer.Half_LOWER;. w4 A. G2 I/ R# E {. t0 I
Clock.timerId = 1;
2 P6 \/ P9 C7 Z* T# x$ a, Z3 g/ I0 B, ]# |6 @+ p# N( G
7 T. r* ]9 x. r; x) V/ V7 h/*
. @" T. t# u4 M% N" h* U# x% H c * ======== Miscellaneous Configuration ========
& o. `9 s' I g# ]" J( \ */
/ k2 b' n* q; Y+ w' p4 O* V9 F
+ T2 y# b4 P9 c- L2 f1 X2 o R/* set default diags mask */
- ^. b3 h# w3 b; e: dvar Diags = xdc.useModule('xdc.runtime.Diags');
' G) K) c: c' A# }/ T9 o5 k2 |* F1 cvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 W. D5 l2 G- \5 ^2 u3 {- b0 g# E8 F4 i' U5 A" @9 N6 j
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: ~1 a6 F v1 |5 ^Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% T" C( O! T9 p9 p j4 O. c" zDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 j( N# F1 q0 [8 X3 J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& _' ~" |" ~/ x5 G5 I1 I/ i! ADefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 W& {% @& d% O) @$ o
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;: _5 R, s( E& k1 H% e. y4 V2 T
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;0 j% t* ~0 H- h: l6 X4 [, T# J
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; ~& B* P4 ?. }6 k a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
: f+ {) A& }8 }& @Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 t+ G7 Q$ v' G7 W( [- t- Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: r; L# |+ X# C% P1 \. i" NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 d8 o# f0 y$ p, M5 g4 [Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;- r& L" U0 R7 y+ v' _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' N( n( w5 ^+ l8 [- V B6 R( y
2 @, m7 v& @* w& ]/ F6 q/* override diags mask for selected modules */
|: ], {; v; q- x/ o5 W; Wxdc.useModule('xdc.runtime.Main');
$ Q5 b# K9 U" ?Diags.setMaskMeta(/ Y2 g! ]% I; _" b9 p z+ K+ i
"xdc.runtime.Main",
4 } c' b1 a; d- ~9 K. i Diags.ENTRY | Diags.EXIT | Diags.INFO,
# J6 Q5 _$ i3 Z6 U4 L1 k9 j, l Diags.RUNTIME_ON
# H0 x# e( J4 U8 C$ a+ f: C- W7 @8 ~);
- e9 D/ R6 Y7 ?: s; P' U- `8 w" p" o( J3 l( x1 `% @
var Registry = xdc.useModule('xdc.runtime.Registry');
/ q# B2 s: R: \# z ^- e( w PRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 C9 X i# a( Z4 m+ u# o' TRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;. i, n" y: u2 n* l
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 y% ?7 D6 Q& r, \Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;, a, r2 w. [) d
+ O2 ?" ^/ c( @2 O3 V2 Y: n6 D/* create a logger instance */
' ?$ _6 A* @2 I l6 p3 `$ qvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ I( j' b9 s' P
var loggerBufP = new LoggerBuf.Params();
' e7 N7 `) Y1 `$ P$ eloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// y2 j0 F5 ~7 x7 s, w/ n
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 Z( p' N4 u8 K
8 Y1 O& J. a9 u% o1 Fvar appLogger = LoggerBuf.create(loggerBufP);
0 Y6 R, e m; m8 u# y" H1 j+ B, ~appLogger.instance.name = "AppLog_Core1";
' P M+ y8 a! n8 g5 C: lDefaults.common$.logger = appLogger;; k$ q1 A- e& h* m: ~4 V
Memory.defaultHeapSize = 0x8192; 4 S3 d$ D! r1 R, C- Q" ?- ^
Idle.idleFxns[0] = "&LEDStatus";$ P" j- N" G& z( u! _( X% H9 l
Cache.initSize.l2Size = Cache.L2Size_32K;. P2 ?2 n% W9 O1 v& N* y
$ ^) n6 c$ x4 y: {
|
|