|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 l. D/ E S# a8 ^+ }9 b3 {7 S# W6 j我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 [4 K( H4 C) o% k, t9 K# c9 J(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" N# O% E" u0 L: u
j9 R# S- k% S# b9 V; q是不是需要在DSP.CFG中进行配置" b/ d: g+ b0 k
我现在的配置为
9 Q" \+ Y9 Q2 }6 Q# P4 ~. F2 I' Q/ i; N! o
/*0 b7 K$ l) U5 }. F3 w
* ======== Operating System Configuration ========
& Z% s+ D8 h' F5 H3 j */
! B* v" l0 \1 b% v" p6 P. P5 i% ]. ~0 Y; I) o _; l0 W
/* no rts heap */0 s, N! i& |, W4 T" E( w6 a& p
Program.heap = 0;
" j, `% m& _, C0 TProgram.argSize = 100; /* minimum size */$ h# c- K/ Y1 k7 Y) W
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ J, N9 W& H9 K+ r2 A
4 L. I- q. D# W$ p0 k5 a& |/* create a default heap */, {& y4 z! E6 W7 Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, ^: U' g% u$ P1 N1 Z9 N
var heapMemParams = new HeapMem.Params();
$ \3 m2 l; C& g/ ~6 _: ` mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. f" N2 j/ @+ W# B$ M5 j! ~$ j- k7 `* }0 W8 b- n. ^9 b
var Memory = xdc.useModule('xdc.runtime.Memory');
' i% S- e$ u- i/ g/ cMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 v4 Q; v+ t/ A' `- a& D2 ]$ G# b
/* configure System module */
6 H& D: _3 T6 D& ^+ avar SysMin = xdc.useModule('xdc.runtime.SysMin');
) R$ ]; Z* `% OSysMin.bufSize = 0x1000;& B8 ^% [% f1 W4 y% |
SysMin.flushAtExit = false;+ T) {- E# m: {5 U" N# Z+ M
- X: X0 n# [" Cvar System = xdc.useModule('xdc.runtime.System');
" b+ ^* @7 x4 fSystem.SupportProxy = SysMin;
! Q6 e. g6 T4 G: F! ^: G- p& V
3 K( C) b) x6 {5 j/* configure SysBios to use the lower half of Timer 1 */6 r* d: A; f! ^1 y1 X# g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: c' } J3 @2 i# k% N' kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- a: o) r6 g0 i+ m
Timer.timerSettings[1].master = true;
/ f0 C/ `8 k' _# B( A" Y& w4 VTimer.defaultHalf = Timer.Half_LOWER;
/ ~* i4 R$ N" G; B% dClock.timerId = 1;
7 X7 a" n* B% \2 O5 K
\2 e1 W* F& P6 t2 T' M9 z7 t- p; G5 h
/*4 d) A a. e+ G- E5 F, u
* ======== Miscellaneous Configuration ========2 [) b- U( r+ j0 I+ c: B0 }
*/
1 [% q n8 x: H, Z+ k1 L9 [# H5 y4 L% ~" m
/* set default diags mask */9 {- u/ D& l' u) \$ X
var Diags = xdc.useModule('xdc.runtime.Diags');0 l+ V) N3 c# k* x$ a7 m5 b
var Defaults = xdc.useModule('xdc.runtime.Defaults');9 `% O8 @ e! P% k! ^ u8 H- D
( {( e: g) m* _! I( S8 a/ _
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; C+ K- e7 f% [, b2 I
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- @& g, L# ~4 H: uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ x% a# A% y) h9 M
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 P* O* b+ ^) v2 r
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! R; o9 b; p6 C& L, \7 m& ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% ?" y# K* o3 d4 Q: w+ ]: W' ZDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ N+ D i' u' B8 MDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 c k6 T4 t5 r0 k3 i3 h8 uDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 G" W4 E4 J8 V8 d9 FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 ~% W* J1 i6 ]) c6 sDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;9 f$ w- ^9 I5 p
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* p+ W" p" \3 {Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 j; g2 p% c& z" FDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. e' ~: r8 P' G6 u+ S; i
& l! ~' R8 x% K
/* override diags mask for selected modules */
$ E4 @7 P$ N. i. w- zxdc.useModule('xdc.runtime.Main');% E8 u! ~2 V- \
Diags.setMaskMeta(
_% u, x _( m6 z% R "xdc.runtime.Main",; s9 O( `" x8 L) \1 H/ Z
Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 j4 @, b4 H1 I9 J Diags.RUNTIME_ON- Z9 V- E% `5 e
);
: A6 U- y( ]7 A) {$ a& X- n* ]. X% Q2 r3 g1 l: y) O e; X
var Registry = xdc.useModule('xdc.runtime.Registry');6 M5 Q5 R+ r4 l" ~. \; N
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; x9 q6 N; l) H$ _: i: @7 _4 }* o3 c1 g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 k+ w8 W1 o% {& Z C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* ~& `, O# y" n0 H
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 Z2 d9 F B+ l
3 Z6 W/ U( q3 j: ^/ p( e4 B
/* create a logger instance */5 [. B; r( b4 M
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
1 s; f8 ^/ V7 d x& [: i) L. vvar loggerBufP = new LoggerBuf.Params();
0 T/ H) G, E, Q: YloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 E, m9 G* b9 W$ J6 uloggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 M( o( F( N/ c- }. J& v
+ h1 C$ Q: y9 L6 P# @ y$ kvar appLogger = LoggerBuf.create(loggerBufP);$ A) W. o( @* y1 b2 @
appLogger.instance.name = "AppLog_Core1";
6 `) R4 g7 m+ X; j1 ~) @1 fDefaults.common$.logger = appLogger;
/ ]4 g" ]( C! A! O0 EMemory.defaultHeapSize = 0x8192; ! q, T, h; O- P5 D0 I6 Y7 V
Idle.idleFxns[0] = "&LEDStatus";
" S0 V( S) t& }; |Cache.initSize.l2Size = Cache.L2Size_32K;. M) b: u0 X" M0 f6 d, M( [
7 V- y y8 p7 R" d) [
|
|