|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& r& e) Z# e& l z0 h0 w0 _我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; E) E2 ^- _* L( M" P: G( n0 ~
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, y3 D" P3 T- M5 Q" k$ ~0 k
2 f4 G! q5 d' B* a. b是不是需要在DSP.CFG中进行配置/ B5 v1 T* l3 @
我现在的配置为
+ x% o; R" D6 I9 {3 y+ H+ T) m$ {( ^+ I; |! B+ v. A
/*( c |$ m' L0 A4 c% }" t' }/ B+ U
* ======== Operating System Configuration ========
; l# v) T5 m9 f. M: P; M0 z8 P */& |6 }3 u- X& X- }% ]
Z- y5 n, S, o |6 k* q/* no rts heap */
+ L; y/ P6 p1 E6 g/ T, b6 |( [Program.heap = 0;
- @. H! ^" q; V% r3 _Program.argSize = 100; /* minimum size */
1 o: {9 t9 z* X( ]8 t& T; C$ O; k) dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ K$ b/ F1 x3 Y. [& V& w
5 y& [7 u$ C' n; l/ F
/* create a default heap */9 P8 n& m% W/ C1 x! ^4 Z" m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 d2 B+ i1 D( a. \
var heapMemParams = new HeapMem.Params();
% |/ b: V' Q3 t% h# WheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 V8 n1 i: b1 }9 s" \
" b3 e: w2 ^! d) Rvar Memory = xdc.useModule('xdc.runtime.Memory');
& Z4 I! x& j/ _8 lMemory.defaultHeapInstance = HeapMem.create(heapMemParams);/ R& p8 T# D7 O0 T+ E, j4 L2 r! J
" B% F' ]1 T8 }/* configure System module */* G+ @& E6 ?4 {9 x, V( [9 S8 A# I
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ o! M9 X8 v! C) w1 M
SysMin.bufSize = 0x1000;
4 Y2 L) v: F( D: \8 y, hSysMin.flushAtExit = false;" p' s( m, p- l) ^ X3 k
+ N0 ~, ~" `4 b; ~8 F3 }8 \. ]% x% ~var System = xdc.useModule('xdc.runtime.System');
& g4 Z" R: A% E; L1 NSystem.SupportProxy = SysMin;
9 ~/ x0 l. s, Y; ~4 u8 {7 g* L; x8 m: l8 ?. ]: P
/* configure SysBios to use the lower half of Timer 1 */, p/ c; S% Y2 y" \) e# o7 n) o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 z& `4 V, P8 N5 s
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 M7 U; e1 {& f7 v5 ?" H1 HTimer.timerSettings[1].master = true;
8 ~) `4 K. i" B/ TTimer.defaultHalf = Timer.Half_LOWER;
4 y) k$ _. W( S+ t0 Z" C2 f1 ^Clock.timerId = 1;
' b( M, Q+ ~# B/ B0 U9 p$ k' _1 x
( s4 D4 F$ z/ F% q3 l0 J. E6 e" X7 g
/*5 m, `" b* A4 G) |- p2 `0 d7 @
* ======== Miscellaneous Configuration ========
9 Z! @% t2 d' r! V0 u7 n( b */ O2 _9 c& K; ^! P
' J2 ^; N/ E9 H. R: |, ]/ e/* set default diags mask */
4 {* @4 j# |5 |$ ~ {+ ^var Diags = xdc.useModule('xdc.runtime.Diags');' b; e! ?4 n9 N+ [1 W8 a
var Defaults = xdc.useModule('xdc.runtime.Defaults'); P9 b; l1 A1 K4 u/ }+ H
# o- B' m5 j3 B; K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ q) [ F6 P D
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( `' w5 x# C6 e; K3 B5 `; Q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 ?$ u# p. i$ a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 v) u# ^4 V6 F( O, ]! N: y ^4 |
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 L7 X% c% M, {; o/ [
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% q3 a! R% ?* N4 v w( f8 h2 g
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ e! X# L6 F' X7 J# {; _7 Q$ Y
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 Y6 G$ _0 Z/ r3 n3 eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ @5 j+ g' N; N1 {. w( ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: W0 U, i' O. F. d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: ]; v9 Z( c# p5 JDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( \" b( [* ]! b+ r) A6 m5 }Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) N) m# W; v/ T+ L/ _Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 N" o8 [6 L! k& H, b- Z0 X& N$ D- ?1 H1 q- u' f& q, {
/* override diags mask for selected modules */* G6 S& a# H* E/ ?9 H
xdc.useModule('xdc.runtime.Main');
, |% X8 F9 Y; L f: bDiags.setMaskMeta(3 C% E" ~ i3 d' |) ]! D0 v$ ~
"xdc.runtime.Main",* f: d( K+ H2 Z* p2 r2 G
Diags.ENTRY | Diags.EXIT | Diags.INFO,* W* G+ v! w5 W" O
Diags.RUNTIME_ON
" U4 G* C [6 U9 C/ u7 F);6 {( E; {7 b, X! g5 D, P. r
4 u5 U: K. ~" tvar Registry = xdc.useModule('xdc.runtime.Registry');
% T5 K/ G& c2 y' `' O1 v, WRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 D# W, l: E! M% t1 U6 L
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" P- X0 h+ C+ v' e- j! }Registry.common$.diags_INFO = Diags.RUNTIME_OFF;; r& {( u5 M; e$ B; ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ E; d* K; x. b
" Y- g u. _& L$ _5 [/* create a logger instance */
5 {: g: I$ V9 e O Y# Y* O! Rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');! z( s" n5 i, m0 { p# g
var loggerBufP = new LoggerBuf.Params();
) m# U' R* _5 g3 r; HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: ]: I- n, I) _7 R! [loggerBufP.bufType = LoggerBuf.BufType_FIXED;, b/ P/ B/ R! {6 J8 W1 X' C$ `
; _ n0 b& `7 i* }var appLogger = LoggerBuf.create(loggerBufP);
2 b0 Z( N x( @6 V. M: ]appLogger.instance.name = "AppLog_Core1";( J: |3 {' j Z! [
Defaults.common$.logger = appLogger;
2 O/ b5 M" x$ LMemory.defaultHeapSize = 0x8192; # V7 P, A0 j; Y0 H
Idle.idleFxns[0] = "&LEDStatus";
; }% q& Q+ P& a- [/ G$ gCache.initSize.l2Size = Cache.L2Size_32K;) q9 B6 m+ ]. {1 \" k: `& m
5 U. J3 e1 x% w; Z |
|