|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明. t2 }6 U9 x) R- N% x: |7 O
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* J0 z# L3 g& N, v, E(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
E; I8 ~# M1 a: ^- M" t' K3 t+ x/ o- D$ c$ {6 g, G
是不是需要在DSP.CFG中进行配置
# {: \2 I Y) y8 i我现在的配置为/ c8 u* }+ s! j$ U' h0 E- k
5 v1 A6 l6 k; q5 _ E- Y. _
/*
; m$ C3 R- ]* Y+ P * ======== Operating System Configuration ========
& z" U9 X5 _$ v) @ */
+ x" K8 d- P7 k5 \* `
! q1 h! i# ?2 T7 G/* no rts heap */
6 m' m3 ^! `: j c4 }. }Program.heap = 0;& _ r! t' Y; H" d3 B: T$ p
Program.argSize = 100; /* minimum size */
4 { q* A; n2 B6 bProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大) @4 d0 e8 E0 N) h" U9 j& w
& q8 A9 _+ S- ]+ v! _, N- k% y- L+ X/* create a default heap */
/ n) A2 E) b& zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); f' n- {0 B4 J& A9 c# u# o
var heapMemParams = new HeapMem.Params();6 l- r( `2 m. z8 @0 v% U2 m; `' ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ O; @. y7 t4 W( a- U
5 w5 R* D& r `5 `0 Mvar Memory = xdc.useModule('xdc.runtime.Memory');$ M) ~4 w& R% |! S! V, W' \
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);7 t4 ]0 t2 y4 W& c* t( q0 }- m
; f x N3 R/ I. P5 ]
/* configure System module */ {8 [9 m& |8 Q) @" X6 S
var SysMin = xdc.useModule('xdc.runtime.SysMin');/ c$ a, z& f3 q, n; Y9 [2 E4 @
SysMin.bufSize = 0x1000;' p s- g8 \8 D, h2 [
SysMin.flushAtExit = false;
. n/ A3 {. L: m; \) N9 M# t- }
' G( y* X+ a" \: Jvar System = xdc.useModule('xdc.runtime.System');
0 d" \* d; e7 p2 v9 U3 A1 f/ q# XSystem.SupportProxy = SysMin;; v6 }0 _6 i8 I6 a* I
7 `( f# E3 ]: B$ U1 s1 `5 S/* configure SysBios to use the lower half of Timer 1 */( N0 Q: F. k2 [# Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 Y) M% G8 {0 s* n: l1 W$ z
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 ]" r6 S# V% `$ A' yTimer.timerSettings[1].master = true;4 J% c4 Q3 x7 f1 r, z. ~$ c. ?
Timer.defaultHalf = Timer.Half_LOWER;" F" h6 T- R3 A4 B: ]4 T
Clock.timerId = 1;
1 {- ?; S) x) d# i1 L) q/ q4 r2 n5 y' h# n
* W4 W' E/ J/ e+ ~: F3 h- p) \
/* a& V, D6 H2 w
* ======== Miscellaneous Configuration ========) e- ~5 i! ]( Q, e
*/% E1 ^. H9 h2 W
, C! I% e. m$ ^* V
/* set default diags mask */. Y4 y5 c5 ? a$ A2 A+ A$ I$ `
var Diags = xdc.useModule('xdc.runtime.Diags');% y) x/ A( A: w. w" J: S
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 u% q7 x1 }* o. S3 M* V3 A8 C$ N3 h/ p& c7 t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 h3 v0 i& {. M* @2 t" {Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% |/ v ^7 M# n# a1 mDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! p! [* Z$ L1 D8 w n* @$ Z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: k8 H+ a) {4 E. X" I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: N% E7 N4 H! M1 }
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- D, r% `0 a; O" u% o5 d* u% TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. p& I# p" R2 N0 ~2 r! ADefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" p: t8 H. c7 A+ j ^& cDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) E) h; ` G& S* Z: lDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" C9 B2 d/ Q1 i/ v# c* s% jDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, b- O* D) X/ e: m7 s
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( l. n! ]2 q8 J; G8 C, U7 G/ \& y: X
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. i& b* R4 c/ M4 u3 ~
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 n. Y: w& k) Q d# A$ f8 i; N6 R; ]# X' Y1 K7 Z3 d, m
/* override diags mask for selected modules */, q! k& ] \; j6 u
xdc.useModule('xdc.runtime.Main');
# x& _* l# s$ qDiags.setMaskMeta(
( F1 J" V% O4 L* H! b9 h "xdc.runtime.Main",0 |8 }* i9 i" F/ ]+ _. {/ w' e
Diags.ENTRY | Diags.EXIT | Diags.INFO,0 f! z7 b8 Y7 f
Diags.RUNTIME_ON
) f4 `/ Z `, l5 V, U);
3 a) n8 y. A2 D2 N2 `" e
$ |! S! U. I1 N4 L1 e& N/ i# _, pvar Registry = xdc.useModule('xdc.runtime.Registry');
; o$ T; K; p2 L# h" R5 C1 d: ?- bRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) B) O7 @8 Q# W3 Z# j: p) F7 ^ I
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 S1 J* X. H; O( m2 q5 o- ^4 X- l# GRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. _- Z9 f `6 s7 [( A2 b! @Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 J" g/ x0 W" a, S1 g/ n& K5 `$ h* q. I
/* create a logger instance */
1 B1 f" ]8 t8 n, b* D) Y/ Fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" w5 `- j7 |6 Y3 n+ {8 \var loggerBufP = new LoggerBuf.Params();
4 z: S) U# x! W' u6 X" {loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 @2 {/ ~! u0 Z, }$ K% D" n. i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- W0 p' }& Y5 G5 Q& h7 b% F2 f1 X$ [- {6 u: Y, N' S: E& x
var appLogger = LoggerBuf.create(loggerBufP);6 a& n6 m' L8 O, \( f/ A9 j
appLogger.instance.name = "AppLog_Core1";4 T t; m8 V8 P
Defaults.common$.logger = appLogger;
# @8 N6 h0 p/ n' A$ oMemory.defaultHeapSize = 0x8192; . c. j+ j1 |/ f
Idle.idleFxns[0] = "&LEDStatus";
5 p3 u- U- F7 KCache.initSize.l2Size = Cache.L2Size_32K;
- c2 Z, i. [0 |6 H# ?8 ]
2 w' D, l6 K: | ? E |
|