|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' X! H6 o/ w+ o) R" F9 T1 B
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 x: ^( b8 Y6 d
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 f9 P3 t) [8 H1 w s4 n- @
( F# X) G) b0 q% F$ p0 ~* h是不是需要在DSP.CFG中进行配置
- I. J7 p: C5 N7 i7 \! M我现在的配置为4 ~6 g6 \0 p& {6 Q ?
5 Y8 d3 Y+ c5 v8 c3 Q" h/*2 r6 O2 n ~& p( e
* ======== Operating System Configuration ========6 q8 Y& C/ F# \- _; P/ B+ f. M* C
*/
& b) l/ @: |' P( [" ^: E- |% K% a! ]2 q/ n0 D
/* no rts heap */
- u6 J v) _. `' q' I9 BProgram.heap = 0; W1 t1 D& Q" Z; T5 @
Program.argSize = 100; /* minimum size *// c+ b/ p; N+ N3 W
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( C M( h @, V: Z ]# T1 H! N! v8 h; }9 z" Q
/* create a default heap */
4 \: Z; n; O# h3 [var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( K: @3 ~3 E t
var heapMemParams = new HeapMem.Params();
2 A6 H1 j5 T2 f3 a& D0 DheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 j, m# {. e9 r
- k8 c+ d: n) d8 n0 W5 Mvar Memory = xdc.useModule('xdc.runtime.Memory');
' J1 w: z0 ~1 }% lMemory.defaultHeapInstance = HeapMem.create(heapMemParams);; a4 g. [' V: P: _
& X, U; W4 o5 t) y! H/* configure System module */( q! ^, _& ^$ J/ z$ ` j. m
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 A0 m8 k( `2 E* P Z+ L- rSysMin.bufSize = 0x1000;3 r0 w( q, D ?1 c3 t
SysMin.flushAtExit = false;& K* u$ Z7 Q: ~9 m
5 \7 a4 ~( p6 G5 G1 l! \! mvar System = xdc.useModule('xdc.runtime.System');6 L" |- C& G. n% u. V6 }% T" |
System.SupportProxy = SysMin;7 S$ m# Z1 }; V9 B) q4 r% c! L1 P
9 ~0 t# m- k& A [: V' l- V
/* configure SysBios to use the lower half of Timer 1 */* [; Q& S; J* ~% A4 k) Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 v- c; t9 { d# ]& Jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
( G$ x4 ?! w6 ]* sTimer.timerSettings[1].master = true;# @* S# S. |% e7 P4 E. Q. j
Timer.defaultHalf = Timer.Half_LOWER;
! ?, J6 H/ }4 WClock.timerId = 1;
- @3 H5 A4 c+ P2 S, }
# H0 @3 q% _6 S/ ?& G7 }3 h$ Z+ s$ B* u
4 q4 |( @; O R! r+ x4 y1 e l/*& ?$ `# _2 b1 j+ X
* ======== Miscellaneous Configuration ========+ V0 ` U# {$ C
*/
; p* ~; b: g# ^( Z6 J1 _& D- [: ]* x7 F
/* set default diags mask */6 I# I6 K6 J) V$ s) s
var Diags = xdc.useModule('xdc.runtime.Diags');7 M: S$ a$ \9 _. @0 g( `
var Defaults = xdc.useModule('xdc.runtime.Defaults');, h- l4 D: k+ ~2 {! ~ u2 U; @+ t
4 H% |; X! l% a. d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" g% ]) A7 ]" z3 w5 mDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% L4 f5 o2 X. ?# Y5 sDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 _& r9 N" u- Q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" o& ], a9 Y) ~% fDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
0 {/ U/ F$ Y/ y1 Y( ], O0 M1 Z4 p3 UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# h0 P7 g7 y+ |7 c1 _' s" a+ yDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 ~8 O: E( C& |, _+ M0 T4 E! r- YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! w1 r8 r% r; Z) y) s5 mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, u. m" _! ?% g0 Q8 A) X
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, W! Y/ Z8 ?' K. V) WDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ G& ?" Q' L+ G* PDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ {( k6 b3 Y; L2 o' ~
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ y+ t* n3 @' b. L, v4 Z% C: s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' D \: y" f0 i" O0 A7 J0 M( I+ A' h
) E% P5 j: n. ]; R! J/ }# g/* override diags mask for selected modules */6 f& O7 p0 O% w; O# X) e+ ~; S
xdc.useModule('xdc.runtime.Main');
' M9 X: q5 `0 I* fDiags.setMaskMeta(
; ~6 I s" l; X) V0 \3 I& u "xdc.runtime.Main",
6 ~, r9 ]+ |( Y' t Diags.ENTRY | Diags.EXIT | Diags.INFO,0 I* M5 q# Y( c; c) V* ~% P
Diags.RUNTIME_ON3 w$ E5 B! N& `' m0 W
);3 T5 I9 s# w5 q
& \: B% A" `0 w5 l' L1 Ivar Registry = xdc.useModule('xdc.runtime.Registry');
7 X9 k2 |/ Y: P! XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' M: j8 y' @( |& p2 V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" t0 {; N" y0 P. {, k# C& vRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;' z d% H9 g7 N4 E* F/ n7 C- S5 P
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* p5 H6 U- n% N% ]6 U
0 ]# N1 E0 i- x% C9 C/ q% B4 P8 |/ p
/* create a logger instance */& H! \* i: M/ s# p- s, Q Y7 Z) A9 \4 C
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ P( n' n2 d$ Zvar loggerBufP = new LoggerBuf.Params();7 Y+ U: `5 u8 l" U- S c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 ?5 k9 R) ]+ K# ^3 R, x( {loggerBufP.bufType = LoggerBuf.BufType_FIXED;) }' }2 L. n0 Q. X0 ?3 e
9 c& A( [* _3 P/ `var appLogger = LoggerBuf.create(loggerBufP);1 ^& `2 W: k1 X" B
appLogger.instance.name = "AppLog_Core1";
- K. ] [' J% gDefaults.common$.logger = appLogger;
' p- u3 ~2 {2 U# Y6 M- w+ y# l3 P' \Memory.defaultHeapSize = 0x8192;
: n( X0 {( D; p: r% TIdle.idleFxns[0] = "&LEDStatus";
3 P5 w: ~* u+ r7 x3 K' T5 \Cache.initSize.l2Size = Cache.L2Size_32K;
( `; b0 e# b2 \: j9 P( y7 M& [8 N3 j, t
|
|