|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 s6 q X* N. {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! \. Z I5 @2 i" b0 c" W0 k0 I; |. i
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, F: E3 {# u7 p C2 e6 a9 D$ B3 a; Z
是不是需要在DSP.CFG中进行配置
7 C- p, u* N3 P6 P( J8 e我现在的配置为( j# T3 Y4 l) l* j& i7 e
7 f7 {# G# W" _7 Y5 l' {; F/*
Z5 ~: t( V/ [ j& X5 Y3 a. R * ======== Operating System Configuration ========8 n# x- W# J! Z5 W- I/ e! V
*/- S8 {/ b/ D/ a+ [3 t6 L* ]
8 H8 [) [0 E0 Z- G# B3 b
/* no rts heap */4 N X7 b: J' J% d9 p7 Q" P4 ~! C
Program.heap = 0;
f- n: K# B* E4 |' {$ Y9 Q* _Program.argSize = 100; /* minimum size */0 Z2 M' G: a* `! T
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
`3 k6 D& `, n& @, |5 G% M2 k
2 E9 l. p4 V5 X) q/* create a default heap */
; Y5 N2 v& x; R( S# m3 Lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 c! R# E; T4 n x# f. @var heapMemParams = new HeapMem.Params();
8 B2 s' Y. }0 q& O2 RheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 F7 v$ L/ A3 C I
- B# |' W! R( k
var Memory = xdc.useModule('xdc.runtime.Memory');9 s! @" S: f8 d3 j
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& y9 I- P# G% v: X" W; U* j9 k0 N% e8 F% R
/* configure System module */
, K; H0 w" x( qvar SysMin = xdc.useModule('xdc.runtime.SysMin');
+ t' L+ t( ^! s! Z3 K g+ XSysMin.bufSize = 0x1000;
7 G& S: x2 ?* L" m" V, c3 pSysMin.flushAtExit = false;. X" ~$ e6 q8 M% o7 g0 M6 m
" {3 y- ]' H) z. U" lvar System = xdc.useModule('xdc.runtime.System');; |) D5 X9 W# a! B
System.SupportProxy = SysMin;% C* s! ?: U: r5 e% j; a
! ]0 l) F5 b& p) ?0 H
/* configure SysBios to use the lower half of Timer 1 */
/ M; k- Q0 ^5 ^" o) P) Lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& g$ \9 f5 j3 W6 u5 ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');. k8 m: @: e& M$ U8 @
Timer.timerSettings[1].master = true;
( M9 H1 y e! R7 o+ }4 n4 G, X( UTimer.defaultHalf = Timer.Half_LOWER;
7 o. O: o) {/ QClock.timerId = 1;, T/ m3 y9 x8 a9 P6 K* Z# Z
+ Q+ w% w' Q. r6 M |+ t
# g7 A* O7 {* G$ X2 ] c
/*
* S2 S3 ^8 R& e8 P) o * ======== Miscellaneous Configuration ========
* T& K9 d) u I% p ^' z */& D! M/ h' j }1 Y5 q) g# E- h
9 H' P& N# g4 v
/* set default diags mask */
( L" H1 _) {3 u5 m( m" x# h7 C6 Uvar Diags = xdc.useModule('xdc.runtime.Diags'); Z2 T$ o2 R8 T1 z
var Defaults = xdc.useModule('xdc.runtime.Defaults');3 A7 k/ @8 l7 g' h) G H
( G3 }3 g8 W& D! F+ GDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ @1 }" @ M* t5 i3 n* H1 o8 pDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 t- G& a2 `+ @1 x8 b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 l7 U% b1 W3 }8 ]$ A* w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */+ O, ^: E8 v' c' a; H/ l
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
. w( h q. R3 rDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ E- a8 x/ G& L% |
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' L( {7 v3 G' K5 Q# W( a+ x
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 r0 [) x' t/ }4 y7 EDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* o4 D) m* `6 z0 D t6 D, p0 g, ~+ S& zDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 [; I% q8 d( }* I3 Y: Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% }: a3 n" m* X& ?. O8 n) XDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 }5 S: M& p: h. _
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
+ I. W: v4 m* v) y( xDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 I( t0 \2 ^9 M" o% g$ d
. r3 Y+ n Z5 b7 c/* override diags mask for selected modules */
+ d. y7 L8 I7 ]xdc.useModule('xdc.runtime.Main');
2 m+ F7 p1 u A, L( X* ] lDiags.setMaskMeta(. R8 d7 ]# L0 ?! [, V7 J. J
"xdc.runtime.Main",
: n7 u6 R) Y! N M9 r5 f Diags.ENTRY | Diags.EXIT | Diags.INFO," \. B. B" o! J& [8 U w
Diags.RUNTIME_ON8 m- G' u" A4 h; W" z
);; Y5 z I# W6 m8 i& ]
! @. \ m" g! V2 cvar Registry = xdc.useModule('xdc.runtime.Registry');( L1 K J* c; M# v( u) C# n& }, ]" o
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 K0 _/ Y' C8 _Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. u, }8 V5 X( n) B6 x0 W5 R) kRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;! @8 q# I, R! d' i" y/ ^4 L) X. T+ ~
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 }" ^. t* b* ^& `3 r- h p# u0 b3 H1 ~" D% V3 H$ m
/* create a logger instance */
# _0 X: H# v" Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 y* ^9 `2 S% }9 V# ]) i/ ]* P: [& o& t
var loggerBufP = new LoggerBuf.Params();
/ S- U' Y/ J! }, T P5 \3 K# J; }loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! k# Z% L4 A5 r+ m. @9 ~. gloggerBufP.bufType = LoggerBuf.BufType_FIXED;/ |$ s8 p9 I/ J6 }6 u. a4 `
$ `$ ]9 F9 w! i4 X K
var appLogger = LoggerBuf.create(loggerBufP);
, o: q4 L6 S& v7 B5 yappLogger.instance.name = "AppLog_Core1";
7 O4 |; ]3 _% Y: JDefaults.common$.logger = appLogger;. z7 ?/ ~5 ~# v: c) X: b$ p
Memory.defaultHeapSize = 0x8192; ' x( U4 e7 X: }
Idle.idleFxns[0] = "&LEDStatus";
Z: T+ v$ {5 Q6 ]/ TCache.initSize.l2Size = Cache.L2Size_32K;- v5 [. A8 h& a5 d
$ A6 Z7 y+ c% C. X6 Z1 ^
|
|