|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 ]6 A' K2 [1 [- L$ s; t' g
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( V: Y: b* w( w. z9 d(不过疑惑的是,为何单独DSP仿真就没有问题呢?) z0 Z# @9 a* K% @2 U8 }8 ^
3 D: C" ~- B8 ]3 G
是不是需要在DSP.CFG中进行配置
% l) X0 S+ V8 I我现在的配置为) L7 s' B' O8 c7 I3 k$ t+ O ^' H
+ E2 p# ~5 G, a3 U6 k/*
- ~5 s4 ~8 u1 g. Z# a3 i# u * ======== Operating System Configuration ========6 N/ g: H0 b' @0 } Q6 z! j
*/
K$ @, i i. H1 K
$ C4 C8 U; O6 @/* no rts heap */8 e2 u& h" N8 @& E: _+ B" x& N
Program.heap = 0;
: T& ], |7 p" u& l& VProgram.argSize = 100; /* minimum size */( c2 G1 E9 B4 i8 t8 X5 f
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ Y9 Z7 k, b$ D/ W
; B7 Y/ g1 q" f9 O {! Z/* create a default heap */
: l; s* v; K. t3 }. Fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& p- \ b8 D1 B1 s8 I1 x
var heapMemParams = new HeapMem.Params();. ~8 O& h: F) D
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! C: T( E! B0 f
- U9 \2 D, [* M8 Q8 x
var Memory = xdc.useModule('xdc.runtime.Memory');. C7 l: m0 J" k& X* Y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 K5 }5 B. `" K% G# q( r v6 o5 S. }: f/ ~2 y
/* configure System module */
& A! E2 e% Y/ h V2 r s. L x5 Ovar SysMin = xdc.useModule('xdc.runtime.SysMin');! D$ Q* r! V8 t( J" U& t$ z* B
SysMin.bufSize = 0x1000;
. s o+ H. g+ A/ M' ESysMin.flushAtExit = false;( T+ R; Y" g- d/ l* ?" P3 y
# w$ L. H9 p9 M5 w
var System = xdc.useModule('xdc.runtime.System');
O; r# _3 Y3 X" Z' {5 CSystem.SupportProxy = SysMin;
- v5 ~3 n- ]6 |3 Q8 k# N, |* Y7 `( e* V- o& f* m
/* configure SysBios to use the lower half of Timer 1 */
; ?7 B4 B U; c z1 svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 G7 s, S1 s' v/ d1 P9 vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
% G7 V( N6 _6 z2 r+ O' H) A: ~- K( CTimer.timerSettings[1].master = true;, r2 w6 C0 }6 o. g% h
Timer.defaultHalf = Timer.Half_LOWER;( U. m, h+ D Y: W$ Q* D5 o
Clock.timerId = 1; o3 `% I9 U- b; S7 g/ \& \
! Q3 |5 Y* K2 F
0 P1 u* T: z; R9 A. r$ y4 G( D2 p/*" Y' u' l+ `4 o8 r
* ======== Miscellaneous Configuration ========# x% [/ b, y. z2 n( f
*/4 h3 h" q9 a6 v$ h. _* g
* D4 F' o' F/ y/ F- f* P3 X- E3 m/* set default diags mask */
. W: |8 f$ z% G$ r. p& o d1 D# xvar Diags = xdc.useModule('xdc.runtime.Diags');
0 Z. L5 D9 I$ @; mvar Defaults = xdc.useModule('xdc.runtime.Defaults');
# a* L2 o- {0 u) @% F, `) x2 u |$ F% {; b5 T! @
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 m. Q9 r9 Y5 [ u1 H6 C
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# x; @7 e Y l' W* J" ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 Y9 Q# S* b/ S" y0 i# ^# o
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* o. P2 T. E) |* y" `! e W
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 S% N4 h( _0 S9 ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) q3 G" F: R8 A! N% B& PDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' h! |7 \7 `( |0 `5 R! H. bDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
# p( o9 v8 m- HDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 K X' S% @ L
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 p) q+ O* k4 _, A/ ?
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;% C) s A: p# B- M' K+ ^
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" V* F4 Y: W, u) m! NDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;& d1 x( L: H7 v$ W& J+ w$ H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: Z) V/ [$ t, _6 v6 w
5 \2 @; e6 Z2 x3 V: G0 r* m/* override diags mask for selected modules */2 C) e( [5 P; c. r
xdc.useModule('xdc.runtime.Main');
0 _1 _ q7 O! zDiags.setMaskMeta(/ t1 K) Y9 s. g, j/ E2 Q! } u# m
"xdc.runtime.Main",
3 a0 f1 {: r3 e8 I; [ Diags.ENTRY | Diags.EXIT | Diags.INFO,
1 ?) }3 j: |# w: R Diags.RUNTIME_ON2 f9 L, m0 z2 S& l4 w- G! A+ L) z
); e: _: z* \% @: n9 Q& _; g# l
; Z1 w- S1 ?3 n2 F6 C- evar Registry = xdc.useModule('xdc.runtime.Registry');- r: ^$ J5 O* b( r; H" V4 u( H
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 j& W6 s3 U: ]: b5 [# O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 X2 Q# v, o Z+ ^) k$ D; S/ n' gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;4 ?. q+ Z( J4 X, b4 Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 i. F! M8 A* n' d: _
* G2 [4 o# b: d2 z
/* create a logger instance */. T+ d- \' q9 U# {+ G5 i# m
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
' n+ B1 s) H6 x, _1 f+ avar loggerBufP = new LoggerBuf.Params();
! Y9 w, G7 U- m p* O0 \0 dloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* g6 P( F$ V) M( T' {# E& J& g9 xloggerBufP.bufType = LoggerBuf.BufType_FIXED;0 K7 h8 y/ ^, g+ b( y. a5 ]
+ f1 Q, ^, o! N, |( M- ~: W0 |6 t
var appLogger = LoggerBuf.create(loggerBufP);
: j( i4 ]: i- {; O5 i" I2 ~appLogger.instance.name = "AppLog_Core1";/ W0 N: ]4 Q3 E/ O& P Z7 S
Defaults.common$.logger = appLogger;
/ _' E1 F8 X1 Y/ q1 ^( q0 lMemory.defaultHeapSize = 0x8192; $ R- S% Q _8 L2 i7 ^9 [
Idle.idleFxns[0] = "&LEDStatus";+ X0 ]+ Y0 W8 U: t. O
Cache.initSize.l2Size = Cache.L2Size_32K;* X9 I/ N6 M' G' H
U3 C. ~" i" ]+ j
|
|