|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 E* E( t; S8 J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# u# R w+ X# V" d ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 S& }9 F( V) T( {3 o3 G
1 t% C9 m( u- b7 r2 r N# Y是不是需要在DSP.CFG中进行配置
" E2 k% N% c0 t$ `我现在的配置为5 X# j& X; q5 N3 b% I v
4 F+ ]( o$ W7 \& Z8 q) t% e- O/ T
/*
* ` J! d; r: U' K% Y7 H * ======== Operating System Configuration ========
5 F r9 y& W$ f' W8 K */
7 k, Z# l1 o* v9 Y+ C4 ?; H
9 G9 b7 S# l/ Y) ]( i/* no rts heap */
! U6 B0 P8 k& z/ f9 _Program.heap = 0;; y2 G' a u: {: S0 J- Q
Program.argSize = 100; /* minimum size */2 b2 }+ ]' l; p/ J4 ]8 Y+ q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 J0 _' f( b$ d" h
9 u- k: i& b6 Y: v& w/* create a default heap */4 J, d' w3 u$ Q% [' M- n% S
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 R0 Z8 T/ D- @& @; p, V5 W& rvar heapMemParams = new HeapMem.Params();* o! {/ j- P# {- \3 v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: M# `4 J( c( @
; C, u! x9 y: ^; x" yvar Memory = xdc.useModule('xdc.runtime.Memory');
/ C2 o# v: Y( [! l2 z. {3 @Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 U2 B r2 d" r2 M
. r3 o7 h7 f6 n' v1 |5 e/* configure System module */
$ p; [4 l2 j' [- O @, v: y! ^var SysMin = xdc.useModule('xdc.runtime.SysMin');5 O& |* c4 _* b2 c: @/ G7 P9 H
SysMin.bufSize = 0x1000;' f3 f1 z8 }9 |2 ?; a ?
SysMin.flushAtExit = false;
. l/ X0 s) o: O1 l& s
9 w! Y9 E0 B1 f) I4 Wvar System = xdc.useModule('xdc.runtime.System');2 t5 f$ q' D& {# ^
System.SupportProxy = SysMin;* g. d6 F/ C/ G& n
- A; t( w% [+ l. r$ k# T# _4 {/* configure SysBios to use the lower half of Timer 1 */. w9 r3 y7 j& ?8 H0 d2 d
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
]# F) d2 v4 b- a# g6 @var Clock = xdc.useModule('ti.sysbios.knl.Clock');( i( R7 F9 U0 I1 ?, m
Timer.timerSettings[1].master = true;
8 d; W8 t3 b2 [4 @5 j: z1 t6 f' q NTimer.defaultHalf = Timer.Half_LOWER;- P9 V, Q% [& K7 L9 H0 K. D/ ?7 P
Clock.timerId = 1;
% U D4 W8 B9 u. A$ z' ^5 @7 E1 P2 @
( z9 n5 M) F( A% \) s" X: A6 U& F. `+ [2 ]9 L" ^
/*/ \2 }, [; {& R; ^0 }# u' G0 w
* ======== Miscellaneous Configuration ========0 v; ~. O0 I. s% E& ~1 y$ v; k% d! W
*/( Q) i0 C) u! Q9 G9 T9 E' Q
: L# i8 v. R+ J/ k# B( ]
/* set default diags mask */
+ p( E" {* u, j: Q+ E' @2 dvar Diags = xdc.useModule('xdc.runtime.Diags');
% O4 Y! s; K3 Z; Vvar Defaults = xdc.useModule('xdc.runtime.Defaults');
; x" e( C, H( y$ j( L# n5 ?
3 r- y: o) Z' L9 K* s, U+ {Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 @1 B# }0 Z# V/ K; n
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; v4 w; J$ |6 r8 U ]0 ]5 t: Q' F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, Z @, i/ ^% } T9 o6 X4 f) i+ uDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ s/ B# l8 K7 I6 E& y4 p+ XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 a! c) e9 _; \4 d) p
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# k. v Y) b" q/ L# XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- I+ ~/ z4 j! C' { xDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ b* g3 |$ ~5 n y* ~9 ~4 l9 ~: L
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ D Q( {) _1 o& L
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ t/ l4 E0 A5 R! ]/ C+ EDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ b9 k1 e* U, M- F4 I( Z8 ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- ~* d9 y( f! S% v4 zDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;' c, m0 O. J$ }3 S
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 U- a$ s$ L& ^) _# K+ _/ w
) C8 t' T8 R+ @* t/* override diags mask for selected modules */
8 D; K" a) E0 T4 b- l$ qxdc.useModule('xdc.runtime.Main');
: k+ A/ ?! g, \- n, v8 k. yDiags.setMaskMeta(
$ N1 m) O7 e6 }- _- I7 K' i" c "xdc.runtime.Main",
. k. z( d% w% P8 ? Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ u$ g/ @3 n7 G Diags.RUNTIME_ON
9 L+ h" }! j5 M# b) m, ^1 w);! A" M- A4 H. O; s. s
7 |! t0 ?* o+ A4 }) k" L/ m
var Registry = xdc.useModule('xdc.runtime.Registry');( d( o' f5 s3 I" L/ N3 \; \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ Y: G8 e" L6 B6 F- qRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* M8 \* u1 f5 X' ]. |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 B% a/ T4 f% D+ n8 o! X, E2 L; q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;, S$ U) Y& z2 \ o2 } V
, m' p8 h6 S# O. q) {& V
/* create a logger instance */: _; _7 b% j) `
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: O ^: C. c: @3 _" w5 m' f3 Evar loggerBufP = new LoggerBuf.Params();' o$ C$ W7 b) Z) S
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 \1 r5 Y: ]% GloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 s% Y j- C8 O0 u- m# J( H3 J, v3 \4 R9 y2 {5 {' k7 n$ ?
var appLogger = LoggerBuf.create(loggerBufP);
) D: \; h6 e$ U; w3 `& Z7 VappLogger.instance.name = "AppLog_Core1";
^1 E3 K% m! V$ p5 m0 d& c4 mDefaults.common$.logger = appLogger;6 A6 C2 U8 b5 q2 @8 W+ R n: i
Memory.defaultHeapSize = 0x8192;
/ ?. |# l1 [! L/ O& c# K3 s! bIdle.idleFxns[0] = "&LEDStatus";
! l7 e* K% r8 ^$ `Cache.initSize.l2Size = Cache.L2Size_32K;3 ^" `5 I* G: M! \( K' J/ }1 q
4 k9 n+ H z' Z" |* C |
|