|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 Q# G. O' \# n/ s2 N
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ H+ D) p+ q2 F! f, O. F1 c(不过疑惑的是,为何单独DSP仿真就没有问题呢?): D/ Z/ N5 o! g R
* h% w: y; E0 x- y% P5 y7 X是不是需要在DSP.CFG中进行配置% h) ~8 y' ^: F( M
我现在的配置为
" R' c' g i1 @7 ?6 @/ w- i# e, x+ i: P1 S1 v) Z9 s6 ?
/*
D% {: h( H- [5 I% m" X/ R * ======== Operating System Configuration ========
, K+ H/ R! ~/ A( i */
, w/ ^( [* f& J9 B7 k: ^) }8 {
' Y/ p& L4 D3 X9 ]9 y) R) H$ {/* no rts heap */+ T) G3 f9 R. P8 h3 h
Program.heap = 0;& Y: |% `2 ` Y3 l& @# y: s, \
Program.argSize = 100; /* minimum size */, Q7 M0 l/ K* M( {7 U
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 v/ k; C S! J$ a4 b! U
& S8 F6 S8 n- B3 C/* create a default heap */
+ F I( q0 L1 _' V) ^% x7 jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 s8 i5 }/ }# R7 I0 z; x
var heapMemParams = new HeapMem.Params();
! h9 m& K4 v2 b% z% bheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& }# o W* G0 Q- |+ A
/ e2 D( M$ A8 Z* b% C; n! N% bvar Memory = xdc.useModule('xdc.runtime.Memory');
4 W+ d) ?# V B3 \- g! L. z2 TMemory.defaultHeapInstance = HeapMem.create(heapMemParams);7 {3 o' d8 B% G* ]$ r% f4 W, V
- |2 o' o' T" w0 v) `4 ]
/* configure System module */) l3 p8 c& h! @6 v% b. S! q+ H9 `
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ _& Z$ N; }) M% h1 M% W/ y) YSysMin.bufSize = 0x1000;
- r5 q8 i% J1 U3 nSysMin.flushAtExit = false;8 {2 k6 a& [6 b5 @4 v$ m1 B6 M, H
5 E: l6 i- l d% V$ M
var System = xdc.useModule('xdc.runtime.System');8 q {6 ]8 {$ p F
System.SupportProxy = SysMin;' ~. B9 _' l3 a" u; i
$ i- d2 I; H' P- ^4 @2 Y/* configure SysBios to use the lower half of Timer 1 */& B. ^& `- i+ P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& N' }, y( m5 H! Z. F/ M1 {var Clock = xdc.useModule('ti.sysbios.knl.Clock'); V( C8 r( M! Z/ }4 E [: A
Timer.timerSettings[1].master = true;
$ s1 c u" w5 f# x$ HTimer.defaultHalf = Timer.Half_LOWER;$ c/ z2 i9 W2 D: O; p7 X1 Y9 j+ i
Clock.timerId = 1;
) J C4 H5 f% W+ ]/ A0 K }8 [- K- T. J' r) p Y- L6 z, g
' m7 L: r" S9 u6 x" [* n
/*8 c* A( }+ H. D0 \! G/ N- M0 x. y
* ======== Miscellaneous Configuration ========2 o7 C' v8 h' |' b0 g
*/
0 y) n" f: h U+ {1 B2 P! d9 ]1 d z" N1 Z& i
/* set default diags mask */3 d4 B) \; Q' z h5 ^ l$ a
var Diags = xdc.useModule('xdc.runtime.Diags');) d5 i( u. E. D6 q1 l% A- q! ^) s
var Defaults = xdc.useModule('xdc.runtime.Defaults');8 ^% I1 ~# A1 l. K/ q+ z
% u0 @" P( v4 `6 M6 ^+ G; nDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 V: L/ v+ P" y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; `4 }6 ^& @; L9 h1 X
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 `: Y7 D1 D& e" O
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 |5 [ v$ o4 D @
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* R7 H; u% N* B* W* f1 `
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% G' S+ J h7 R1 L& l2 i# @Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 J* `; y. r8 j4 w/ Y D$ j5 _& PDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: c( ^6 Y, ~: ODefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 I5 P* g4 A# C) Y" p) m! xDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 A3 h e+ T/ [+ ~Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; O3 @* z4 y7 {Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 C) e3 V D6 ]! Y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. T1 H1 f7 @: m3 K
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 M9 \0 B1 X u B$ v# A/ B
% f! v" B7 Y& Q, ^& S. |5 S4 z1 E/* override diags mask for selected modules */
2 J4 L; @# x8 Y/ f3 C9 jxdc.useModule('xdc.runtime.Main');6 q6 ~$ }8 P4 x0 I3 }9 a) h+ N
Diags.setMaskMeta(
$ y3 G N8 d% y; d9 l "xdc.runtime.Main",' e: h5 g8 j2 U
Diags.ENTRY | Diags.EXIT | Diags.INFO,: q; J& e. a: @. `! w
Diags.RUNTIME_ON
" j! l" H! j% a5 w; r6 O);2 o n1 W( M I' o, d+ O& y
! y9 J) J( E/ }6 F3 S: b
var Registry = xdc.useModule('xdc.runtime.Registry');
" L% ~8 Y- l8 X# aRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, S' q1 G+ n$ M, f5 G' r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 A- F9 U* W! b* j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- n9 K8 S/ ^" F; Y* x
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- ~ N& ]! m P( E: S3 T
, a6 t. P& m* J; b& m/* create a logger instance */
5 d4 R+ z6 ~9 b6 O1 vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 h$ ?9 n* P' h4 x( Z( \1 O- x/ Bvar loggerBufP = new LoggerBuf.Params();1 F" e8 R5 @2 r5 c2 F, K; X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! U( ^4 i2 r) b2 x* g7 i3 I6 |loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 d: {/ l8 o8 J& M1 h7 S4 q1 [$ I7 H$ @$ J; ^. ^4 `! G% `
var appLogger = LoggerBuf.create(loggerBufP);3 A0 u, T3 W- z8 s, d
appLogger.instance.name = "AppLog_Core1";% L; ]: i( {1 I
Defaults.common$.logger = appLogger;: k+ h7 [3 X' f
Memory.defaultHeapSize = 0x8192; ! c% I2 q* L* y, S* p
Idle.idleFxns[0] = "&LEDStatus";
/ X# |. q* F, H o% f3 dCache.initSize.l2Size = Cache.L2Size_32K;6 r6 E( b/ G5 {; R) Y
7 L3 p3 B7 l' V3 G: e
|
|