|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 M3 n" o7 l) ?- r) C* S我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 v, P3 U6 h8 U! j1 Y
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 Z2 W* O. ]; Q- C
' ?5 P3 x. S. U) x. _/ W是不是需要在DSP.CFG中进行配置
8 z5 r" h) X; d, v4 ?7 @我现在的配置为' R$ c" q6 d0 M4 U+ ?
& W, ]/ q& G V4 D# ]6 C0 _ H
/*) a+ Z$ { n6 b9 J
* ======== Operating System Configuration ========7 u& G3 D/ z0 F$ J) }; C8 K- g
*/" \$ a* w( |! B) [
. E! _5 l; u- `. `7 w$ C# `2 G/* no rts heap */, X+ L% M! X" R% a* p% x
Program.heap = 0;6 F# P3 S; [) G9 X- D
Program.argSize = 100; /* minimum size *// y" x# q0 m* B& [& b
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 l4 h1 V% s2 O ?
8 W5 r. ^) v9 M/* create a default heap */
! J8 @, x/ w" u- N& e7 e) Wvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) T% k1 U7 o" r+ V' P9 o0 ~
var heapMemParams = new HeapMem.Params();7 V: F/ y( d5 j* L
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 ?9 o3 `* F( l3 \# T
! U% @% o, D4 M* A9 _- dvar Memory = xdc.useModule('xdc.runtime.Memory');
4 _: ?7 B/ l* H6 nMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
) N- @; |. p/ g- r& n% |
4 c' j4 K! e Y) m9 p, z/* configure System module */7 C( X' t' h$ s( Q9 I
var SysMin = xdc.useModule('xdc.runtime.SysMin');& Y6 T1 l" U7 k
SysMin.bufSize = 0x1000;" f% r/ M7 ~! ^2 S$ Q* Z6 z5 \5 D
SysMin.flushAtExit = false;
$ s6 }" I9 ` J& A* l; ?: y- G/ y6 C# M) w0 c3 P5 s7 U4 U( e
var System = xdc.useModule('xdc.runtime.System');
# k, ~6 i4 s+ F* I) a8 zSystem.SupportProxy = SysMin;
$ B s) {1 V4 |/ b* r) Y* m9 ~ d. D$ t+ l" U j" p# a0 y" e# N
/* configure SysBios to use the lower half of Timer 1 */
# N1 d7 a5 ^+ L+ k z5 _var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 ?- A8 ?9 e8 n+ J0 p. qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 m0 P' Z" Z9 G2 Z; p, [ kTimer.timerSettings[1].master = true;
7 t s2 k W1 I' \5 B1 v5 T4 B# }5 aTimer.defaultHalf = Timer.Half_LOWER;
% y" [3 [6 w: ?# W+ x7 BClock.timerId = 1;% s; ^) _% o6 }
0 o% f6 H( P; U# E5 c. ^* h) p9 e# B! l
/*9 [* m. V$ c7 b2 R
* ======== Miscellaneous Configuration ========
. d( \, L- M: g7 U! F- @ */" S4 L- v/ s' t, c* K d, c
% B, D. H+ |* i" ~& g4 X/* set default diags mask */8 s1 Y4 l6 o8 W& B$ f) ?$ W
var Diags = xdc.useModule('xdc.runtime.Diags');- O4 h A+ q9 t
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; D8 r% Y( e1 T7 \$ j: b: T9 _) p4 l; G0 L3 n9 O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 k/ D6 V( j1 u% R( o
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 T E% \5 ] X3 s1 J! xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. Q( @( F" H2 b$ F V a4 p& l
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 b" f8 p+ E3 F; l8 @) p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 n- ?! y+ \$ |2 N9 ?" S4 F% M. v
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;, B% q* r2 u8 U" z3 C
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" t% Z# a$ z4 f6 _" qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 V6 r: n) _7 R( w8 y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 f5 X4 `9 T, G& ^$ C W" [/ MDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& @/ x! ^1 x# k6 M5 x2 T
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) u1 S. ?! }; B- L
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 U) ~* ^# t5 { p
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 c* j0 ~ [% y7 B3 RDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, r# G% d, p6 h, C
4 o+ A* Q& m0 Y$ h/* override diags mask for selected modules */. G: j- G f8 s m9 q
xdc.useModule('xdc.runtime.Main');
H+ k) k0 Q1 }/ m* IDiags.setMaskMeta(, s* ^) r. \3 x+ F
"xdc.runtime.Main",) N, v6 l1 [) U
Diags.ENTRY | Diags.EXIT | Diags.INFO,# U+ A4 v, }* S. B, h+ g
Diags.RUNTIME_ON9 D1 S/ T# ^" y) E- x5 Y
);5 K6 G: d& {) J7 [8 t j( v$ i
( t1 p5 r, E( l, g$ k6 C- rvar Registry = xdc.useModule('xdc.runtime.Registry');
. [- I k+ f! ?7 Y8 R8 D7 h) `, K. n4 dRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; b! R; T0 [: }8 N% V7 l, |- w2 ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 U3 `5 O, T, }* Q% mRegistry.common$.diags_INFO = Diags.RUNTIME_OFF; B1 v A; i v) S0 ~/ J$ V% v, g. }' a
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 @* o5 |5 {, }& ~
) o. f4 X9 n# u8 [/* create a logger instance */* c' t( `1 a. v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 X: U0 b; ] |* q# jvar loggerBufP = new LoggerBuf.Params();
4 i. I6 v* i% ~3 ?# vloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 w3 T( t* O& c# m) RloggerBufP.bufType = LoggerBuf.BufType_FIXED;
: e$ N u) ^- u8 |- l r( I
( V; @ L% h/ x0 P s# Ivar appLogger = LoggerBuf.create(loggerBufP);) \) k7 d3 W, G- U
appLogger.instance.name = "AppLog_Core1";
# R1 Q0 o0 Y. _Defaults.common$.logger = appLogger;" m- p3 b+ P+ T/ ^9 R
Memory.defaultHeapSize = 0x8192;
/ ]) n5 K0 H2 @ SIdle.idleFxns[0] = "&LEDStatus";, r4 I' v& f% G7 b* o5 s
Cache.initSize.l2Size = Cache.L2Size_32K;
& g$ @& W. c B
I- ?. z( Y4 A2 {' K7 [* [ |
|