|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- b( W4 {9 K5 m e7 l2 v我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. T2 p" B- l, s2 q- ^0 d! ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 i' F2 u+ w; @8 a7 w
$ z5 V" s, w d
是不是需要在DSP.CFG中进行配置! p. q7 t6 O9 G" f* Y
我现在的配置为" W( W, u3 t, v8 U. I+ Z* n
3 q) s5 W+ a( R9 d/ R3 O8 F8 V/*
- M3 k1 v5 c6 O( h, X * ======== Operating System Configuration ========
& O" s; {. i3 ^3 K */- ~# e/ h* Y' k, j
' X; E- p ]! D7 _- `5 [7 \0 l/* no rts heap *// x% p9 \% d- X: w2 e
Program.heap = 0;
2 H# p& h0 [6 d# D7 k7 [* G6 WProgram.argSize = 100; /* minimum size */- W$ Y, E% s7 J' G, ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 ? u( z0 `& d4 i q' G7 S9 [
. ]6 s3 d: s) G# S/* create a default heap */
, I: G: i7 Z, Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 g3 M; t4 m9 l7 \$ Jvar heapMemParams = new HeapMem.Params();8 f4 z% w2 r6 u! D Q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
( W( u/ S% n/ h/ r' W% f$ a2 G+ Y+ d
var Memory = xdc.useModule('xdc.runtime.Memory');
r! X/ U0 E1 ?" MMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" R% Q x6 n+ r8 ?0 e1 h0 I
! t2 M- I& ]! n1 t( ]( e- h5 f/* configure System module */- S/ J; h& G' W' P! R- P0 f2 G
var SysMin = xdc.useModule('xdc.runtime.SysMin');
5 p: [$ Q' j+ v) _/ ^" q% E9 GSysMin.bufSize = 0x1000;
2 B3 X) b& I. ?$ N& xSysMin.flushAtExit = false;
5 V$ E( F$ d. r* g1 j/ M% f! E/ f7 `1 J, x7 i+ h. j
var System = xdc.useModule('xdc.runtime.System');
" i1 V2 q! t3 @0 e" {System.SupportProxy = SysMin;% Y8 f6 \ q6 C& B) L( @
% N& \( v8 t3 Z/* configure SysBios to use the lower half of Timer 1 */
9 h! E, ^9 T2 W1 ?6 C6 [5 q- H. Hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, t8 j2 K% M4 D- s f5 q. a
var Clock = xdc.useModule('ti.sysbios.knl.Clock');* H1 m% P x' Z9 A- K, ?! I
Timer.timerSettings[1].master = true;
; o, j- e4 d4 @Timer.defaultHalf = Timer.Half_LOWER;
. Y# t5 |% {$ E7 c# AClock.timerId = 1;, R% F% e: i, w; f7 W
9 [0 `# o% K/ u6 q4 A
) `" ~ _6 k4 E2 c* M$ m3 s/*
9 d2 X/ U {5 d+ U * ======== Miscellaneous Configuration ========* j, A) Y9 `9 I) l; `1 D" k
*/
M Y: W3 m7 d: f: m
. c$ F6 r2 H+ I/* set default diags mask */ b, a( p8 F5 s% P7 o3 Y! d
var Diags = xdc.useModule('xdc.runtime.Diags');
& ^' Z& [; Y5 jvar Defaults = xdc.useModule('xdc.runtime.Defaults');) q& l3 S% g. V0 O* @/ H4 k1 k
! q* a6 J( E% H9 B3 b5 ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& k9 \2 P( ?- {% o2 IDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 `" }8 `, ?" R. Y( O; l
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; ~! m4 t3 G, q }+ a2 w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' A2 c2 j. X( t7 _& T: s2 MDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ E- T( |+ K, J. T! J& H( N
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;, T5 g$ r5 s' _$ i4 s, P
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( Y4 ? B& z$ K) B; u$ ~) b
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 s- b, [$ M" u5 P$ f* w5 C
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- W2 D3 I* p3 |+ E( |5 L! b! ^Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* M8 _) j4 O. j+ y. ADefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 x. J2 A% n" s1 vDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 g; z1 T' d0 N1 f3 \Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! N) W. i/ E7 O/ }
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ u7 N# u' X6 d
, j) i9 R+ v' l: p" _$ m9 n/* override diags mask for selected modules */* ^: e, n8 G, B- n& Y% G
xdc.useModule('xdc.runtime.Main');1 `1 J3 p0 V- l3 p
Diags.setMaskMeta(
# d" s. p: f' o" D5 c. d3 O "xdc.runtime.Main",
3 s$ e! G! H+ Z: h* k | Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 V/ N6 ~0 L, g6 B) b7 @ Diags.RUNTIME_ON9 U. p s/ v: V2 T
);; j( I. j7 ?7 |0 F* z" K
% Y2 q! f* e: S1 q/ i- J- h5 |. S& Q
var Registry = xdc.useModule('xdc.runtime.Registry');
% w; t1 Q% }* cRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 ?2 p! E* b/ K& U- k4 E6 H, cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
g, S5 m- q. y3 X( DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* T2 t: Z* n+ m
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. F* p |$ {6 M, I# _2 q4 u i* c, p
/* create a logger instance */
6 {9 @; F( Y4 ~# O3 O kvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' g; h8 F. K2 f' o
var loggerBufP = new LoggerBuf.Params();
3 d2 v [' I5 `, q* \0 T& HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 B6 Z5 E) N; V/ z6 v; g! ^3 ologgerBufP.bufType = LoggerBuf.BufType_FIXED;
0 X! N4 N1 X4 K; t" G( ?, [7 W X1 w0 a- J, n) ]
var appLogger = LoggerBuf.create(loggerBufP);
+ r; \. s$ Z- p5 U2 ~$ t' bappLogger.instance.name = "AppLog_Core1";$ U; q/ X4 V) @4 ^6 K) g4 I1 O, Y3 F" v
Defaults.common$.logger = appLogger;
7 ?6 \* u' Q: t! cMemory.defaultHeapSize = 0x8192; " I7 F! W9 n( i
Idle.idleFxns[0] = "&LEDStatus";5 @8 V( m& t9 U! M& [
Cache.initSize.l2Size = Cache.L2Size_32K;0 D9 z& {- p( i" v& _9 A9 b0 Z
' m% J% x2 u: g4 F |
|