|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 O7 [( d4 r4 I/ E! m* A9 h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ ~, p' O( ?) E) X" X8 ? n(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 z% _' V# `" h$ Q3 T V( h
' A5 B; ]# g% e" [是不是需要在DSP.CFG中进行配置' R0 D* u+ `0 x8 c7 n
我现在的配置为9 d7 B) o6 j3 ], ^: {
4 X* u( _+ p" e$ u+ U$ T6 x& X/*
" D" X4 q! x6 t9 y; {; u * ======== Operating System Configuration ========5 L9 J! q0 \2 i9 w
*/8 j' N: `% {. w1 |9 ?% ~3 s
* \4 D. Q c* K; E/* no rts heap */# V! y& f5 t" ]5 s
Program.heap = 0;
7 k. f% I @5 xProgram.argSize = 100; /* minimum size */
4 }8 ?: i- J+ q+ c" H' A0 J2 v; V/ @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 }) U9 O3 e& i5 d5 E
3 p! b2 T1 F s% I/* create a default heap */
6 X" V1 ]! d+ N: F' avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
! _* Q% y Z, T+ Kvar heapMemParams = new HeapMem.Params();
3 L; f3 V* \4 B, e, oheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) O8 o: ]% W f6 \5 ~/ s
& W2 [; Y0 ^/ g' z3 D2 l/ C+ D
var Memory = xdc.useModule('xdc.runtime.Memory');
$ D: a$ y1 t( R, _: n# F# Y: BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);; j# w: b' Q3 K9 n0 p0 G, P1 h
1 t" s q5 q8 Q- w6 _5 r
/* configure System module */! l' q$ r& k4 }. ? J; T
var SysMin = xdc.useModule('xdc.runtime.SysMin');
' N- D" U6 H% R" I; oSysMin.bufSize = 0x1000;
# o# z, M( T4 }, j# Z9 Q8 l* XSysMin.flushAtExit = false;% d) f% q" y+ K7 k2 l. v/ Y
5 n5 k- g i0 m$ W, Yvar System = xdc.useModule('xdc.runtime.System');
$ t5 \! W! x5 c5 _$ bSystem.SupportProxy = SysMin;
6 p. r# o% U$ Y: H* I- e/ M9 U$ R& a; Z! W2 Z7 d! T# f
/* configure SysBios to use the lower half of Timer 1 */4 h9 T6 k& }; i: b9 d: R1 c- ^
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! N' Y* P F& U: m& o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');! Q' |' x) u5 d4 N
Timer.timerSettings[1].master = true;
" [2 M: h. g5 Q9 q9 XTimer.defaultHalf = Timer.Half_LOWER;
) S5 i% P' @. B0 [) |7 |3 M; W# SClock.timerId = 1;
; S9 @+ V2 @' D2 A1 O6 a7 K' d t6 R7 B( Q6 c0 O
+ _; ^. f3 G' {7 [+ @. x/*# n% R$ c0 G8 }# x
* ======== Miscellaneous Configuration ========
0 ?4 h- s8 r. _& S( o# }- Z, m */- u+ B% Z# e. J! D$ K
: U) A* F0 m9 B& K3 x. H; z1 y+ M
/* set default diags mask */: x# S' i( ^4 h# g5 d, T
var Diags = xdc.useModule('xdc.runtime.Diags');$ A9 W8 a& k% j8 ]: Y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
) m, \8 D* O! A/ S
4 `) V4 }$ n) NDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& t) P7 i$ M; h6 y& v) A: HDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 K0 k5 a7 ]( N; N3 h$ {) C2 HDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- B i) P0 o6 \
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. g2 O% e6 r+ C. J2 `' C
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( u" I, Y' `0 L! O- QDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;% a" \+ D. q B6 s) w {
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, c' F# T5 R# a8 l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
# E# y' z% {5 s. M& ]Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ p) s$ j9 U& e( b: N& c% ^
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. n; u4 w/ d4 N3 e \
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& _: N" \ V( E2 B% ]$ r
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 k* `# g- X- n+ t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;: y8 A; u7 T V/ U5 x9 q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 c+ m, Z( T0 n7 S, g7 D+ n
; b6 Y! U! c7 O$ F7 y( v: n3 X6 {/* override diags mask for selected modules */+ Q* ^: t S6 D0 u) a% Z' I
xdc.useModule('xdc.runtime.Main');
7 e% {* p1 [9 EDiags.setMaskMeta(" p0 H/ E y! L% F( b
"xdc.runtime.Main",
+ ]7 n& l7 z( T' K Diags.ENTRY | Diags.EXIT | Diags.INFO,% C6 X1 Q. L% t, V
Diags.RUNTIME_ON+ j8 v" A0 w& d+ j. ~
);- D& B7 J7 a) Y
- z+ J, @; n M3 T5 C2 O4 [# Yvar Registry = xdc.useModule('xdc.runtime.Registry');8 j, a8 v. _8 ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 X- Z: H# U/ o1 S, j# @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# [- p# D- e9 O7 |/ ?5 G0 p fRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;+ G- t8 B. E# r
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
h7 d6 c$ q, }9 J! w7 g
- _# n8 ?+ u! x& r/* create a logger instance */
8 M2 S) S4 Y- y- |( n9 `9 gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ n h& y7 z* o, G6 s! Kvar loggerBufP = new LoggerBuf.Params();
: S9 a F- O% JloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 k+ s1 ?8 m% a4 d6 T% `* T1 i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
# j) d- `9 p k! A( k. o
5 s7 `( f' u7 s4 |, L3 Bvar appLogger = LoggerBuf.create(loggerBufP);
3 v5 @1 K, v' g# p! }appLogger.instance.name = "AppLog_Core1";5 {+ g0 ~ U [( Q; j
Defaults.common$.logger = appLogger;. Y3 i' H" f9 g; P' r% R
Memory.defaultHeapSize = 0x8192; ; F K; T6 {! ^5 i9 C' C' G5 B
Idle.idleFxns[0] = "&LEDStatus";1 r9 k: I; G& @+ [, [' D
Cache.initSize.l2Size = Cache.L2Size_32K;( {* `, z4 @$ T. n2 V: x; I- R2 F
/ L1 f! ]% R+ _2 |) `* r3 c( i
|
|