|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 ~+ ^6 R- M# t+ I$ Q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 l' P8 m5 M6 v1 n0 d(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( X! i- B/ B. P3 h7 X" t. R9 R8 \; D
, m+ b$ _2 M6 V: I6 C是不是需要在DSP.CFG中进行配置
3 Y8 T8 T# r: a我现在的配置为
8 Y, z8 C- i/ ~; D1 S+ t b# H) \- Z
' W+ Z- K4 V% s) N: x/*
" L& \1 X8 ]# _ c * ======== Operating System Configuration ========
. a& k; y1 P1 M, b; ?. D, d2 o: y: y */6 `9 q# S b3 k9 G+ s
- P7 j5 [$ D5 _- R9 N, V/* no rts heap */
0 y& \. R$ t0 n IProgram.heap = 0;
% j( b _1 C9 t7 r% ^1 eProgram.argSize = 100; /* minimum size */ u8 i& B! e) w1 G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& {" H1 N. s) ?7 j4 [7 m, b+ c. i2 M( ?- n3 D* z2 R+ q4 N
/* create a default heap */& q8 d* t- b8 {' h/ B; s. R+ W
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 x# }- ^0 J d/ dvar heapMemParams = new HeapMem.Params();
; o: Z5 ?' i) ^) XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: C( n7 x }7 ^
5 p! c6 U1 H* N8 ?4 G
var Memory = xdc.useModule('xdc.runtime.Memory');) N* F% ? h$ E2 Q/ O1 g$ ]3 t; c% p
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 {0 F# U% K! p; o7 Z6 n, M, ?$ z0 Y7 e1 b" @6 t! o
/* configure System module */
, h) m. d3 b3 X; ]$ s$ b8 L' j6 Yvar SysMin = xdc.useModule('xdc.runtime.SysMin');
& I) L8 Y \! V- ASysMin.bufSize = 0x1000;$ O( |/ b9 ]% }; K0 i, y4 p
SysMin.flushAtExit = false;
1 n' S$ I X4 h2 l' D
" R% d1 q0 @3 v+ ^4 bvar System = xdc.useModule('xdc.runtime.System');
. f# P- _1 t- h5 N% H4 |1 z, {System.SupportProxy = SysMin;
& _# ]# S, R- K' Y3 }
* ^6 x8 `. s# L# }/* configure SysBios to use the lower half of Timer 1 */* y2 H2 ?5 ^" q* B7 l5 ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: S( g" M" {: F3 R1 ^var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 g- x2 S& h0 n" p
Timer.timerSettings[1].master = true;) t6 n c: x; e" q$ H- |) ~
Timer.defaultHalf = Timer.Half_LOWER;9 i1 [7 B9 U9 i
Clock.timerId = 1;
5 j$ E& @/ l) H0 ?9 G4 I1 d
6 ]) K/ B1 e& R* E# G4 H* A- x7 d( r& o# ?; v/ W: D
/*6 y7 ^ @7 W3 y5 `' X% A
* ======== Miscellaneous Configuration ========9 `! H/ e; d$ }8 Q. U& N
*/% t% ?% E6 g& z+ x: P
8 a' }/ y# {+ E& c
/* set default diags mask */0 w) U. B$ a6 k6 }9 B; n$ ^
var Diags = xdc.useModule('xdc.runtime.Diags');
- S) G" |: h% U* n7 ]. Kvar Defaults = xdc.useModule('xdc.runtime.Defaults');
4 a! g8 z! p% X) D. L1 K+ Z; V! ^9 a' x# }$ H
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" m/ E# | Z+ B m, _/ e- T' Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& F9 T$ s, H/ Y4 w( G2 F: s$ i& c
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 A* t$ v8 C* x$ H& G6 CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* g/ s4 b# k2 y7 Z s7 O
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 [- o1 V; K) z2 S5 bDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ F( E% b3 ]8 ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 E+ G7 s9 ^3 jDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 u' ^6 i- f# d7 a* q, r/ {# @$ r; xDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' p4 c" x8 T- t7 u2 d6 m7 Q1 dDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: K8 U/ x7 a% I. CDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# e1 z5 k' ]" Z/ [" e, D4 rDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ Z2 W9 Y: b) J2 ?4 d5 B+ UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 d( d z) `% L7 c0 ^9 S6 e2 _Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;5 c2 w, [: B* u0 _ P- Q! q
. ]! c% d; ^6 e- p. ?1 O8 ?8 l/* override diags mask for selected modules */2 b0 a9 Z K R( e* @
xdc.useModule('xdc.runtime.Main');! _+ a$ V& P# W* `- o! c
Diags.setMaskMeta(( u U4 ^& t) r6 |9 g4 d& o
"xdc.runtime.Main",
0 f( e6 Y) l5 \$ J/ P Diags.ENTRY | Diags.EXIT | Diags.INFO,$ h; Q T& ^7 p) W
Diags.RUNTIME_ON/ f0 Y) l5 o2 ^9 q: Z8 e% G$ \
);
3 x6 L. p+ j' x+ j! T9 o. b
9 u- @, [" i, f: ]0 vvar Registry = xdc.useModule('xdc.runtime.Registry');# I# B, k5 F; C d
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 ~ G/ Z/ t, z2 G. v* }) Y6 uRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 T4 {& k2 ]$ J4 l
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 f' O0 F1 \" T* n- T J
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# L% ?( ]3 q$ F( f1 c4 G
9 o m' e4 R+ I' Z) K$ K/* create a logger instance */ w2 ?4 L: A1 y o
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" }. k6 K9 Z2 l# \ x* T
var loggerBufP = new LoggerBuf.Params();- _; y# i# Q r+ M( B5 c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- }4 H& u7 p I! w2 q' e2 h- `loggerBufP.bufType = LoggerBuf.BufType_FIXED;
+ p* O) p0 k# S7 i3 N9 h8 i' S" [! m6 _7 r. y7 B/ W
var appLogger = LoggerBuf.create(loggerBufP);
" V! W: o% O4 Z! }& o$ CappLogger.instance.name = "AppLog_Core1";; P; Q* b* P" y7 }- _ J
Defaults.common$.logger = appLogger;
; e9 A S: [# u+ NMemory.defaultHeapSize = 0x8192;
- c% j4 `* R+ x; JIdle.idleFxns[0] = "&LEDStatus";
1 g; n# B+ I( tCache.initSize.l2Size = Cache.L2Size_32K;) m0 _! p, L) y
' k, k) i* w6 m7 \7 `! S8 ~0 O |
|