|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 z; s" z; ]# B2 f2 j我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* `2 F1 B0 s8 j: |1 F! Z7 M
(不过疑惑的是,为何单独DSP仿真就没有问题呢?). p+ M! r4 \ Y" F* E
/ P' K( b( h# ?是不是需要在DSP.CFG中进行配置9 L5 |* b$ {4 |- `# X
我现在的配置为9 C0 C: p$ }& z. k) E, ?
5 o% V. P; W) s# U0 |. R/ |
/*
7 J9 ?5 p, n V# H * ======== Operating System Configuration ======== D0 z5 h& I$ K
*/! @ X- o. b0 Z( q' y
; u% \+ @6 K& ]* B
/* no rts heap */5 t: P3 s" I" t6 ^9 v- H; Y7 }
Program.heap = 0;
" i# W4 S- P- ?' mProgram.argSize = 100; /* minimum size */
% B5 v, Y( T1 Z* ^6 l5 |. EProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大& }& g7 b `& M
t4 K: I; O) P% T5 q
/* create a default heap */
/ R1 A; \% a- ^; G0 n3 K) gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 m1 g6 z) V3 t1 ^var heapMemParams = new HeapMem.Params();( A# u0 O" O7 A4 c% P/ O1 _8 x
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 b0 I9 E, W9 d0 N, ]* p% D# r# \8 V; X: q* _! F: o
var Memory = xdc.useModule('xdc.runtime.Memory');
& s9 R8 Z- s5 H. iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
% x) X; P9 g1 K8 U g3 G+ w2 d# l0 `7 w+ k3 m
/* configure System module */. o5 S. |/ u w$ x7 b! x1 t! g
var SysMin = xdc.useModule('xdc.runtime.SysMin');
: l& }& b6 a" g5 k1 q. k+ q4 VSysMin.bufSize = 0x1000;
. Q- u- }* B+ @$ r# @SysMin.flushAtExit = false;
9 B8 d( }4 o I5 ?- X# O
, ^* @5 O: J. O8 Yvar System = xdc.useModule('xdc.runtime.System');) f5 N( I( H/ M9 c, M4 \6 e% ]$ R
System.SupportProxy = SysMin;
7 T. u# S/ x8 A1 }9 E3 H5 T1 A. A$ |* B
/* configure SysBios to use the lower half of Timer 1 */
b7 V6 R7 o1 }2 }' bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 M; J: v& Q$ evar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 g1 t! a" @1 F' t3 S- d' D
Timer.timerSettings[1].master = true;
$ _5 l$ e3 J5 G& ITimer.defaultHalf = Timer.Half_LOWER;
; M/ O$ C8 E; ?: u# }# j* E; b$ yClock.timerId = 1;: L0 f+ H+ k2 ^( ?6 Y
" K/ }7 e$ u+ |; E3 a+ ]: Y. ?; X1 s& a9 f( `# _' J) c; Q
/*& G' D" C2 V7 H: A% b9 D
* ======== Miscellaneous Configuration ========
$ ?4 a3 `: X1 J0 ]; A9 ^5 t */
6 k2 F, i6 k! w8 G, c7 Z* @! t) q( `8 K$ B' C
/* set default diags mask */* u+ p7 O; S( `* R' A/ C: U2 V
var Diags = xdc.useModule('xdc.runtime.Diags');0 _: M$ t# ~. o! @
var Defaults = xdc.useModule('xdc.runtime.Defaults');! _) V2 G5 x6 j2 {# ^( K- O, z; I0 L
2 G- Y0 k$ W# R4 gDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* p- n( b7 k" e3 O3 l5 m+ t3 \6 e
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) [, n0 h7 U+ [! HDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 w* `3 R, @1 {& \' V1 {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" a# t$ o6 h$ H Q$ U2 N
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 }7 ?+ b1 G9 q' T. x" \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. |9 L: B6 t. k8 ]* PDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" A1 d4 d) s' X a% Y
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- ^. P/ E _$ \8 c: i; L* ]( hDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ \& }8 ^6 ^0 v8 v' vDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' `" _, g) |+ u' V; ~: BDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
p6 |& q' Q( ~1 v7 x) LDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) W0 J' P! D. A* x6 RDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;- {5 j7 m F; F7 x( ]7 L( S0 z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; u( f9 X; ]! q4 K6 B' R
0 T) Q# m* Z* O1 D' b/* override diags mask for selected modules */
5 Y9 a! u) ~5 q8 X& v. m) Xxdc.useModule('xdc.runtime.Main');
9 d) O+ V# H2 w7 V% H/ _8 G2 oDiags.setMaskMeta() L4 n( b3 q5 V: y; |/ N1 U: r* {
"xdc.runtime.Main",& |+ X: ^) Z2 ]; w+ t% k1 G
Diags.ENTRY | Diags.EXIT | Diags.INFO,
: \6 ]8 n, E! v Diags.RUNTIME_ON3 z: H' o, z1 {/ b* i/ y
);
9 r' A0 O: B* M" q A' A0 ]9 I. {% D/ ]8 v, K
var Registry = xdc.useModule('xdc.runtime.Registry');7 n$ ~9 V$ b) S- q6 e4 q1 ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ [. D& l3 e4 ?4 k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ n" E, D/ ?: Y' e5 x( ~" s9 M& PRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
) `) R j" F+ b9 S2 nRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# T) ^( \8 o6 J4 P4 B0 V8 x
" D8 H1 X0 ?1 z/* create a logger instance */
4 k* Q- l. V+ X4 c; }, V% ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& B3 c) [/ U0 S
var loggerBufP = new LoggerBuf.Params();; Q) F7 B$ y% F1 @ n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) `7 B$ T0 G2 E$ r+ w/ G7 t- }loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- o2 K. V3 H& U$ y$ k1 w2 u! |) }; A. H+ m
var appLogger = LoggerBuf.create(loggerBufP);
& m9 H8 N" ^! Y! CappLogger.instance.name = "AppLog_Core1";
9 J7 d, J. q C, ~% \Defaults.common$.logger = appLogger;# q( d. F! [% ^
Memory.defaultHeapSize = 0x8192; % C/ R+ q9 D: s% m" o5 B- ~: s
Idle.idleFxns[0] = "&LEDStatus";& }% g# Q9 o9 f- N* t
Cache.initSize.l2Size = Cache.L2Size_32K;" e, ^& C; a2 z) l! a- b
4 V1 h# R1 d5 Z/ ~; e& a: K' X
|
|