|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. R7 |! B/ L9 J/ L我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' M. b0 @0 _* O+ b
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' E/ Q4 m! ?) M* P
h) V7 |' j4 B9 i
是不是需要在DSP.CFG中进行配置
! f- C0 C9 J* b, Z3 T8 ^! Z我现在的配置为
4 ?. U; A# I, L" g% y9 c8 f* ~+ Z0 Z" y2 `2 Q8 n
/*
. ], } p: G' a, q( P9 \2 @- z * ======== Operating System Configuration ========
& E a7 T# x u% ^6 |6 H& I i0 g/ l) G */) J5 D$ B8 }, s+ Z4 Z [
+ A6 d8 T* A& m# Q
/* no rts heap */
- E/ ]2 p5 L# O9 ^5 W3 ZProgram.heap = 0;* {3 r( D$ W3 F' p9 d1 ~* q
Program.argSize = 100; /* minimum size */
7 r0 a. t N. B7 ?Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 O# A* d- ]8 S0 i
6 d* `. l$ Z1 M# o/ T6 h/* create a default heap */
7 M& h7 z+ y5 \4 F8 X) G- ]* @% yvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' [3 c( `& F4 g$ [4 Uvar heapMemParams = new HeapMem.Params();
' M6 d( a$ D0 u. ~1 m2 oheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大6 O( \* h/ w% P
* s) t2 `7 e1 I$ i0 y4 F7 g1 Lvar Memory = xdc.useModule('xdc.runtime.Memory');7 ]+ a, E8 @( `
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% a b3 p1 L8 q0 _2 o4 `- Z/ @& T$ a; Y
/* configure System module */
! S8 K9 {( |' a6 O: M! W2 t) v2 hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
8 ~* z& H$ _ l6 f: c/ n1 ]SysMin.bufSize = 0x1000;
9 e7 ?8 b$ W8 J' f3 y6 {, p# R& xSysMin.flushAtExit = false;
9 c& G- v" O& {/ v4 R! m6 m3 Y& C/ A! S4 p! v
var System = xdc.useModule('xdc.runtime.System');
3 P6 w* y: f, QSystem.SupportProxy = SysMin;
" }- D# ]* ~1 W+ `4 g0 `
5 ~* D) ]" R) `; o; I/* configure SysBios to use the lower half of Timer 1 */
3 t# ?! Z$ j# G6 avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 l9 x) x8 v# o# Z! ^$ x8 P% l: A( zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
% w5 R, }1 z3 R+ FTimer.timerSettings[1].master = true;2 W3 p2 ^4 d5 r. f
Timer.defaultHalf = Timer.Half_LOWER;/ K% \- A4 O, Y* z
Clock.timerId = 1;* l* W* D/ m0 c6 |* F. `, T! B
% Y" [0 e- l" ~: R1 d# _/ @( V# e4 V: |/ L
/* t, t( ~$ f. @
* ======== Miscellaneous Configuration ========4 [: f1 f, M0 ] J4 b
*/
* @" U; I: S( U7 {9 h9 o5 [1 q! s% H9 r' P A7 o- Q
/* set default diags mask */
7 i; I$ y; y# z. Y1 s5 {. }0 n' m% qvar Diags = xdc.useModule('xdc.runtime.Diags');
b V! ~ n0 Pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 g8 K, _" K9 D/ h- u3 c$ ?/ T/ q9 \' u: j
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 E+ H% _. O* T L0 w
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 L1 H2 y+ V, `3 l
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. T' a' L' I& w9 D) gDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' o1 K4 n6 T7 ?5 V
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 l1 u R6 f9 m% H9 i5 LDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 T- L/ u% g4 y; n. }: C6 B
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
3 I% s7 j9 y0 pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: ~5 A( ?0 t2 ?8 E3 N( A. DDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" T9 k% {& C" Q! V' d" j# o7 y7 U5 o
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. b: ]) T+ z/ W
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# R( ?( u' N! p9 y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 n: u5 ?. B7 yDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. {; G& I( _: _$ t; ~, W) y8 ^Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; {2 P7 H$ M' |- n# N# i3 h' m
6 n, Z2 k, U2 H3 J8 w" Y, {; |: [/* override diags mask for selected modules */
6 w3 T2 ~+ f5 M3 O/ o3 @! lxdc.useModule('xdc.runtime.Main');
; W& U5 _# O: B* PDiags.setMaskMeta(6 ^. p, `' D: O( n& I
"xdc.runtime.Main",, B5 c% r; o' Q" Y4 N
Diags.ENTRY | Diags.EXIT | Diags.INFO,
( k; X! D# a: o- r4 S+ d4 c Diags.RUNTIME_ON5 l! i' Y' n' \
);# n( y9 q; V$ V! l
, ]# a8 T2 S t9 e4 lvar Registry = xdc.useModule('xdc.runtime.Registry');
0 L# |: D$ M4 S" ^7 d. M0 c, @Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ y5 v$ c, M/ E/ u2 O& ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ [9 S$ r: I0 ^! e4 f n) }* kRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
' b! r+ I, w3 |5 r& IRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;: }: C+ l5 d, |
1 z* i% v0 Y% D
/* create a logger instance */
# f. | G9 F6 Y% Qvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& d0 C$ k' P+ ]4 O9 hvar loggerBufP = new LoggerBuf.Params();
' p2 z2 q/ q) W7 n1 b; g8 aloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 p( G2 A1 U/ y' O6 X3 [
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 _; p: h+ W, q9 k4 J5 H% L3 k" g t0 @/ j- u$ f
var appLogger = LoggerBuf.create(loggerBufP);
! o j @% ]9 E6 G7 N/ j7 [appLogger.instance.name = "AppLog_Core1";& W& @9 ?- F2 Y+ _$ A
Defaults.common$.logger = appLogger;
; p8 j. o$ y, G0 c5 fMemory.defaultHeapSize = 0x8192;
D6 b: l5 s% W. N- nIdle.idleFxns[0] = "&LEDStatus";7 U$ \4 N2 k6 w3 B
Cache.initSize.l2Size = Cache.L2Size_32K;
' H' _0 L. ^# Q @; n) C6 n# M+ n
2 ?, ?; u, `+ ?- n0 u; j |
|