|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, V2 Y, x+ o$ u/ e* z* H
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 M) |; w% E! h2 X7 a6 j(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& @. f4 v) R% ~) L! Q& E
9 z$ }4 `" C! ^5 q$ w是不是需要在DSP.CFG中进行配置
1 |1 \/ o, G5 K9 M我现在的配置为
/ A: @$ A3 `2 x+ H$ R$ ], U
5 }$ x3 i- q1 f" K6 s/*
6 s1 m! ^7 P, `( Q c* U * ======== Operating System Configuration ========
$ O8 E3 z# K) {' t& e' c m */2 m9 j/ `8 u! D! G
7 z( \) _. n8 Z! h/ a
/* no rts heap */0 Y/ Y& ^- g9 B
Program.heap = 0;
/ x' B$ Q0 y, i+ Y6 b( U7 `. @Program.argSize = 100; /* minimum size */
% W6 M1 L6 i' z4 E, AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大6 ?5 Z: r5 `1 G) J
. b, F! b% k% a8 O( ^
/* create a default heap */9 I A5 W7 b/ R: x* @8 D; `
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. j( K* ~! H3 W! C
var heapMemParams = new HeapMem.Params();; f6 a7 @" \# \+ E4 g
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 R1 \. Y" a# k% h6 _
: l) c7 _ o* r" U/ r wvar Memory = xdc.useModule('xdc.runtime.Memory');5 x( C Z+ p$ ~7 L: p; a8 R- K# V
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ a# ~$ W, k. g* ?9 }" p
) t4 a/ ?: w: O
/* configure System module */' z& T, t. l+ m5 c5 c; `
var SysMin = xdc.useModule('xdc.runtime.SysMin');
. R q# A& f5 ~& o2 E" S+ z+ r/ l RSysMin.bufSize = 0x1000;
7 J0 f. n0 }6 G$ k1 eSysMin.flushAtExit = false; ^" r% C% e) p3 b
, v" o% {7 o' \6 V" Y+ L' |
var System = xdc.useModule('xdc.runtime.System');3 [: U: m2 |7 h" Y9 N& e4 F5 H
System.SupportProxy = SysMin;
9 O8 X* e# G# n" m7 m O0 N; p i7 u- `9 @" p* N
/* configure SysBios to use the lower half of Timer 1 */
+ f; |/ }, V$ ]0 X$ l; svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( [* \' r0 C1 V* A+ o1 j9 t
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' I+ d. f( u6 m# T
Timer.timerSettings[1].master = true;& v `" c5 C0 _1 }) t- g: R9 p- ?
Timer.defaultHalf = Timer.Half_LOWER;9 [- Y0 Z! W- B/ N1 Y6 T2 b
Clock.timerId = 1;7 t6 d+ g8 _7 O' }' n9 M% G
: f( M4 i. H% S# _2 W0 `" ~
2 a3 F: F5 Y w/ Z# G+ {
/*
8 D; R- Q$ M8 N) f * ======== Miscellaneous Configuration ========7 h6 ^# o$ e* [. T' S5 v6 s
*/
( ?. Y. g2 x, R* y9 v
/ z! M5 E. w: Z+ A* M' q8 e- X+ i# X) G8 q/* set default diags mask */
7 z. Y; X6 _3 {( a Q7 Pvar Diags = xdc.useModule('xdc.runtime.Diags');
6 @( t4 @- f( f& z" N; m+ qvar Defaults = xdc.useModule('xdc.runtime.Defaults');
0 D9 M1 R: L" r/ @+ y+ v% M0 _( p5 {# l# z* {
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, n/ ~) p3 O3 I! t. X
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' w c9 |5 `5 x* O' C0 B& i" a# j
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, n2 N9 s% S* TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 k4 \- {* H( i, z7 B1 CDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
% h, E4 h: X% Q5 ~3 VDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: K# m/ V1 G- x I1 M* Z5 a5 @Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 a5 m5 Y: n# o" \1 d: {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, e( i' `0 w. i7 g0 O6 H5 s9 m, D. e
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 K( |, {& e$ t; m$ K# a7 J5 q# ^
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ r. q, w$ b2 C9 _Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 h( e* z, e" u1 z# i
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# ~4 Q; L& ~; `2 f, b: K& T8 JDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) v/ p2 a% u4 n# m! ]' L$ E' V" s+ PDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! p- {# Q8 T; o8 h
) L9 U9 V" o4 [: X5 i6 J7 m/ d
/* override diags mask for selected modules */! e1 N, l! n; z6 M, i* q
xdc.useModule('xdc.runtime.Main');# F- ` o" Z1 _1 K6 e& N; @" H
Diags.setMaskMeta(
# ?5 T8 q# f; W6 F$ D: v+ x& K "xdc.runtime.Main",
4 W& y: P5 \1 y9 ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,
* o+ ]- M( L ?; s* U Diags.RUNTIME_ON
; s$ \# _2 A; c& U);
- H5 r2 |; e# J5 B& l6 n. a6 Q/ b ~5 b. E' _3 b
var Registry = xdc.useModule('xdc.runtime.Registry');
4 l1 e/ m8 M' c) JRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: {2 b0 ?$ a I7 E& U7 @$ [ X
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; j6 U5 M9 e) l+ a) qRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;8 s8 v* g( ] R) y2 ]) C& _3 f& D( B
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ D& M/ p; U; N7 U: J G4 k; f" t
8 p- T/ ]" D w, Q
/* create a logger instance */
3 u/ n5 A/ l; `. N- d! `var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');5 X2 q: M6 z0 Q( Z+ U$ u# p
var loggerBufP = new LoggerBuf.Params();
9 U" U; G% A: T- F% p" o3 UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" L! w# V8 ]+ lloggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 ^% d5 @6 m1 x- X& `& X9 S9 E. u
: x$ ` {& l- z9 mvar appLogger = LoggerBuf.create(loggerBufP);1 s' @6 ]: z" Q S* M
appLogger.instance.name = "AppLog_Core1";( Q( \3 ?+ {: d) l4 N4 R
Defaults.common$.logger = appLogger;6 g, n. p2 V7 \
Memory.defaultHeapSize = 0x8192; ( X+ h7 Q% @/ m0 j) x4 t8 U, o
Idle.idleFxns[0] = "&LEDStatus";7 o0 G* E4 Z( G# w' C
Cache.initSize.l2Size = Cache.L2Size_32K;
) _8 F% o# }% b
! o" O& h) Q3 ~& {4 T |
|