|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 ]- {/ S( L/ A# I) S* H我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 o0 Q8 D( ~. d) I# a ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- g5 V4 Y5 m$ d! X% X C6 z# a. z2 P8 _+ p
是不是需要在DSP.CFG中进行配置
$ n; d2 a9 ?" s6 s0 [+ L0 h我现在的配置为4 I N% A6 q: Z! D$ \
' \& R% v8 c# V+ s" k: `
/*2 O) ~! h) X9 H; T" h$ S
* ======== Operating System Configuration ========
8 p! i3 y2 s: i */) m* P- V, }9 f1 t( `
Z- @- n* F$ `
/* no rts heap */
' m0 h! b! o- M: s @Program.heap = 0;
, M9 q3 l3 p n5 _* bProgram.argSize = 100; /* minimum size */; ]5 i/ c* F0 R0 R1 {8 {
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大. {" x* z* \2 r6 c# e% j, x
6 |& y! Q" v& y, _/ h) h' j( y
/* create a default heap */* P( }* O2 E* W- y( L# j0 `
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' |1 c- S( Z0 }, [! yvar heapMemParams = new HeapMem.Params();/ B1 v* w* Q) u5 \
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- O q; t+ j" u( Y6 b7 z" S
* q |' Y4 q- y0 w7 X& wvar Memory = xdc.useModule('xdc.runtime.Memory');3 ?) g- z7 J0 s' Y e: L4 e
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 u" ?6 [9 _4 b2 ?
6 K& X: M* y& w: s7 V2 j5 r) Y8 q/* configure System module */
) w8 R1 o' y8 i; s# V* d, Z: Bvar SysMin = xdc.useModule('xdc.runtime.SysMin');( V1 ~5 ^: O+ h/ q
SysMin.bufSize = 0x1000;4 Z* ~$ S9 a* D
SysMin.flushAtExit = false;$ }( c$ A" ?) R6 q( M2 M
: i- j( {4 i& N$ v# B6 _" ^5 f& U
var System = xdc.useModule('xdc.runtime.System');
9 d1 v" S' k1 xSystem.SupportProxy = SysMin;
4 x9 x% @+ `# c3 v8 `# t3 ^6 q" B7 j' h' c0 n. q2 v/ w+ l: b
/* configure SysBios to use the lower half of Timer 1 */9 Z% k- A* T( }. N7 G. B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; |; [5 b, B ^/ ~! \6 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');' l8 m' d; H; }. }, g" C; W, G
Timer.timerSettings[1].master = true;
8 G5 N; a8 { C, R! W ITimer.defaultHalf = Timer.Half_LOWER;
! W& G! [7 }( K! x! A, NClock.timerId = 1;! V2 w8 N" l+ r0 a
( F& l; ^) `* V3 O) u; @+ n7 W
6 A4 H l1 I; X
/*
. i. B9 ^' U: c( H7 h * ======== Miscellaneous Configuration ========
6 Q& W$ c- Z I1 R$ Z/ R7 i. {" t */) L, @( {- e4 p8 ^
@* { D9 [. O$ f3 V
/* set default diags mask */
% e: J/ D7 r! C; Bvar Diags = xdc.useModule('xdc.runtime.Diags');% i) f+ r" ]5 r9 Z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ l: x9 M u3 z* W% _$ @0 S$ ?5 p/ a
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* F' }* [3 g; c- L5 m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 P, F% H! v% S% W. W( g6 C8 H
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- v# H. A ?' h$ K
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% N' Z. r5 E; L. s1 d7 u1 F5 kDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 s+ B9 g, m ~
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
( z# y* \, }: D2 F+ C: x: [# \Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 k0 J- T; x; H6 {* \- @
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 ~2 E1 E2 P+ YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
1 N& H+ x: G q: y9 VDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 ~# K" b* v# P" P- `, ?Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 e- z( \" p0 aDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# r! z5 w: O- X5 R# A
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 N! L+ j6 q1 C1 r
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* n* X+ y: a ]' A. \$ @1 y5 Z5 P8 T0 w( N& F) l. ^' j+ J& V
/* override diags mask for selected modules */( B7 {1 W5 [9 [: [+ S
xdc.useModule('xdc.runtime.Main');
# l# H+ A8 o1 ?Diags.setMaskMeta(& Q3 W. n& Q- k
"xdc.runtime.Main",
" G! }# ^) a) U Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 s8 J' K* l5 P3 @ Diags.RUNTIME_ON
- {- T( i0 Q5 V);, p9 K, V0 M; T+ B6 q( c
6 D$ |2 r0 ^' t# n
var Registry = xdc.useModule('xdc.runtime.Registry');7 p# C2 n& _ t5 f. c
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. i& q( p# f, |: |3 J4 h
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ r; ^& v& j& Q% tRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;$ W- Y& n# C' J( b; b
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;; e, L1 o! E% e7 }/ @* J& t
1 {4 Z0 J$ y4 C/* create a logger instance */
$ B6 R7 D4 I6 k$ E+ u8 Evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, q0 Q! P @- O
var loggerBufP = new LoggerBuf.Params();% i; B8 G/ z5 k( G
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 @7 J, }; h) N. a9 H4 [
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 b9 p* D r; m, S+ M% F, m J( X) S3 D
/ ]( v, [8 \. U. e e4 S
var appLogger = LoggerBuf.create(loggerBufP);
8 X% G2 L6 C, r; v M2 `7 ]% M2 happLogger.instance.name = "AppLog_Core1";
- _- F) Z( W7 K3 GDefaults.common$.logger = appLogger;
, w, |' q# Y/ O( s' MMemory.defaultHeapSize = 0x8192; , j6 |- Z. l g& G1 Q
Idle.idleFxns[0] = "&LEDStatus";; A9 c7 Y* U) h8 ^
Cache.initSize.l2Size = Cache.L2Size_32K;
; W- S5 K9 Z8 C/ B2 _1 A
; c; y3 c. T5 c# D' I0 v! y |
|