|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
O3 _+ {( b* Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. g& i9 R; c, T$ w q8 o2 e(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 v( @; l# W) m% W- C! H; {
4 d& z+ L; Z! s3 c5 h0 F9 q: }$ b是不是需要在DSP.CFG中进行配置9 K8 ^& V/ Q6 U+ ]5 U1 ]0 A
我现在的配置为
' K# B! E" I0 u' Z) w
, B4 i0 J/ l r' J. H/*8 u/ q, }& L: n! Y9 N9 a1 C- u
* ======== Operating System Configuration ========
8 A1 o3 d1 N* L* B. _) E */0 v; m% g+ d5 }9 Z# ?" W3 L
( G" ^1 r B( L) w7 U+ A A1 M# T3 v
/* no rts heap */& `' J0 c: c. l5 d, [$ l
Program.heap = 0;
% G! k" I% D) oProgram.argSize = 100; /* minimum size */6 J. [: I8 e# W* E" l8 E. l
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 M: l. P6 \7 _4 S& S& e! W d- B0 P e5 e" E
/* create a default heap */) D e9 ?7 A0 t- U5 \' }
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 x; r! J: y. L
var heapMemParams = new HeapMem.Params();
% b) G W' S4 I% \) |/ XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ H/ a! t" N/ s9 e
- h1 P" a' A+ j" Gvar Memory = xdc.useModule('xdc.runtime.Memory');/ g5 k1 B; ^* S
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); e5 s6 A. C1 X: t! _ Z0 ?$ f
8 w8 [3 p, H0 J( A$ o/* configure System module */
; k! B0 r' F( L+ O, }9 yvar SysMin = xdc.useModule('xdc.runtime.SysMin');
- {' u" `+ }( J7 ESysMin.bufSize = 0x1000;
: j- o' F" A$ m* S2 _3 H7 ESysMin.flushAtExit = false;3 d; Q" I4 y; I2 Q7 A
. B: i, z3 ^; Uvar System = xdc.useModule('xdc.runtime.System');
6 m+ y$ y) K2 h- w/ O, n& BSystem.SupportProxy = SysMin;
q3 g) ^& ]. Q5 e$ y
7 V1 Z$ L8 p% O) `: {5 m% X/* configure SysBios to use the lower half of Timer 1 */
@2 q8 Q1 O$ G$ B. ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ _* I; `; ` ~- ]
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 }* n3 b" j4 H; m
Timer.timerSettings[1].master = true;. R. n2 E9 Z1 Y/ w0 ~
Timer.defaultHalf = Timer.Half_LOWER;) Y! m/ N( A2 R
Clock.timerId = 1;
- k: @1 L( d* k# u2 T" X: k! O; x
) T" i. F& J0 U- [* {( E* ]$ d0 I9 k, v
/*
G# @7 b8 t) n: t6 ^9 Y0 A * ======== Miscellaneous Configuration ========) M8 R. `8 h+ ]; D! {$ M8 Y
*/% I2 s/ G+ }" I. y! K
# h3 n ^' w0 t6 `1 u K/* set default diags mask */9 ^3 K9 \$ x( i0 W) I) F
var Diags = xdc.useModule('xdc.runtime.Diags');
$ O* M& f2 j$ y6 L9 xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
2 U' B% ?% h0 ^: i4 m! b& C S" o4 P+ `% o- p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; }& f. W) G" r) n1 p. }
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' N x- T; e k1 |# G- s
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% q$ l2 F _; c5 U
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# a* }" x! k: b GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& Z; u5 ]) L& K4 h+ }2 S% {Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 |& ^9 @7 z6 a1 _Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ K% w9 E; z: y6 @& t5 L, T
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& p9 ?7 g' |' c% N9 d
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;* E1 m, y$ X b/ Q
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, N4 i3 R, c4 fDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 r1 S% W$ V9 b6 B* p2 R: bDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, E5 x* C' _; D. z) ?. s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) W- L2 s9 [4 q. q0 `- w$ ]! @Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. C; _, t" v# f, v0 u
# C* `; B2 E! n% o# |/* override diags mask for selected modules */, ]1 t; j) o5 J4 `0 A
xdc.useModule('xdc.runtime.Main');1 z* d. u) U/ ^0 M( ?) l8 u
Diags.setMaskMeta(
' [8 F6 V6 X7 G2 R "xdc.runtime.Main",, o% L7 \+ {9 ~. S
Diags.ENTRY | Diags.EXIT | Diags.INFO,
; i& Y! ?2 S5 k Diags.RUNTIME_ON
8 A1 U3 X( D7 U: K' b0 [& C); ?4 t7 m2 T8 K; T
" j6 _2 j0 R9 p4 J: k, F
var Registry = xdc.useModule('xdc.runtime.Registry');
7 l1 x; G, ]8 g3 E" l& G0 A" bRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 X; Y6 H* @$ @3 C' L- Y. n% rRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
E+ f3 y H0 P2 Y* H; m: E) uRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ Y& |9 J9 C0 D7 O& ZRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 }! f' g* v- m3 X4 H
3 x* K5 d* W' u' J
/* create a logger instance */9 X3 l# m" c( C1 D7 s- c: u
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 I# r! N- }! P, B3 Svar loggerBufP = new LoggerBuf.Params();
; H# D! [. J: s5 r0 [0 ]6 T' X/ wloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, \5 B- j q4 P0 d
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- o0 w5 t, q% P# N( y2 t( J5 j T* q
var appLogger = LoggerBuf.create(loggerBufP);
" t, c2 B8 g2 T( {appLogger.instance.name = "AppLog_Core1";
, _: f: Z4 d5 }) }Defaults.common$.logger = appLogger;
8 W- o& [. `9 t Q6 D* GMemory.defaultHeapSize = 0x8192; 6 T9 F! h# M9 M& _' S t/ W+ e- s
Idle.idleFxns[0] = "&LEDStatus";
: R& k* @% u: P3 B! a* J! v# wCache.initSize.l2Size = Cache.L2Size_32K;+ [ ?4 V) p9 S' j( I x
j0 w) L/ H8 p* g( O |
|