|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# k0 f3 W. {+ k我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. r& b; Z. i) P2 v, a Q4 t
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" E- U& u" h2 n6 N$ R; _
* g( r. ~+ O1 }2 o" |2 {9 q是不是需要在DSP.CFG中进行配置
$ |% q L% m; ^# I6 r' T& H我现在的配置为
# e) a* Z. M3 i0 t2 J2 W0 R8 ?' u, c! X0 _8 s- Y
/*2 g; C( N$ K. J7 ?/ q
* ======== Operating System Configuration ========
5 s4 g, d3 m# n8 {( N# X; B$ n- g */: ~: n, ~% e# K+ b, K
: p* {; Q, j2 o) |6 X
/* no rts heap */
- E9 C! g1 f- [5 Q0 b& ]* QProgram.heap = 0;
, ] |- Y' s9 d, KProgram.argSize = 100; /* minimum size */, |$ w& m( u; W l/ H! A2 W* [/ e
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 g5 N3 J5 z2 T1 ~+ W0 A* j
& D4 M/ |. H/ U) x5 e/* create a default heap */
) X; W3 r# u# L5 j0 [+ b7 O& Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 Z% X" m, S0 H- Z6 V' {var heapMemParams = new HeapMem.Params();* [: ?. W% t6 {) I0 r5 ]$ k
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
b: J$ I2 ^. y( x$ T5 u# F5 I5 Z; U$ c* P. H! B
var Memory = xdc.useModule('xdc.runtime.Memory');
5 r* g2 F/ n2 @4 J6 C0 YMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
+ v$ U0 A* Y- M% C+ i/ ^4 A) h
. ~, L" }0 w. _# B8 c7 x: |+ e/* configure System module */
0 f r! K) r* h" yvar SysMin = xdc.useModule('xdc.runtime.SysMin');4 ?& H$ q: ^' u
SysMin.bufSize = 0x1000;: G: @5 c7 ^2 H, ?. i) _
SysMin.flushAtExit = false;
& G9 V4 E$ E8 h+ @6 ? R
4 j5 h# c4 L/ G @7 R. S% ovar System = xdc.useModule('xdc.runtime.System');
$ Q! @/ L6 P- R' @1 HSystem.SupportProxy = SysMin;
9 F h3 k* C+ C% {) l4 R. i/ _$ y5 i h5 {/ n
/* configure SysBios to use the lower half of Timer 1 */0 M6 p; i4 ]: Q8 J5 t4 J
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ H/ j) }* j4 hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ `0 ?# ^/ j0 ~. G/ R2 B8 C& HTimer.timerSettings[1].master = true;
2 s1 U/ B9 D- h- A5 p+ j' l# CTimer.defaultHalf = Timer.Half_LOWER;' t; l. r/ P- ^6 E# K
Clock.timerId = 1;
5 p [+ C7 C6 j- G ^- ]+ S
- ?: g9 p+ W- L' E, q; A" L4 Y3 m \! M; O8 e
/** d4 Z, W9 l1 F9 e5 M3 @5 Z
* ======== Miscellaneous Configuration ========1 P6 P/ }6 I: Q" ?5 e
*/
: M+ B) K4 D( e {7 C+ ~ c
7 N H! O0 U8 p$ A2 j% y% w1 R/* set default diags mask */
0 U. p/ `! y: b0 D% yvar Diags = xdc.useModule('xdc.runtime.Diags');( b/ d7 S0 @ J y4 P$ Y4 T4 W( z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ S' n) L* Z) d7 E) h5 _, }4 ~$ x6 e% e. p1 J/ {
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" V3 |7 L2 [6 x8 W7 }Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: H$ J# k5 | Y4 d2 Y7 f9 R' fDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% b+ y3 [/ s% `. Y4 r% P3 q# A5 rDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! o* T* N% c( y% r- qDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# O: H$ u. r; |6 i8 X0 s8 }+ `5 s
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 C8 B) K- }# f7 X) Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; e/ l& H$ b, ^1 ]( k, X& q& {7 R; I
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& ?9 Q, L2 D. w; Y5 V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" t2 k1 i( H4 tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 s3 V7 z/ I; i& z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 D5 C9 H. K) ^6 }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* [2 N( [$ ~2 _- DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, g, }8 L2 C- g( `Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% ^6 ]" l `- |8 l$ m4 g4 ~ D' E, ~0 O
7 R2 t4 }# A$ i/* override diags mask for selected modules */2 M' P5 f, S' \% `
xdc.useModule('xdc.runtime.Main');' S8 n, k9 W [. e6 |
Diags.setMaskMeta(* [6 [3 h L6 i
"xdc.runtime.Main",) P2 S( A# [; f3 u1 x2 O3 j
Diags.ENTRY | Diags.EXIT | Diags.INFO,
' g1 c/ l1 V. ^0 q1 i/ M7 B0 K Diags.RUNTIME_ON
: `# x5 _4 w4 O);
# s+ L- E" {9 w+ W0 P! ^# k
9 v+ s. h: ^$ c2 U9 T6 a7 ?var Registry = xdc.useModule('xdc.runtime.Registry');
+ |" o z- i0 h! g9 ~- X, @$ s/ yRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 a+ [ I! ]. a3 {Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 N c3 \4 W7 O; u5 m6 y4 H% GRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. @2 z6 p6 o5 ^" sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
s7 R# P+ k l; L$ l3 V3 d! ?1 D7 S5 R" e- ^
/* create a logger instance */
: b' V# J9 I) `$ U$ Yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) {- Z* O' x. m+ r& D/ t1 ~+ n0 T
var loggerBufP = new LoggerBuf.Params();7 w7 r- x9 t- `+ i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* A9 u8 B( q8 F, y/ {( ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 P7 l& Q9 p8 H9 [' ]" y+ D& V3 T/ b. ]. E2 H: K8 n3 V
var appLogger = LoggerBuf.create(loggerBufP);6 N# t) u& {9 p4 r r
appLogger.instance.name = "AppLog_Core1";
! y4 G6 u, o3 p; R3 {. G: iDefaults.common$.logger = appLogger;
& A/ X* w/ e6 vMemory.defaultHeapSize = 0x8192; : H$ v; m. K* O3 b. E9 g
Idle.idleFxns[0] = "&LEDStatus";
6 v3 e. Q: q' \* i9 `5 ACache.initSize.l2Size = Cache.L2Size_32K;
3 ^5 _2 U ]2 L* s+ e9 M2 q4 G: _% R2 u
|
|