|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 v9 [& {! D8 B# f* \% T& t8 W
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) p, J# h6 ]) W) p# l2 N
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) M0 F& S4 P, J% ~) ]8 `8 }
l2 V6 T. u, U& d# Y: A
是不是需要在DSP.CFG中进行配置. o' q$ B( m1 m* \! s' \! ]$ m
我现在的配置为% ^4 s1 D# o. @$ r) f
8 n8 O e4 M) X7 o! ^$ H) o
/*) n% j, y3 B' b* W* U
* ======== Operating System Configuration ========1 j% u2 g3 G4 U
*/
" e0 l5 ~6 \5 M+ I* m: U6 `+ Z3 P7 Q/ X
/* no rts heap */, o' k/ B7 G' T0 T8 }7 P
Program.heap = 0;: Y7 ^7 Z0 s5 g5 [3 ?& T! ]
Program.argSize = 100; /* minimum size */" z& Z6 j: S8 m$ ^$ b5 [# N; L
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, i9 p- x2 s$ P3 o$ S3 I* a& U
3 T& r* U# n" ^5 G' @, W; R' L( @/* create a default heap */
0 u, W, e, p7 a; d+ M: p! svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, U5 G+ ?5 A0 Dvar heapMemParams = new HeapMem.Params();
* T) e1 q2 ] v! R2 t% W' K( CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. H) d1 B( P9 R* X- L6 q) W5 A- @7 P% j; i8 a& o5 S
var Memory = xdc.useModule('xdc.runtime.Memory');8 M7 C* o0 [4 f& ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% @+ Y7 Z$ U1 h8 e9 E3 p y/ ?6 p) \; l8 K5 p5 @& N+ z- d4 J
/* configure System module */
2 A- l1 j0 J) u x' ^var SysMin = xdc.useModule('xdc.runtime.SysMin');8 ~, r8 t7 \9 c7 ?; g7 j# H
SysMin.bufSize = 0x1000;
$ j7 Y# e" c+ y, S& L/ e. g& CSysMin.flushAtExit = false;
6 O+ h% G% O |; v2 l# e# S8 F: T2 u) x- U, H
var System = xdc.useModule('xdc.runtime.System');
, B3 j0 |0 W7 j- F$ S/ n( USystem.SupportProxy = SysMin;
8 g3 P- S V" |8 N1 K2 N( m0 s
8 o* s9 d3 M4 \* e: L8 o5 e/* configure SysBios to use the lower half of Timer 1 */6 I1 S5 s6 Y: e* j1 ^
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 V6 B7 _- T! l: Y* }$ ~
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
& r+ T# F; c4 c+ N8 [Timer.timerSettings[1].master = true;. c \& { | c+ Y" S( `1 e
Timer.defaultHalf = Timer.Half_LOWER;
' E8 ^8 C- \6 {( J2 ?8 aClock.timerId = 1;
% Z& [* _. E* r! X8 v
: X! H( x3 M$ b8 e2 ?: r4 R5 d ?
s% f. y- v* W) y* |) ~+ N, U% b- y/*. C/ B/ w0 H: ^ W+ _6 P' \% A
* ======== Miscellaneous Configuration ========
7 ?% F8 y% P2 H g */* g: b4 H! E! @- F
! J) }$ V6 t0 p; W/ @. ~7 U# d
/* set default diags mask */
- D: t% N7 ~ f- E9 dvar Diags = xdc.useModule('xdc.runtime.Diags');
0 e& v! _1 G6 i+ b' t8 Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');
/ [) e7 q( g5 h# b Z/ }; v% t3 h7 y5 F& V+ \
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 h9 C3 S4 G& b3 N# I0 cDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" C8 A9 `% c) X& k
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ C* p6 Y* i, d6 A1 |! WDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 l) V. [" D TDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 I7 x0 U3 p9 M1 i6 W1 w
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: h' U: G% N6 \" ^ }2 gDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ W. B! o3 `# L2 @; V: S
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; M" ~# C D3 |9 f; X8 Q% g, i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 `/ t) O; p" {* t8 K
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;" ^$ w+ D2 R! V- @4 u
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ c$ k& h3 q3 e* y9 P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 D6 ?- }8 W8 M, B4 y s/ yDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 a7 e& s: G# ^) q- }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 E) F8 n$ o6 L7 v2 F; B: d; T1 m2 J: b) `& ^
/* override diags mask for selected modules */# L+ ]& |) u' f4 _
xdc.useModule('xdc.runtime.Main');; i2 I; H1 G. m" V" Y0 h# y
Diags.setMaskMeta(
2 E8 B" g8 j2 N+ l+ S "xdc.runtime.Main",
. T7 t( L' T# i Diags.ENTRY | Diags.EXIT | Diags.INFO,
% V, m! Q6 x9 O9 m( j* }( l7 h Diags.RUNTIME_ON6 |/ G# q* D2 k! ^! C$ I+ |
);7 g/ s' L' j( B3 V
8 U; o8 a; G1 N1 O" W0 J& Kvar Registry = xdc.useModule('xdc.runtime.Registry');
8 W' x+ U8 P8 c5 d. LRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& I; h. u7 A! G4 M5 m4 q7 m/ P+ K1 l
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 D/ J2 r% O; \, @( W" v1 o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 l( J" T7 C9 i0 V( S' E2 r0 \3 u9 sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ s' o0 P( C/ e9 `8 X
; J( X" j" b5 o, ?/* create a logger instance */
! ]; K0 W9 x, L, G6 D3 o5 f: Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 s2 z7 X( e s9 Vvar loggerBufP = new LoggerBuf.Params();5 F Q1 E1 B& R" j6 ~' Q9 h
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& g8 s2 D8 y) a: b. n$ ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;* U+ ^" p5 ^ D! m
3 y7 Y+ e4 B" W; o) G
var appLogger = LoggerBuf.create(loggerBufP);
3 G/ G: X% z8 g" x( q6 ?* R( ?appLogger.instance.name = "AppLog_Core1";
7 T# c8 d6 J3 [) i/ RDefaults.common$.logger = appLogger;
: F: ~1 Q, N- g# OMemory.defaultHeapSize = 0x8192; ; J' ?. O( n7 S% d
Idle.idleFxns[0] = "&LEDStatus";
5 E" E5 c4 |2 _Cache.initSize.l2Size = Cache.L2Size_32K;
6 M6 X3 X) n5 F$ P2 W9 M. ~
. O. w0 h7 a8 O3 V6 g6 C' l |
|