|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 Q" \, c) i7 [
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 ]0 x/ Y; Z9 P. v3 R7 L(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 {& p* m( }2 U9 @' Y
% B! p0 _# @3 K9 e" Q. b: B2 ]是不是需要在DSP.CFG中进行配置
0 s- n5 y8 d% C) ]4 J+ \4 M, ^1 ` b) f我现在的配置为
4 o7 J( ?7 b4 M6 |# C/ [- E$ Q! `# _
/*
- {! O2 [; w" P, v: ` * ======== Operating System Configuration ========
( f! \3 t1 |" Y$ j5 k6 m */
/ K% a [" U1 n! l# p9 ?% M4 J' M9 A# M2 j+ h! c! q$ K
/* no rts heap */; M" W% u" |1 n! x
Program.heap = 0;$ j7 q1 M: A% W" m
Program.argSize = 100; /* minimum size */
- ] b+ U# R: S0 Z9 M2 aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 m _5 O/ V3 m; R
( r* k; y. y6 K" h$ f/* create a default heap */
' ?8 C- i* Z- d& V; Avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 @ U) \" D3 N1 X8 J: b% t- Y
var heapMemParams = new HeapMem.Params();
4 w2 [5 Q* N3 iheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" y9 z" j+ B- z; a/ C3 R
0 O% O6 W4 S, D' `var Memory = xdc.useModule('xdc.runtime.Memory');6 t7 d) P, R$ S- e, q/ i& @
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);( Q& z1 G \+ e5 J
/ @4 l4 y/ h& H' r" Y0 Z4 V/* configure System module */
7 J+ l1 A9 Y% U+ |; J6 W4 P" @var SysMin = xdc.useModule('xdc.runtime.SysMin');' v: W t. P$ i/ {$ c
SysMin.bufSize = 0x1000;
. U Y- s4 q& ]" ySysMin.flushAtExit = false;. U: m# t/ e8 f* T0 H. x
/ t6 ]9 u+ H) X; J* v
var System = xdc.useModule('xdc.runtime.System');) g$ k" N3 |; l$ Y4 d
System.SupportProxy = SysMin;
9 B0 Y" v3 h- r7 }% S2 M' Q; V) G7 G* L0 |8 {
/* configure SysBios to use the lower half of Timer 1 */# a5 ~' z; u K5 K: \
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( M7 C9 l) S0 R% W& n
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" X5 |7 M* C7 ^( A* M5 R2 s( I
Timer.timerSettings[1].master = true;
3 ^6 j& p8 [, b: @- t" \Timer.defaultHalf = Timer.Half_LOWER;
1 `1 q& j! h! ~9 |5 `Clock.timerId = 1;
9 p4 T- P& l. Y2 X; P3 C) |6 w P& u9 q) k4 T
9 a7 ]1 W# T i2 I; [, Y
/** i; `- A. t; ?3 W. |1 V. l
* ======== Miscellaneous Configuration ========
% B; k1 T5 Z& M2 L" A; I */8 V( H7 |8 ?: g
6 O4 _% d2 g8 a- f2 e
/* set default diags mask */" V% ]1 h3 B- u0 r ?2 Z
var Diags = xdc.useModule('xdc.runtime.Diags');4 @0 h* U: O U! O+ Y' e
var Defaults = xdc.useModule('xdc.runtime.Defaults');( W9 J# y1 i" L
+ ]) ], n: `) }) F- U0 y, w
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) h+ Y% G5 y+ ~+ o1 @
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# T9 p5 G0 \0 _# {) z2 E `7 E
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 @0 ~! S! t8 s" E4 y! n8 |+ QDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, i) S/ R- T5 ]& b1 M1 n( o
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ p* g9 b: S% g6 k3 K2 s3 f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 r z+ D) j* R* F7 S- Y; y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 _8 E) C7 m, m& \1 v3 QDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ Q$ D( j; \! F6 _4 R- ?6 M) dDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( c3 [0 \) S- R3 {% v; x" bDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! N8 s3 J3 y0 s$ HDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ w u5 m7 N* D+ }8 K3 SDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 `3 d( @* X h6 Z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( @! h- G1 z7 Y& PDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, V6 ^- W8 {6 I/ M, m3 T
2 a- X3 d2 I( X# |8 ]/* override diags mask for selected modules */- [( S+ X) Y7 D0 A' q
xdc.useModule('xdc.runtime.Main');9 Q; a3 ^$ Y+ d, d4 V0 ~. d
Diags.setMaskMeta(
8 U+ D# I0 V" x, y9 ^# R" L "xdc.runtime.Main",7 x# R7 v( V" x* @& \# r( l7 M
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" m+ N0 a! b; Y. ]9 H9 h- Y3 K Diags.RUNTIME_ON
: m# {& `, x# t- ?& [& F);
& |4 B* K7 Q; W( e1 g. F- O/ G! B" l, h% f3 J
var Registry = xdc.useModule('xdc.runtime.Registry'); p, \* R9 @6 A. Z1 w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 D9 d; V: g! A9 g* |" B6 ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 h0 ^" o1 f1 j8 T6 j/ B; j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 d. d4 A( R& N- a: Y+ ZRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 g) Z0 B' d$ E; {5 e2 V* Y& g
1 P* z7 z, p6 v. `/* create a logger instance */ t5 U% f# t. @- r) j1 W8 {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 q% ], b9 f- x: @var loggerBufP = new LoggerBuf.Params();
! f- \. M+ X; v+ Q( B4 V+ BloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 [& X: {& n# T' O3 x6 M- iloggerBufP.bufType = LoggerBuf.BufType_FIXED;* B+ _; a3 b# i. W) c* u0 ?
: l: g$ c/ D& G# e4 M6 R
var appLogger = LoggerBuf.create(loggerBufP);
$ |2 \5 w9 J: [* j: c- D* OappLogger.instance.name = "AppLog_Core1";' |& O/ _0 [ c2 t% }* T S; Y% f
Defaults.common$.logger = appLogger;& L: R6 a0 i1 a, f& h: e, j6 Z
Memory.defaultHeapSize = 0x8192;
* w" r9 I5 ~) X3 v3 GIdle.idleFxns[0] = "&LEDStatus";
3 |7 o6 T# [/ a& f0 H! y* rCache.initSize.l2Size = Cache.L2Size_32K;
9 L9 R, g% c* N8 M, h
6 u4 [7 w. t. A: V2 _+ N4 R |
|