|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& u: A9 w& C }; E) P我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, e F6 H" R; U3 x" }4 P. u
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ T8 \% u6 c3 [2 p' V) y8 x5 w, m' ^ m% ?8 }! _5 s% U
是不是需要在DSP.CFG中进行配置' g6 N8 [) M: l% Q. E
我现在的配置为
5 t2 ]* J) e! H$ x* j
4 L4 j' w) I' \/*
4 y" r3 H. I% D( w5 G& p. m * ======== Operating System Configuration ========
( m' c& Q( T- B6 t */' H, S% E6 J' ?: }# }! o+ U
5 P5 ^6 M x& c9 Y6 c* l) S
/* no rts heap */" {9 c, N4 M* m5 t- m# _( |
Program.heap = 0;5 C) m3 Q) I, q0 `0 P8 [
Program.argSize = 100; /* minimum size */$ s9 C0 _+ S1 ~$ y$ R& C
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大. ?+ K. M# [3 Q3 ?7 |8 v) x* m$ h
* x( X' M _4 ]3 m2 X
/* create a default heap */9 m5 y6 ^8 r' M: ~, y- O
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 ]+ i* D( C B! G( e
var heapMemParams = new HeapMem.Params();
$ U& [- ^+ q4 J# g5 }& P8 theapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* E6 k- b) J d& d
7 Q: \# y6 Z5 f$ ?var Memory = xdc.useModule('xdc.runtime.Memory');1 C. i/ I) O* l$ s; U
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 \8 c$ i7 q# ^( l; D( O! ]: R
d# T! B9 T: n0 |/* configure System module */
- V- [( {3 k2 v J3 qvar SysMin = xdc.useModule('xdc.runtime.SysMin');+ S' Q; E. ^( E7 l7 w( [
SysMin.bufSize = 0x1000;
; R \8 j8 C2 l5 USysMin.flushAtExit = false;
8 \7 ?+ \6 N# q) ^; l! R' v6 P% |" b( p/ c
var System = xdc.useModule('xdc.runtime.System');
# M7 O) F; ]+ l' gSystem.SupportProxy = SysMin;
; [$ f% L5 L$ ?2 N+ g! l. S
, ]" `! P$ H. D" N: k" U) {: T2 h/* configure SysBios to use the lower half of Timer 1 */
0 S0 m2 @; e+ T4 |4 K4 g: s+ E8 Z2 Ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- z; Z, `8 b, z* gvar Clock = xdc.useModule('ti.sysbios.knl.Clock'); w: L" c% I- Q$ ^5 y: b. }$ q
Timer.timerSettings[1].master = true;
* v+ c0 ~: @4 E$ V, ZTimer.defaultHalf = Timer.Half_LOWER;
1 d1 z% x( y4 [& f/ ~7 _3 EClock.timerId = 1;
+ `+ j) j. d/ g% a( N' z5 b y6 H* m6 @) Y
! e3 G1 j' ?9 s/*
9 i- Y- Y1 A" R! ` * ======== Miscellaneous Configuration ========
]; R6 ?5 ~3 D */
% f* r) t/ g U- A4 T, N7 ?. R8 }9 Z5 H% D6 X" [
/* set default diags mask */
$ j+ @0 X0 l( S+ [! ^var Diags = xdc.useModule('xdc.runtime.Diags'); j4 a. c8 f* w2 p
var Defaults = xdc.useModule('xdc.runtime.Defaults');/ i9 p% e0 y( R) _6 I1 A8 |2 T
" c0 q- q; q7 n$ q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 p+ Z: v$ O* @- V
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 m# }: ?! d0 `: e Y& k SDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 i' [ A) o, q x0 WDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 T1 S6 r+ L$ }
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ Z# s* s. }$ y; S9 ?9 a5 d( ?Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ @. c+ ^! d J; v2 H$ VDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! }. J+ D _" I, Z! EDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 E; e% i6 n/ }# b7 r( Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 }5 G! C0 e' o
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) l7 f1 I \& |; nDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;! m4 y3 @ j, L( [7 q
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 m$ G" ?7 N, Y+ S8 ~0 b# ~% KDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 w% u4 a; n7 B$ k2 lDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& i8 f% K$ A4 O8 z t! T6 D) C
% c E+ Y6 {: u4 A7 C2 y/* override diags mask for selected modules */( \) [5 U2 m4 Q
xdc.useModule('xdc.runtime.Main');
" r; N% H" H+ P0 r3 z1 L. GDiags.setMaskMeta(3 r( S) s- b3 u+ Y" i2 J+ m$ s
"xdc.runtime.Main",
- G q& F* ?2 g' \( v: E Diags.ENTRY | Diags.EXIT | Diags.INFO,
: X T: E, d& u7 ]/ ^: H. Q$ U Diags.RUNTIME_ON
$ K3 l& A0 \1 l4 G& Q);
8 l# _1 g* \0 L- \; e# j- l$ v N- l1 S* b- H: Q/ q
var Registry = xdc.useModule('xdc.runtime.Registry');3 v# h9 L! r+ J, R( w, o
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ C# s" g$ B' H- [# Q+ CRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 p' z3 c% i* L: ]) _* K
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 a5 l1 j9 @: sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; I2 R5 Z+ ]: L. }* _/ d8 l R+ x+ z L
/* create a logger instance */6 t& f* c( c& P2 ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ N3 O/ R! B h3 o& ]+ W
var loggerBufP = new LoggerBuf.Params();+ ]( H: U$ C8 X: N; J- p5 r* I6 T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# V8 c' ]/ c0 r/ a1 V# EloggerBufP.bufType = LoggerBuf.BufType_FIXED;4 S; |# G9 n+ \! Z9 W( d6 r5 _
5 w# C+ z* z. ~. M0 G
var appLogger = LoggerBuf.create(loggerBufP);
# |1 }" X5 T" ^& e0 nappLogger.instance.name = "AppLog_Core1";: Q5 H& r- p j8 N2 B
Defaults.common$.logger = appLogger;9 J0 u, D: d* v; w( {
Memory.defaultHeapSize = 0x8192;
( ^" }. b+ |* O5 o" cIdle.idleFxns[0] = "&LEDStatus";
& c7 ]5 G2 P5 V$ u( {& `8 BCache.initSize.l2Size = Cache.L2Size_32K;
2 f) c$ i! Q! ^" D0 H, j! s; y. d; j1 V- {, O ]2 j; y# E% @
|
|