|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 j T1 d. X& h- o% t+ A我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 |9 @6 N$ Y9 C6 m a(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- w+ ^# y) D& v4 X
5 B( b+ i3 P& g( H是不是需要在DSP.CFG中进行配置6 P8 B1 k4 G" c- k+ D8 Z# K5 F
我现在的配置为: I: Q7 O: ^1 C
8 O! n% `2 m0 D: B4 Q, M: X' S: O; b/*- z) z8 k. d5 `1 R$ A/ X7 Z
* ======== Operating System Configuration ========
4 @) ]3 s6 p% v5 u2 c */- E+ |9 u2 j" N; @
% R6 P0 C& j8 {; k
/* no rts heap */
5 q/ \* @. I6 N+ m- q! b8 hProgram.heap = 0;9 G5 N( {1 A! F8 \: T
Program.argSize = 100; /* minimum size */& j4 T- Z$ f$ M' I6 Z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大6 ]$ U7 y$ E" m- J
: ^, ]8 |5 W: i. |" {/* create a default heap */
# h3 _" m" N/ V2 e, j$ Rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
b. f" t5 [! {var heapMemParams = new HeapMem.Params();
# _, q0 u# t) ?# K6 \3 U p# |heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
( s- ~/ i: I& q Q& E; u8 D# _
* q: O) J6 V0 b+ |( |# Y, mvar Memory = xdc.useModule('xdc.runtime.Memory');
) p) {/ E9 U; ^9 t: ^Memory.defaultHeapInstance = HeapMem.create(heapMemParams);7 }2 {: O- E: J% g
0 M; A8 [4 Y8 \: o% E1 j4 Q. k$ _/* configure System module */8 i0 T6 w! V) \$ C
var SysMin = xdc.useModule('xdc.runtime.SysMin');) y* @7 i1 h5 r7 l. q0 y
SysMin.bufSize = 0x1000;
0 t' U3 _/ Z0 d) H' WSysMin.flushAtExit = false;8 R T4 i9 Z2 r# m
& w! n) v% A8 T3 f6 b' C4 |var System = xdc.useModule('xdc.runtime.System');
( x. c: o- N9 B+ CSystem.SupportProxy = SysMin;
- T& E+ k: |, O( f% A. j- N: U$ S8 a' ]! d' h- {- ~" E
/* configure SysBios to use the lower half of Timer 1 */7 l; y# c9 `6 q. @5 b+ g6 d b
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. E' R6 j# C/ @6 U7 H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');- y4 I9 W0 @8 s4 j5 n U4 ^
Timer.timerSettings[1].master = true;
6 f# j& V. Z! a1 E* @7 f3 XTimer.defaultHalf = Timer.Half_LOWER;6 N: k9 G# O- v
Clock.timerId = 1;. Q. c# X! N' Q, F& V9 `* Q
% y" h5 Q o3 x! }8 p
6 Y- S" _0 Z0 ]2 K% w- E& l5 f/*
. i) P$ G& v3 ~; O( U7 Z * ======== Miscellaneous Configuration ========
" {1 s2 z; W- Y; N% g9 T */
( j" k& u6 \5 N: ^! u. h
) I, B) B8 [! ^' B# Q/* set default diags mask */8 p# I+ v+ Q( h3 \
var Diags = xdc.useModule('xdc.runtime.Diags'); }7 t& A( K2 g- x
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 v4 D3 u1 I/ O7 l- P6 u
, \2 T- L( \, i3 b/ a
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 e7 \' o! t9 d# O) I* x4 U
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, P! `8 M$ k! s. h0 Y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 B$ U- x- z8 I& O& x( UDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 L4 R( c' O& J6 BDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, a' K2 r. U4 h
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 {: r" |/ x% Q/ c
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, M+ @) I; q5 b w4 Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) T0 J) r' d" [* j E0 p% ?. U! t
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 l0 i8 a/ I$ l" U/ G- f$ T
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ P; S& c$ P' xDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 h% a6 \- I$ t1 ~' ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 O7 I- E" f. N+ Q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% |- M# O5 J% n% E8 P! }) K
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 M- e- \% q* j2 d3 a5 e) k7 a. w% P
/* override diags mask for selected modules */! z7 F2 y$ b& E1 }1 I- m
xdc.useModule('xdc.runtime.Main');/ t) ~5 b- i9 |) v4 |
Diags.setMaskMeta(" \' {/ w" l3 F% Z; `( }6 ~, M: F
"xdc.runtime.Main",
) `4 N2 J" A: ]$ U3 S, M Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 K8 H" w+ m! G: D, W" j: }2 d Diags.RUNTIME_ON
7 O; A. E7 j& ?. c0 l$ z3 ^: j);0 H* B. p/ F+ q+ t
9 W2 O B" F$ |' \9 b, r0 ~) l* c3 [
var Registry = xdc.useModule('xdc.runtime.Registry');' Q. c; Z" Y5 S6 h# d6 E
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ u8 H0 P7 x5 M! |0 ]- z
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' m: d" i: ^! _3 y& Z: i9 ?Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
; X8 B" O3 Z8 D7 b4 h3 V* WRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 L. e$ s! l1 g, B# H4 \ B8 i+ v6 S; t( E8 j
/* create a logger instance */3 p" w( t# ~7 G8 P
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 Y! m6 N/ j3 k# o
var loggerBufP = new LoggerBuf.Params();
# i) M) }, z' m. K; c& I: QloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 i& o. L$ a( ?loggerBufP.bufType = LoggerBuf.BufType_FIXED;
! t/ i. A0 t7 \3 z( ~
! l& v6 X: ^* e2 q- dvar appLogger = LoggerBuf.create(loggerBufP);' m; h( O) H& K8 V- X& _
appLogger.instance.name = "AppLog_Core1";3 D4 U# N, b! X4 V$ }# B+ J" _
Defaults.common$.logger = appLogger;
, ]( F6 C* K8 W& ^* L* M+ RMemory.defaultHeapSize = 0x8192; 3 t% d- r) ?- t% I' Y
Idle.idleFxns[0] = "&LEDStatus";3 J; g3 u6 E' z1 N$ }& @# U3 H
Cache.initSize.l2Size = Cache.L2Size_32K;( O. T0 R4 e4 G6 J3 Z
( m. A4 t7 H5 `' q
|
|