|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! \0 Y* e( O: x# u8 c* C我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: h/ b. D" `0 _4 F4 ], K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' O- d/ V, m0 N# z% k& W* C- P' a* A) o. e3 s: \! W+ w
是不是需要在DSP.CFG中进行配置
. G4 }% w2 ]7 P我现在的配置为3 n2 `. P, W0 q3 @% Z) Z l
! _8 F" _4 Y' i( P2 B$ Z( ~4 x/*6 A, k6 M; U" ~! ?' k7 H
* ======== Operating System Configuration ========
, _( l7 E- S) X+ f3 H a3 m */
$ l) n/ I9 f" T' X- p" i$ O+ F9 @3 j, b, T. z" F
/* no rts heap */
0 h4 a+ s/ n+ W' X5 Q; q7 pProgram.heap = 0;
' k# p7 ]/ v m z9 M( T6 ZProgram.argSize = 100; /* minimum size */
% ]% u1 I% @8 GProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大* r6 V3 y2 y1 Z
& D; `2 N4 i" \' K$ _+ _; F
/* create a default heap */' h& Z7 |/ a7 |0 K' |
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ u9 @8 w. ~. n! W. ]* p6 j
var heapMemParams = new HeapMem.Params();# {' R) w) a% Z9 h
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 e, i4 M3 T- v' B7 v
! J& z; n, ]* T. t/ Svar Memory = xdc.useModule('xdc.runtime.Memory');
, v' F1 N* S1 N4 [* B) BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 T" E7 @: a, `9 ?6 e3 x( n# E* ~/ i& C% U, `- T
/* configure System module */$ k6 b0 C/ y9 p0 D1 M+ }# H
var SysMin = xdc.useModule('xdc.runtime.SysMin');
) _5 p% r( q8 A5 h5 {/ P2 @SysMin.bufSize = 0x1000;- F5 V7 ^" z; \1 U U4 b+ X9 M) I. }
SysMin.flushAtExit = false;
: g" r! |: n8 j5 C; o9 H& U3 E) `( W: j! I( }5 L" U( y
var System = xdc.useModule('xdc.runtime.System');- T# i. j4 v3 `4 t' f( R
System.SupportProxy = SysMin;" o @8 B9 k$ V2 }# `! c2 e* a
3 e$ G3 C3 r3 h5 m9 ?0 K# Q/* configure SysBios to use the lower half of Timer 1 */2 z# [; B5 W" h: a8 J5 w" N: Z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, J" Z3 V3 b7 M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 i1 {1 I. i! R) g5 C0 C* d% A: T
Timer.timerSettings[1].master = true;
+ }( i$ O6 h* n: ?: B" S6 q3 f! LTimer.defaultHalf = Timer.Half_LOWER;
( v: z# B! r" R' |. J! DClock.timerId = 1;* a: X! b9 ]5 F4 a+ a5 Q
& _" \, b a h' e4 R8 m1 h+ s
) i. q5 R+ Q8 U Y0 p! A2 L$ `
/*$ e% R1 I7 }7 @* [7 G
* ======== Miscellaneous Configuration ========
9 x) d/ ^6 H1 Z8 L2 a */
( L' T8 i# A5 H0 K/ A, G" j9 ^- L4 @1 D _# E u+ o
/* set default diags mask */
& Y; @+ |6 T) M' Pvar Diags = xdc.useModule('xdc.runtime.Diags');2 j: x, Y2 q( _: l4 t, E! |$ z/ m
var Defaults = xdc.useModule('xdc.runtime.Defaults');
4 m2 T4 H. n% s! K. @3 _+ q( A. n2 x# k( }& {! D
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! W3 [1 v4 e: x# Z) H
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ m$ L- Y% c9 V
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ t- f: Q) F" X9 x$ z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. Z- h4 a9 `8 L4 _$ zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- V4 `' t! a: U9 DDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 x* d- W- V+ S3 b2 U
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF; C9 B+ F {4 x! q9 ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ `$ B& p& ]& a0 O KDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ n3 V" u v9 L8 ^
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. j/ \2 H8 D1 } g7 S) }2 H, c8 J
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;9 U8 t. ^$ W! {# n4 c0 c' u
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 {" a) I% K6 S% L( b& x* X# J+ {0 F- n! `
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, |1 k! p/ Q5 n2 ^7 c& ~Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 M) B, J/ `* ?. [6 w( K: W/ n. l D4 I1 s2 O
/* override diags mask for selected modules */
! ~% Q5 z# ?8 Zxdc.useModule('xdc.runtime.Main');
' s" A0 l8 V$ q- iDiags.setMaskMeta(
& P/ C8 ~! t8 J8 X* I, P "xdc.runtime.Main",
, e: e# e! L+ V% v: V Diags.ENTRY | Diags.EXIT | Diags.INFO,
" l! l% c4 W# ?3 \( m$ q7 s. ~ Diags.RUNTIME_ON
7 q' ~* J) P1 e3 W F2 D2 s);8 b1 b" ]6 A3 V% n! x
% N6 |+ a% k: W% @( _
var Registry = xdc.useModule('xdc.runtime.Registry');( D8 x/ _* }0 d4 |. H6 G9 Z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 ]6 ?2 C9 A S$ k1 u8 X# LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 k p w! K6 @6 f, ~+ Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;( |# B1 R: l- D$ @' t* v
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 M9 b( g U9 b' ^! [# Z' n0 M
) N8 w) _, p! n8 s' b( d/* create a logger instance */( }8 I6 m- K/ H" N0 e
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- j( w; \) g6 P
var loggerBufP = new LoggerBuf.Params();% ^# g0 N* S( h+ X; ^, A8 s& j
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; k7 a" R2 v' X: P8 C8 d( xloggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 C4 ]: U) |0 k% k3 g/ s. t: v2 m; O' V
var appLogger = LoggerBuf.create(loggerBufP);7 C( M% ^5 X: {; t" I
appLogger.instance.name = "AppLog_Core1";
/ R3 u7 S2 N5 Z: A4 KDefaults.common$.logger = appLogger;6 ~+ m0 f9 K9 a, s) d: }
Memory.defaultHeapSize = 0x8192; ( d F- y4 h8 e( E5 P3 U4 c6 m
Idle.idleFxns[0] = "&LEDStatus";6 x( L4 J/ Q0 u9 y8 `) f
Cache.initSize.l2Size = Cache.L2Size_32K;
" q' s" g& l5 P$ w+ a: `* [- g* y) J8 g; Y, o' F. D& B
|
|