|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: O0 g( d! e+ `/ n
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% c, p; s5 M2 o(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 Z4 I+ q7 {1 L& m) b1 |. N
o; F% P6 B* m* v* _ e' k是不是需要在DSP.CFG中进行配置
/ D9 U! U* X0 g6 k: T我现在的配置为
, m7 y6 z m P6 F1 |
# J# n( Z& J* f2 n; a/*# U5 ~: m# D1 r$ N' t
* ======== Operating System Configuration ========
2 r O9 S1 z; b7 O2 G, } */( @5 k' c l; e0 l+ F* b
4 U" e ?6 V2 T% F/* no rts heap */
* d- k. m/ P' c8 b1 B4 E; z. S" sProgram.heap = 0;! E$ p. F. F, e
Program.argSize = 100; /* minimum size */
2 J& E& B6 E. G2 `/ ~( a& bProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; v) j- f0 ]: d; z! t% X5 M# W/ [9 ?. H
/* create a default heap */3 x2 R# ~. L2 O# S% Q: h5 f# ]
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" Z* d5 |) A2 U" @: ~3 ]var heapMemParams = new HeapMem.Params();
5 v9 j$ q; M# w8 }heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) k9 S3 J/ z, u, ^, E
7 ~% l6 j! f5 n/ c# h: Fvar Memory = xdc.useModule('xdc.runtime.Memory');- G, `! Q+ U4 k" E1 a. q+ f. v; }0 s
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% ?3 ?1 Z* } u4 f* }) h
. |+ j1 g- A3 {8 b
/* configure System module */
( `8 t1 ~ N' wvar SysMin = xdc.useModule('xdc.runtime.SysMin');* I! M& Y, c7 g+ \/ Z8 n1 `
SysMin.bufSize = 0x1000;* S" y( X4 X, \
SysMin.flushAtExit = false;
3 y$ z% y1 h- Z! m" Q0 I5 M7 O/ ^# E
var System = xdc.useModule('xdc.runtime.System');
( o, h: |& Q* gSystem.SupportProxy = SysMin;# S( v* o4 v, d F) d: i5 [) w
# w9 V' b0 x, D5 {+ x2 S' h
/* configure SysBios to use the lower half of Timer 1 */
. u" j" o( ?9 d* yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: v) i8 ]/ \1 x8 o7 J8 y; f+ f/ uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
, p. q' Q) v* g6 [Timer.timerSettings[1].master = true;" X6 {( H9 ? y
Timer.defaultHalf = Timer.Half_LOWER;: S# \/ G. y5 d
Clock.timerId = 1;, U2 f! r5 a& i, C5 W3 @3 R0 M S
& C9 m! c' K5 S5 G
* ~! h+ v1 a4 [, j& _/*9 `' D; r7 }* X/ _
* ======== Miscellaneous Configuration ========
/ n6 g& V! a2 m- a! u( w+ Q */
' I2 n* u, E$ n
0 m. \- a& c1 E1 x3 L2 N9 k/* set default diags mask */) u5 A0 n/ g {2 D4 h: \
var Diags = xdc.useModule('xdc.runtime.Diags');2 r, M0 }6 \& e8 s$ V
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ Y0 Q9 `. u/ z. w. V! S5 [ D# n0 @( n* Z, d6 z9 w7 c- H1 ?# O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% `! M) P O/ r! i& fDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ u, P2 ?; e# B% _4 V* z6 G
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! e9 N+ F# e+ m$ C
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 }& q; }7 F- l. j# [
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
: n9 D! ^& _/ v( O2 I4 C5 N) d0 y/ w, f6 i pDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 u* p; D6 z8 F& [( F# aDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: R4 S% A+ E; I1 b4 q1 \Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 q0 d% ^5 D! o2 W0 T6 H U
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& f- J: d! o" g1 K& ^1 J9 fDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 y' n6 s$ F- N9 ?) |
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 t6 ^, n% o$ ]; L, YDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF; `3 Z! I; r6 Z9 _! A/ V6 p# M
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ F y* w+ _# O. F9 \8 D9 v2 `2 mDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 B5 P9 `: f; f. k: w9 X U1 T/ Q/ u. c
/* override diags mask for selected modules */5 [1 x3 a8 b, V) f0 u3 W \
xdc.useModule('xdc.runtime.Main');
$ q+ g2 W0 p! |, m3 Y9 fDiags.setMaskMeta(# `. y5 Y( b9 {( F: h% ?* s
"xdc.runtime.Main"," L8 K# X M) e
Diags.ENTRY | Diags.EXIT | Diags.INFO,: T: D5 q, R4 U1 O
Diags.RUNTIME_ON
+ s: p' \" v- ?& Y);
! I6 m9 c3 n3 L& J: `/ ?6 e- q' T- w8 r/ p% v& O8 B- `
var Registry = xdc.useModule('xdc.runtime.Registry');
; \4 W' [/ M% U& N- |# C- XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 }" f$ r. I8 A- t5 `7 XRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! _* q9 K5 H4 a( u, F* @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 u0 j# L$ s' j6 X$ X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
K9 U! ?2 f) w p3 x8 J9 b: c0 V6 B( p6 Z) t2 ^
/* create a logger instance */
! [8 u2 q7 w# g% S: ?) Nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); Y7 N j4 j5 S6 e ~# J. _
var loggerBufP = new LoggerBuf.Params();
! u; @8 v8 O: r) i& c, ]loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 H! p4 N( {( [2 r, p2 F/ X- H1 _
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. ]! ]4 @( T1 a( ^
- ^6 O6 l8 y6 w7 K# nvar appLogger = LoggerBuf.create(loggerBufP);
0 k( a: D& L; d+ C( K( MappLogger.instance.name = "AppLog_Core1";
, X! _- ~; Z5 b) A1 O- j& {Defaults.common$.logger = appLogger;
+ }0 Y: ^& N; B. k5 [9 fMemory.defaultHeapSize = 0x8192;
6 C! n9 n4 X# |6 w: E& sIdle.idleFxns[0] = "&LEDStatus";9 j3 ]2 {4 }! P" x5 l5 ?
Cache.initSize.l2Size = Cache.L2Size_32K;+ q' s5 _9 R$ O* U& E& B0 ]: [3 U* O
: W" z8 z4 v# X! q$ h' W/ u
|
|