|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! X: E7 r1 A+ P" K0 c3 z
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; ~4 Y& z/ ]" _) I( d5 v* o8 e(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( R7 h; r9 R' T6 p0 {" ]7 T
9 s& a( d( o7 o, B2 p" e8 i$ Q. b
是不是需要在DSP.CFG中进行配置
1 l9 x Q x* r, w' Z$ K A我现在的配置为
+ e' ]* H. k8 i- R5 |! I) }/ I8 c2 O+ _3 U; t+ [
/*
* H/ U' R+ {- T+ s. t% K( R * ======== Operating System Configuration ========
9 l/ W. J9 D4 y( H: U */
* u$ P+ G" E, {; |2 t
0 _ p6 ]" h$ c3 j/* no rts heap */7 p( S- F& u% i) |) e) e& P8 j
Program.heap = 0;
9 v; N, U$ F+ V8 ?: A* ~8 JProgram.argSize = 100; /* minimum size */2 C, e& e4 B" z5 Z6 @
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大% X* {9 o% J: [: B8 l( F1 w
- o O" K, E* y& r) A1 I/* create a default heap */
" V! f: Z( l! s9 avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" q( c- L: F! S" c7 M! f' Ivar heapMemParams = new HeapMem.Params();! W; C3 b3 e* n0 q. M% j
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 r$ ]. f% ~% t' j1 v
" I, V& ^! [4 M: i& C& nvar Memory = xdc.useModule('xdc.runtime.Memory'); m& Q4 k9 z @1 x) J, E# n
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% i2 ^$ R% r) W3 ~( g. V
) D8 ~# W+ q$ B" L- ]+ S& }9 k# f/* configure System module */
% w& i3 f- W/ y/ ]$ m, `& V3 ivar SysMin = xdc.useModule('xdc.runtime.SysMin');7 Q2 t& \* c5 ^- E0 i4 ~
SysMin.bufSize = 0x1000;& ?$ h3 \, X# ?2 r, ^
SysMin.flushAtExit = false;
6 V. ~" U# ~. k3 a' c$ a
8 B, S. w7 @' r3 P9 Ovar System = xdc.useModule('xdc.runtime.System');
6 l* j5 Y8 x# t dSystem.SupportProxy = SysMin;
8 m' E. L3 V/ N& O* ^# S. ]5 m, n7 U# k2 \7 E2 k6 e6 D- w& U- x* [, H
/* configure SysBios to use the lower half of Timer 1 */" w3 l- c0 w- }7 A% b0 Q# L0 B* B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: A) ~2 k1 m7 R* }2 {
var Clock = xdc.useModule('ti.sysbios.knl.Clock');. p y0 S0 d! K0 r6 ^7 H
Timer.timerSettings[1].master = true;
0 A( J3 L2 M) V; wTimer.defaultHalf = Timer.Half_LOWER;
5 |5 R# E: P- u- iClock.timerId = 1;
6 d( t+ N# r" d5 q" X) h: ~5 U& ]- o- q `5 _$ [
% s7 \& M H0 R
/*0 t8 \/ R$ e' a# |8 I6 E( P" _
* ======== Miscellaneous Configuration ========
/ [1 u+ V" i6 x" U */5 j8 O. x! ?6 \6 c$ G$ x
7 M8 d5 i$ K6 v. X W/* set default diags mask *// W; ?" @4 ^, c
var Diags = xdc.useModule('xdc.runtime.Diags');% l! @$ y+ G+ M1 k9 Y( X7 K
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' N* o4 Q! S( Q/ ?
- X! ?8 R8 I$ E7 bDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: H1 F8 a4 F! S2 p
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! M( y2 o. i: S' e
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 I2 j% t" d C( g8 T" e% eDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& [2 e( q9 j( g. ~ _
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 a4 O' w! c5 N4 U7 l; {1 S
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# f) j1 {" G7 t ]* EDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- {( U, B- d% f4 p$ r8 t! u, s
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 _" G+ P+ ^1 \3 w0 ^
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 y a* I9 @' y0 w# _$ f; IDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 ^" [( h4 U. I" f6 a
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 [) B" K* e( i, K7 B" a. e2 EDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: v1 \+ W. R/ d e6 hDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 \* e2 ~. u/ M: k, z" K, pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 {% r& K: D5 R4 u/ j* o: V5 g3 Q* T8 r( C+ Q
/* override diags mask for selected modules */7 d8 D& R4 e1 ^; K5 b( a# b6 |4 X
xdc.useModule('xdc.runtime.Main');
7 S! k% Q$ [" P% m; Q6 Q; \+ K: h# ~Diags.setMaskMeta(; R! r8 E1 z) Y% A
"xdc.runtime.Main",
$ ^, r# m% F( i( I4 ~3 { Diags.ENTRY | Diags.EXIT | Diags.INFO,
: a0 p8 l& w. P7 \% F Diags.RUNTIME_ON# C; C3 I+ H6 y
);* O) o& {- Z) I! W
5 x+ {- |0 i2 [/ u7 C4 g' Vvar Registry = xdc.useModule('xdc.runtime.Registry');
6 L9 M% d' o4 S, A0 PRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" n' j: A) N; L" L; G. c! R" A
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 N$ h' U, G! c: ]0 ~- cRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. u9 v1 C& V& x2 y+ x: m( aRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
[% W0 L S$ v1 O$ M3 d* c7 d. I8 J5 Q$ y. u o g0 f
/* create a logger instance */
8 X1 k$ n. n6 O( vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' j; T, H0 x+ ~( N5 x/ J
var loggerBufP = new LoggerBuf.Params();4 Y* e0 e( J8 F/ U) I: x$ {
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# F7 n; U: f+ BloggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 n# z3 `+ G n7 l
! A# \, }0 @+ E$ I6 ~* Yvar appLogger = LoggerBuf.create(loggerBufP);; Q. t4 L5 w4 M1 o8 I; H% e
appLogger.instance.name = "AppLog_Core1";
: U$ ]. U) \" x4 T7 s) D- h8 xDefaults.common$.logger = appLogger;2 ^+ _: b4 g) B6 m6 V4 K8 n
Memory.defaultHeapSize = 0x8192;
( J# T- S6 x Y+ {* W9 ]' {Idle.idleFxns[0] = "&LEDStatus";2 ]$ T3 w: k+ O6 B: J7 S; D
Cache.initSize.l2Size = Cache.L2Size_32K;3 j0 ^2 e$ ~! a/ @. M6 k
4 F: o2 ]# q+ R |
|