|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 ~9 }5 A/ b; B我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, E1 @% P1 ]3 i1 X1 I7 ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
4 L( i- J5 f4 i J
& K7 P9 c% y" S- q- x) Y( s+ H# y4 M是不是需要在DSP.CFG中进行配置
1 W: U8 e3 J0 u& Z+ D, B/ @0 Y我现在的配置为7 G) U- c+ {, J1 L2 D8 F, o0 k
* z7 Q8 u; v! n5 m2 p. K/*
9 o6 r4 w) q9 S& q! { C- n * ======== Operating System Configuration ========4 q* T9 F9 s6 `) V8 l8 l
*/, c; v# M$ I5 A
9 A0 u2 N+ D5 H) b
/* no rts heap */
8 j% @$ j+ ~! y) j; rProgram.heap = 0;
6 q$ }5 {4 ?2 ~( N* A: FProgram.argSize = 100; /* minimum size */
, ]7 s) B# K9 f3 JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 z( H- m: r! N# C& ]( _$ h) x
1 f. W6 d, N. I* e& L4 P# @: S5 o
/* create a default heap */
) w+ B9 Q+ ]: Fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 w) L+ y( i9 r8 I+ f# x9 @
var heapMemParams = new HeapMem.Params();" }! x9 e! A1 o# a& c, O3 i* C# X
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 z7 b* Y$ V* i
7 i$ Z2 D. ~# d3 ]. P" l- cvar Memory = xdc.useModule('xdc.runtime.Memory');
. f8 O: z! W2 y, X" E$ m+ kMemory.defaultHeapInstance = HeapMem.create(heapMemParams);- v8 E, T! K! o0 J' S
6 [0 t9 P# o6 ^2 T4 f8 X% ^/* configure System module */ ^1 j4 I3 X) g+ n$ k
var SysMin = xdc.useModule('xdc.runtime.SysMin'); J" F) N( Q8 l( F: j
SysMin.bufSize = 0x1000;
# t9 R# u4 Q2 Y; }% u8 H4 oSysMin.flushAtExit = false;. V* J% ^9 C+ }' l
/ A& C: ?- |0 ?var System = xdc.useModule('xdc.runtime.System');7 Q' R: X( F6 i8 i5 O! ]3 Q
System.SupportProxy = SysMin;# x: |$ z) Y L4 \ C: R" I
9 J) A' J& o1 e
/* configure SysBios to use the lower half of Timer 1 */" Q. D' `- C( L( ~1 l% P# k7 Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! B! F* D! \; Y. s' r) V5 C
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 c, q% z$ Q" C1 b aTimer.timerSettings[1].master = true;; I2 Z+ y' d' E- S) k
Timer.defaultHalf = Timer.Half_LOWER;$ F4 ~1 r$ j9 ?
Clock.timerId = 1;
9 z0 j, i+ g* i/ I0 @. Y Y# |8 Q% l8 b3 g$ W3 |
$ q% F' T8 m1 M1 j% D' U/*) e! P/ ^9 {! @7 k; p9 x
* ======== Miscellaneous Configuration ========$ ~* s3 o& o, ]9 ?
*/
' y! D$ \1 G; |8 D
w6 f6 b8 m C6 W' p: M( [2 ^/* set default diags mask */
% a- D- m/ q+ s# a/ C6 `# Ovar Diags = xdc.useModule('xdc.runtime.Diags');# j4 }) g7 R) @6 \. w J
var Defaults = xdc.useModule('xdc.runtime.Defaults');- ]0 {' t% k2 h8 i" j
8 N2 F, C3 H5 {- l% Q+ ^7 L7 B) sDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 k/ D) V# k7 O& W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ y# ?/ g8 G) S+ cDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 ]" X' T* e1 l; Z; A
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 Z* Y! H3 C. J2 u9 p" uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; L M. T. D" z0 V% A# o2 I, o- q0 O5 zDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;; `$ ]8 ]4 L0 z/ N) Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, o+ T' V, |- r- M$ X6 g- q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; w: x9 ]' { ~' H: C, G4 YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% c' E& ?( X/ j* BDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 _- Z5 j1 Y4 Q1 dDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 o) t- f+ A y3 s8 m1 J' m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 l: W. |" ?% v( ~& c4 ]$ kDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: a% q7 n! V6 Y6 O: E; tDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. L) w! J/ k' H; s% Y; R) e
6 J6 g9 W2 L* k% w/* override diags mask for selected modules */; ?8 r H8 ^: p
xdc.useModule('xdc.runtime.Main');
# a4 [4 y/ u; f8 KDiags.setMaskMeta(
; o: ]2 \& D5 v( X/ W$ v* O5 @ "xdc.runtime.Main",& v7 \. @1 `( `: R$ `
Diags.ENTRY | Diags.EXIT | Diags.INFO,
1 V& Y" W+ l5 Q/ p; ~8 ` Diags.RUNTIME_ON O8 h/ h- M1 \! K* ?
);- p2 {/ z6 K1 p8 E) I3 s; \9 @
+ ~2 B: R3 e* K! E: C5 e
var Registry = xdc.useModule('xdc.runtime.Registry');
. v/ `( ~$ t/ Z. QRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* ]( u+ w* i" C1 @4 `( B$ _4 N
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' g0 e$ Y1 l6 bRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;: }: T/ C5 o+ g9 v n n; ?( h
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 d4 p. K: z2 ?8 ]3 o
% u3 {7 X# s7 E/* create a logger instance */
2 A% v9 C6 O u0 f5 Cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 p% H6 N( y* X1 }. ^# E- B$ dvar loggerBufP = new LoggerBuf.Params();: |0 J5 ?' _. B# y4 {$ f
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 U. k% a' v# C* t5 R! f
loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 _1 S# e r9 K3 a
) m. k+ e6 k. T6 s# i" `- e
var appLogger = LoggerBuf.create(loggerBufP);
! N( V0 Q# z' U P/ MappLogger.instance.name = "AppLog_Core1";% S# x. E, |1 S3 h% d
Defaults.common$.logger = appLogger;
- Z, _9 n6 l3 H4 l* T3 Y( ]Memory.defaultHeapSize = 0x8192;
, ^' ~ ]2 n, |2 [6 _' \1 ZIdle.idleFxns[0] = "&LEDStatus";# O4 X `3 @) I; p# O
Cache.initSize.l2Size = Cache.L2Size_32K;$ ~+ ~& |; P) n, Y* g/ ]4 p7 z7 G
( ?5 H4 B* g7 c9 g
|
|