|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( I( k$ ^- _) R$ h: ~1 u我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' o+ D& ~. Q* s. z* g# y3 V( p l(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' ~: \" g; v; ~/ W' i
V2 \% q5 e/ P+ o" Z
是不是需要在DSP.CFG中进行配置
9 J- n% j( R8 Y* ]1 Y2 Z我现在的配置为
$ D4 K8 v; d! R5 x
' c9 d" ?% p8 G' M8 |- `# f/*# @* V8 H; B8 U1 i
* ======== Operating System Configuration ========
/ l; j, }- N+ ~( H8 z _2 ~ */# M; E# p( ~: r1 P+ ?- T2 F
2 d! i( _2 M- W0 t! l+ G
/* no rts heap */
$ W A6 Z4 q: h; g/ d4 R: `; m- `Program.heap = 0;
4 B+ N6 K) J- g1 r9 gProgram.argSize = 100; /* minimum size */0 b7 N: P( X) @7 d$ V, m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 M! G$ y3 U% n# o2 D, \. S- }: z
9 c* Q8 W7 w+ E4 c3 b' l2 m3 H/* create a default heap */
1 [) r0 S1 Q+ L$ S9 G0 ?var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
7 l8 o2 g" q2 Rvar heapMemParams = new HeapMem.Params();$ i/ b8 [, T7 D
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- _# C4 q8 T+ Z8 `- C: F3 ?
8 G+ p% e" ~+ N9 `& ~
var Memory = xdc.useModule('xdc.runtime.Memory');/ V/ Z4 p2 u- [4 {
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 ^! {5 L( J0 S! ?0 ~& M$ K$ u4 b+ U, E
/* configure System module */
: `( p: R% V5 {, ^var SysMin = xdc.useModule('xdc.runtime.SysMin'); s, \: t7 c' c9 M' J. B
SysMin.bufSize = 0x1000;
/ f, ^5 m& S# KSysMin.flushAtExit = false;3 q1 [% K" ~, T- Y6 [+ ?
" T& |& w f0 Q. I9 u! [var System = xdc.useModule('xdc.runtime.System');* A# L6 R+ f$ L
System.SupportProxy = SysMin;7 S& Y9 f% C. s( S0 n" R
% c6 [3 _$ @; t2 X. ]8 D/* configure SysBios to use the lower half of Timer 1 */
: G. g% R% t5 X& vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 W2 l. U/ ~4 i& pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ A. a; ~/ j7 O% D8 Y
Timer.timerSettings[1].master = true;
3 Q) ^. Z3 H. `# r+ dTimer.defaultHalf = Timer.Half_LOWER;" s5 v! T. c8 o! H) j+ Z
Clock.timerId = 1;' K* b7 V _8 i# D0 N$ M# Z' q( S
|* w' A$ Z4 [( [9 G& O1 b5 w
" s) s% ]- O6 N/*
5 f: M8 u; j6 W9 ]0 U$ q, r2 _5 a * ======== Miscellaneous Configuration ========! F* }7 c7 h# F, @0 j
*/) v) h8 [6 v' e* Q
4 v& _ a! k3 [ H; n4 F6 L9 M
/* set default diags mask */
8 p; H9 p% Q) I1 I) cvar Diags = xdc.useModule('xdc.runtime.Diags');& a P( S* A- r( M
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 m* |" A1 B2 c8 G2 v$ M% `
( C2 i: ]& {/ R. @0 c4 `7 BDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) P0 r4 K5 r* y1 I! `) l& Y7 F& m5 PDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 `$ g& \% B% q( s ]
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% e8 p& ~+ z3 ]
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* W* f2 ?/ v5 w
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% W3 B' ]9 g1 g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 K6 x0 T1 H3 F
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
E# C' n B2 ^( O" pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! ~" u2 |6 c1 {1 kDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 H1 S% D3 q2 w, _ XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) q. M' o9 B5 Y) m5 s1 B1 |! e; B2 LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF; \! d8 v& G4 `1 F0 P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 A, c% J0 F @! V3 L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 Z% l Y9 l! R4 T% Z, s/ D0 Y5 C6 G
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ F( c' H4 x. g0 S' T
8 j, @/ U" ~, z( l) X( ?/* override diags mask for selected modules */
8 N3 S# J0 s9 F* z. i$ xxdc.useModule('xdc.runtime.Main');
9 [! R: y0 T! t! o U3 xDiags.setMaskMeta() A+ P, m1 U! g/ k) r. v i
"xdc.runtime.Main",
# e o+ Y }$ p6 e) t/ [ Diags.ENTRY | Diags.EXIT | Diags.INFO,
- D6 @& M) q+ V- G& _4 h Diags.RUNTIME_ON
' N+ k& U/ ~1 M9 J);
3 V; r1 z+ ~- G4 U
. v$ g8 r8 ?0 W5 F4 S% y1 f4 Uvar Registry = xdc.useModule('xdc.runtime.Registry');5 O+ ~9 q9 `% d8 B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 j! N/ N6 l+ g' {0 x' \7 |" i9 |
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 ?* l+ s" d4 O8 L: N# ARegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 h& T5 f; J" G" J/ LRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 d) x0 T5 z# B% n4 [1 m; {! j g6 a# y3 o) t
/* create a logger instance */
; U1 q. v6 C/ f3 I) ^6 tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
6 i' n3 [9 o# kvar loggerBufP = new LoggerBuf.Params();
' Y. f Q$ m7 s- c! HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 h2 @' T" r# L5 g0 @5 jloggerBufP.bufType = LoggerBuf.BufType_FIXED;
! p3 N% a; h- F1 K b% c
7 S8 Y- o3 {, d$ q ^var appLogger = LoggerBuf.create(loggerBufP);$ j( Y1 c' D; |8 B, d+ _
appLogger.instance.name = "AppLog_Core1";5 W H3 y6 b/ d
Defaults.common$.logger = appLogger;
9 J, i5 q0 h' z" ]0 P6 v* Z1 ?" |Memory.defaultHeapSize = 0x8192; 0 {! Q( R+ X8 I' f* T
Idle.idleFxns[0] = "&LEDStatus";1 p/ j$ V3 E" a! D) i4 {7 L
Cache.initSize.l2Size = Cache.L2Size_32K;
" n: W; I+ `3 _! X& z2 }% p) w+ E$ `# i
|
|