|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* [/ e1 z6 K8 p& O* w我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& V6 I" b* |2 w/ H(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; r* V; {0 P. x2 b- c+ r( _. _. N/ q6 W2 i S) @& h( i4 [
是不是需要在DSP.CFG中进行配置
, \5 H" o, J( k# `3 ~我现在的配置为
6 S( @+ B; J, |2 Y+ t' [' |7 d# y; s2 O* x! c. ?
/*9 P4 H0 U9 Q5 \' p
* ======== Operating System Configuration ========5 e" P& l& F3 X3 V
*/
2 `2 F( d. h, B: s$ H+ h: L
8 ^4 j, N9 `+ }) w( J# y! p- {0 U7 J% y/* no rts heap */4 c, y; Y( D- w2 i1 b
Program.heap = 0;, |9 w6 _6 B2 d3 A, Y
Program.argSize = 100; /* minimum size */& h# R3 p8 n. z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, t/ Y2 J1 n. z, B! z- l
4 o7 j* U! |+ o6 A, A0 \+ s/* create a default heap */, J' b9 N( `. s& s! y; v+ J
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
7 q3 i% p; h! }var heapMemParams = new HeapMem.Params();( L3 f" Q( R) X! b; J; ^
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ n+ B. W7 Y( r. X& p
/ G# I l0 M" C& i
var Memory = xdc.useModule('xdc.runtime.Memory');
. W; J5 c8 f# s* v# JMemory.defaultHeapInstance = HeapMem.create(heapMemParams);5 J/ h1 i/ x1 S% p( B! H
% w; S) ]* j+ h1 a) u
/* configure System module */
) l, p: P3 e0 n6 ^3 t3 z2 Nvar SysMin = xdc.useModule('xdc.runtime.SysMin');
6 z- B4 Z2 v8 DSysMin.bufSize = 0x1000;
0 A, g3 H" e; FSysMin.flushAtExit = false;
' g9 w8 g# u4 f0 P; j4 `( c$ T ?0 G9 J1 n. Q
var System = xdc.useModule('xdc.runtime.System');8 i( h8 m# t& U9 `# B
System.SupportProxy = SysMin;2 p7 L P- q9 s0 S* y
6 @0 D" Q( \+ \7 L" u, Q
/* configure SysBios to use the lower half of Timer 1 */
! v' A4 Z0 }7 Kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 {. x' W2 m5 u4 D9 N8 h6 g J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');. s6 C5 ^6 ~5 I; J1 q, A
Timer.timerSettings[1].master = true;
1 l8 p+ j( O6 @) T* F: d9 M! O/ |Timer.defaultHalf = Timer.Half_LOWER;# q, S6 ^, n5 c. y
Clock.timerId = 1;
: U+ Y4 u, O; x6 D9 `" Q. e! o: b6 z- w9 H+ C* W5 @) T/ r
. m: `7 E7 G+ A
/*
' [4 w2 p+ q8 r$ @ * ======== Miscellaneous Configuration ========3 P! B$ K2 K7 z* E1 H+ I5 D- I( s
*/3 x; T# B# ^6 u0 Z- V, b
; c: o) Y9 f6 d. d& ^0 ]/* set default diags mask */5 M5 S; u9 K7 T2 F5 m2 u
var Diags = xdc.useModule('xdc.runtime.Diags');$ y7 t! D' A8 [! t/ d+ s! o
var Defaults = xdc.useModule('xdc.runtime.Defaults');3 f+ k3 G9 C; X. i
/ ?* B" G2 m1 H) v
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) a$ Z' T; i( \9 D/ U% B' oDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% u0 c9 a! S% g# y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. y' T9 o' u& T9 oDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 H2 ?- c2 ]" d) D! P
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 T: k4 [# d+ C- K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. \5 r0 B4 [& b) j% \! CDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' P+ V/ f! Z0 Y0 P% |: J/ \Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ S6 l2 G0 ` m3 C, q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 w4 p5 L4 o' i; Q1 j3 G) nDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 B9 R, {: i3 N: A) k
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 v2 A/ l! j5 x+ O# |0 oDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 t: H6 [, j" B% q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 I7 {8 H3 w/ T# l1 H# uDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( r( \) S: ]: ?% J9 e& ]$ b8 G; A6 K2 `; K
/* override diags mask for selected modules */# `& S; }% p# z" s2 P
xdc.useModule('xdc.runtime.Main');
8 u% r/ b/ O& UDiags.setMaskMeta(
' s5 I9 b: P1 x* f, x' z2 r( C2 p( Y "xdc.runtime.Main",: ?) b5 A% x8 _' I
Diags.ENTRY | Diags.EXIT | Diags.INFO,% k/ l! P! ]% c9 U6 Z$ k
Diags.RUNTIME_ON$ z1 \6 y, ?6 f/ l
);: b9 m8 L. `# O: g! o
! V+ \) Q9 {; R# D$ U
var Registry = xdc.useModule('xdc.runtime.Registry');
: U' n, G8 j) J# Y8 r0 j( fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, Z( Y; B" C4 v2 a* ~* x; x
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 ?" L7 P7 b# z) }3 P5 V3 l3 z GRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 f6 Z$ U+ V* }4 zRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 E' K* ~- o8 l: m8 S$ w1 H- Z/ x( X r& a ]
/* create a logger instance */7 d9 s( X9 y# V3 r/ H! ~; q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& J( W7 z: m3 I) l( Q( P3 @var loggerBufP = new LoggerBuf.Params();, U! ^& {* u" U3 m
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 n& l% N/ u' i2 i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 j( O) k1 y. t; k% f# p& }. [6 @1 ^
) ]2 v0 w, E# g, K% b
var appLogger = LoggerBuf.create(loggerBufP);
5 A4 }$ c0 @' _appLogger.instance.name = "AppLog_Core1";
7 W& {" g2 X. r8 EDefaults.common$.logger = appLogger;
0 z4 I. J t% d5 W, H# ~. YMemory.defaultHeapSize = 0x8192;
; Z- F9 J% ?/ ZIdle.idleFxns[0] = "&LEDStatus";
~8 K$ W% y8 ~1 F9 mCache.initSize.l2Size = Cache.L2Size_32K;
( C% N" S9 w; {: {7 v6 m" D% z* z, n6 d2 C4 G! A) R6 b
|
|