|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ @% |8 e* v- H5 W+ Q( s/ @& V
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 f6 A3 J: }* w3 F0 t+ Q- \
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" C2 c; {* ]. k( ~+ d
9 b; B& t8 u+ q5 w1 z) v6 W
是不是需要在DSP.CFG中进行配置
: F8 e" L0 e3 _' `7 D) g7 P我现在的配置为
* E+ m9 ^( b! `6 [
1 ?- I [+ w* @/*# ^; _, ~ D0 D# r) s
* ======== Operating System Configuration ========6 x5 ?. X5 O" o
*/9 @8 d! O# L5 N( S
6 `" z2 P$ ~6 F1 S/* no rts heap */9 J( ]% J" U8 {: Y( L# ]
Program.heap = 0;7 L _$ {/ X1 Z L# _8 |
Program.argSize = 100; /* minimum size */
% }6 I" @7 q, L, n: y8 |( P& `Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ p. c- t$ p5 x& O. u- [
6 l B5 l2 y1 A8 q# ~3 L o5 B% G/* create a default heap */% Y, E- x, p$ g" W3 c
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- h- q$ O M H6 V) x
var heapMemParams = new HeapMem.Params();
6 J s% [* H' b+ e7 pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ @* p# y- S0 x
; s5 q; T. P/ o6 O: K4 ivar Memory = xdc.useModule('xdc.runtime.Memory');
; j" S$ }. o( r# |: \6 t6 iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);& W( k k. r# z$ x+ E* q5 Q) x: P
8 |( m/ o; s* A) J
/* configure System module */
3 k8 u2 r- F& q% e" _# @' e% kvar SysMin = xdc.useModule('xdc.runtime.SysMin');
% C8 |9 R, i0 l/ Z; xSysMin.bufSize = 0x1000;" v4 K' P, X) E7 \
SysMin.flushAtExit = false;, k, X5 ]: ^, R& R x
# _; S& s) v2 Dvar System = xdc.useModule('xdc.runtime.System');. @9 k' Q/ v' _& U0 |# g4 A
System.SupportProxy = SysMin;& z' l: w( \6 n: E! H3 n* ?0 q0 s
. |" e' L, A* i/* configure SysBios to use the lower half of Timer 1 */
. l) G6 V3 p4 K4 F) e7 vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& {* r& a7 B- x' f
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: T& ]; @8 D, C: z3 N* v& h w2 hTimer.timerSettings[1].master = true;
L8 l0 a* S3 L" a! iTimer.defaultHalf = Timer.Half_LOWER;- \: \% @* h4 U
Clock.timerId = 1;# k6 i% T5 K' w- t$ l
% r1 N1 l+ D6 f: Q+ G: q7 }: g
V) u4 O; X. n5 s2 t/*
5 c5 P1 u0 z# Y8 \1 f5 r * ======== Miscellaneous Configuration ========4 ]( X5 ?5 O: b6 q2 M/ m
*/
( T7 l+ }" A# b# B* @6 l* v7 y; `8 ]/ L. u
/* set default diags mask */, |+ B3 T% s# J- m; |1 ?2 Q( @" i
var Diags = xdc.useModule('xdc.runtime.Diags');
3 H+ X! U) J7 Kvar Defaults = xdc.useModule('xdc.runtime.Defaults');
' C, P1 t8 z; s
4 u D" a6 u) v2 l% z! y- w, kDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% e* ~9 H4 G& H9 C' H" T
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 [% Q2 ]5 F. L) HDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, }. \- t9 ?0 S2 S% \2 N oDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 t4 @6 \+ t, i" ~3 V% _( zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# B- \) o* m& n; a aDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 y/ N$ f9 h$ K: R( ?# N- o
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 `4 X- i" n% D/ b
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 [3 f n1 {4 T! c+ q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ A6 } L- a7 f9 b
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 @; x- v* V4 ~+ v" X8 _Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) g+ O* F, w {! F, i2 mDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- G+ }1 T" q& L& C1 G! UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! k% S6 g/ q2 N: iDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' b6 T P% h8 B3 @! g2 }2 J8 J* p. \- Z; a* v! U0 h. ~2 V4 d
/* override diags mask for selected modules */
t# F+ G* n/ ^% [+ Hxdc.useModule('xdc.runtime.Main');4 R9 l4 t+ Z& L+ \$ m
Diags.setMaskMeta(
& |9 K% U$ p$ M. d "xdc.runtime.Main",9 W. h( `0 r m) K- d* Q
Diags.ENTRY | Diags.EXIT | Diags.INFO,( |7 k; m' `2 m7 M9 I! z4 f! ~
Diags.RUNTIME_ON! q- F' c4 F' i5 I) y5 x
);
" p6 V) Y, u7 P% K1 H
/ H9 p7 E) t4 q- r5 i3 d& C# ~var Registry = xdc.useModule('xdc.runtime.Registry');
1 i1 x% P& l/ ZRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 v7 @- O( }& N7 Y2 `2 RRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 X9 `: h4 ^; x+ F: q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. c& ~1 G& J; e' Y0 c" V
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 e* R9 X9 u' B; \9 V) l7 j0 s! B# V4 |; d5 }
/* create a logger instance */
, u4 E: o& ~2 \% B: Z# W1 p; Rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" r+ i0 O" d9 {var loggerBufP = new LoggerBuf.Params();. B& F, d! F! x& o d5 r
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! R- w/ [# h8 A" M3 r% S0 N
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ f) i# y' |3 x! W* n; Z5 Y
. q# i0 {" L# g K) Y g* }' yvar appLogger = LoggerBuf.create(loggerBufP);
1 S: g: D3 t, N9 oappLogger.instance.name = "AppLog_Core1";/ E1 g2 e6 W! C- e9 c% [
Defaults.common$.logger = appLogger;2 ?0 R. D( }( V- }; {
Memory.defaultHeapSize = 0x8192;
' f. {" z7 l7 q3 g3 BIdle.idleFxns[0] = "&LEDStatus";
% B( W) W' V( u" d {. pCache.initSize.l2Size = Cache.L2Size_32K;
/ n5 ^- c8 F9 t' ?; c! y# U1 a' p( Q+ ~
|
|