|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' Q7 g% } ^2 S5 I) V" x5 M, h
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 o( {% _; l5 a5 Q1 E. U' G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 _ q4 b" C) c
$ }$ M" W: M0 H& a) }
是不是需要在DSP.CFG中进行配置, v" R1 v, g6 ^/ w: O. {
我现在的配置为
* J1 U* O$ T# o8 H4 T3 j4 O; G
! I; e" p0 ^# O4 W/*
3 x. `! q0 D* {/ y * ======== Operating System Configuration ========
& Z6 \9 d J- r( ^, M# M */
$ U( e7 Q# Y& C3 @4 X( M ? `7 F2 }1 p) u
/* no rts heap */& d, m" m( @2 M9 P
Program.heap = 0;0 {4 t; E0 D+ z5 O
Program.argSize = 100; /* minimum size */" V3 P$ {& x9 g5 A! Y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 z( T8 p; {6 ~' d+ G& [2 _
9 k/ n( X) L( j/ @
/* create a default heap */
1 }9 z8 [5 N" ]% L# `% o% C5 ]$ u* \var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( L& K' N4 D! |' U( ]- M
var heapMemParams = new HeapMem.Params();
" C8 m* P: W; h' ~" uheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 x! N6 z' U6 B9 w2 i% r+ F
6 I2 o2 P. X7 jvar Memory = xdc.useModule('xdc.runtime.Memory');9 @1 _ s+ R. o; K4 q+ J+ V6 A
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 s7 S1 S; F. L% D0 I+ ?
" c4 L# y: E; }4 a/ s& _" H( G1 Z/* configure System module */% j' T) T) j: T8 r
var SysMin = xdc.useModule('xdc.runtime.SysMin');: K5 I5 V; Z5 h T" L" M Z
SysMin.bufSize = 0x1000;. s. A. s* P6 f4 W. Q4 R) S
SysMin.flushAtExit = false;
6 } V. G$ w8 `8 R) ]5 C/ m
' U* ]5 |! _' [! S B( Jvar System = xdc.useModule('xdc.runtime.System');
Z; ?6 s4 @; F) [" ]( tSystem.SupportProxy = SysMin;
# `2 ~% E! \6 j) D; w- R% W+ Q
1 L" f5 e5 e( e% Y( n- u/* configure SysBios to use the lower half of Timer 1 */4 R/ ^! R4 t3 @; \4 j" ]8 [' J" j7 a
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 g7 Q; H5 f$ o9 H3 c! gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 U0 n; G( W) c- c. a5 O' |Timer.timerSettings[1].master = true;* J- M0 d" b; p" y# O
Timer.defaultHalf = Timer.Half_LOWER;
9 H- g$ Y' O$ X, s8 L# HClock.timerId = 1;# r0 |; l: k5 h) k2 O9 l
, G( d' O( Y2 u. l, ^. p6 n; I/ w
+ f# Z6 K' w7 \+ f" ]' R- h
/*
- ^0 w5 C/ v2 ? * ======== Miscellaneous Configuration ========) E5 h* u% k* q2 Z$ e( h _
*/0 L7 t( D$ |5 t6 \
. R# Q+ @+ c7 ^
/* set default diags mask */+ H1 C8 U8 C5 d1 k
var Diags = xdc.useModule('xdc.runtime.Diags');+ V+ `% @* C3 @9 H% M2 |
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& O$ [% M" X/ R' Q5 I: n: Y0 G0 h: O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) ~* R. z( R/ x: O& B9 B- _) t
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% N% q- D; T3 C6 }+ K; L* MDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# B- I! }# z, O+ e) m6 I
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
C! [0 I. t* H6 ]4 wDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 q; G) f3 S8 S `8 d& o9 I1 o4 Z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* I0 y. U( t! m; I2 [0 sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. x# a. {4 f$ l6 g/ tDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( C$ G5 \2 [, V1 c# q w, F r
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 D0 y& U- u( @& {' ^
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% ~: Z8 O: ~# {. {3 z0 K- Q/ q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ ~3 @& ~" C. d: ?% W( `Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 c, P2 k2 H; E6 Y9 g4 M4 K
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: I2 l! z; ~: [ ?8 oDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" W( C' s0 t, e" X
% o) u2 w5 D$ c0 R. \2 u3 X' S+ Y/* override diags mask for selected modules */0 s8 [& Y1 `" L
xdc.useModule('xdc.runtime.Main');
3 ]# r" @( t: p' R2 g+ d* @7 |Diags.setMaskMeta(5 R2 j) U$ ?* @+ V/ }' B$ o
"xdc.runtime.Main",
# v, U+ ~& r; d Diags.ENTRY | Diags.EXIT | Diags.INFO,
, w; b2 J D/ N- A Diags.RUNTIME_ON% b0 F' U% z1 [4 S* d) z
);# v$ i g* r: _! _1 X8 h. O- h
2 j3 J& ?. Z z& X3 n. Ivar Registry = xdc.useModule('xdc.runtime.Registry');
2 I1 ?! U4 ` V( qRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ M4 Q1 v. A- j9 RRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;, j2 n2 A9 `) V. w. h0 p# O4 e
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;/ O8 E9 y! s }: Q3 {
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- W) `( o7 H2 ?1 x
4 t( j K. d* p8 O9 d2 w9 c9 A/* create a logger instance */6 Y( J+ J. w- g
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- N" I* w, O. tvar loggerBufP = new LoggerBuf.Params();
/ H0 n" e$ W( z3 y3 x; LloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */0 ?0 ~: J) J: n4 j6 { I" K0 y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ y6 B' }1 u9 x9 O, c- A# O
$ v! F' O. b$ d, U$ G7 }9 M9 Svar appLogger = LoggerBuf.create(loggerBufP);9 b* j3 {. _! G7 l. E
appLogger.instance.name = "AppLog_Core1";
; E! v6 C( u7 }/ I/ {' Y& N4 \. kDefaults.common$.logger = appLogger;' X/ G0 N4 O0 }( ~, I3 \
Memory.defaultHeapSize = 0x8192; : L4 n( E! n! P7 F) f
Idle.idleFxns[0] = "&LEDStatus";' g# M, ?+ t1 E; O0 e |
Cache.initSize.l2Size = Cache.L2Size_32K;
( I) L( l& L1 D; M9 C& s$ [7 E/ ~
|
|