|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ ~ ]! M6 g& f+ @* `8 M; y" K9 W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 T5 I# l2 O' z; a& l$ P1 S(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
]! [" t8 q* [& b- |6 t. J; Y; k: g+ _; u6 l1 d' D6 M
是不是需要在DSP.CFG中进行配置
1 {$ n8 @% ^' c8 X我现在的配置为
! E7 d4 R. B' h( O0 O6 z
! [- _9 p6 `0 {& b/*
6 c& k8 g) {: \$ U * ======== Operating System Configuration ========. n- _0 Z' g4 G: h9 I- B7 N
*/0 M) b, s+ ^( _
$ [' r6 J2 P' m {/* no rts heap */
. Z7 g1 |) z# [ V/ h, mProgram.heap = 0;
7 g9 F, Q2 R6 u4 qProgram.argSize = 100; /* minimum size */
1 |/ Z# g0 w7 x L7 WProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' ?; P/ C" J, s3 G3 g9 k& D
2 O% I" A6 z. R7 }0 T/* create a default heap */+ g" ?$ q+ Z6 H5 d) U& f9 n
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');' z0 j& J" @' \7 w h. r# B
var heapMemParams = new HeapMem.Params();
% {4 J! J- Z. l3 V: g9 F# ?heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 @* V+ G% G& q' ? D$ M b" H9 T/ f7 Z, ?7 C2 U
var Memory = xdc.useModule('xdc.runtime.Memory');; e1 ~0 Z+ c# j1 o
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 z i% A7 n! ]. @& D' w
8 x9 y5 ^1 O' c5 X- `& ?% B/* configure System module */0 |# q, W* u7 x" r/ R; ^& l
var SysMin = xdc.useModule('xdc.runtime.SysMin');
) d5 q4 l- T1 \ O4 y. n5 A3 mSysMin.bufSize = 0x1000;
1 D1 f' `6 ^ z4 kSysMin.flushAtExit = false;
! Q4 V8 ]5 w9 g. E ^8 ^' a* R5 i
var System = xdc.useModule('xdc.runtime.System');5 O) V4 F/ s; y1 o
System.SupportProxy = SysMin;4 x) w! B7 {! k" W
" ^' g2 ]( P3 f4 G) w/* configure SysBios to use the lower half of Timer 1 */4 l( U c1 D9 ^% j# F) C) t; t
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' v w3 R! Y) x1 e
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 p% a9 k, X# y; r
Timer.timerSettings[1].master = true;
1 c9 L f6 }+ m3 W# ?+ r0 z6 \Timer.defaultHalf = Timer.Half_LOWER;1 m( G7 e" v( n: Q8 t" n
Clock.timerId = 1;' C5 h+ D, |- |
1 e4 w( _! ^1 W& R, R, U! H& G) a6 R. B9 {
/*
! ~5 y. w) J( ?( g6 {$ o * ======== Miscellaneous Configuration ========$ w0 L+ i! u& K+ F
*/4 ^" w) `9 _6 Z3 |/ v
! A; o4 }+ o; `/* set default diags mask */! U! m3 V1 n8 Q* k( s
var Diags = xdc.useModule('xdc.runtime.Diags');4 d6 y/ Z# }5 K3 Q" n$ I% T( ~
var Defaults = xdc.useModule('xdc.runtime.Defaults');- v( e8 v Z, ^8 T. O( ~2 o7 l
1 n2 k2 L: u' X2 {4 _7 l9 N9 `
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
! F E8 u+ k# m, C+ o7 nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ A5 R( B/ u) T5 p1 q' vDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; w# n" A+ A o1 Z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* h r3 c- @2 V0 S5 m
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 u" N0 l8 a5 [% r9 l8 G; hDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 y# d9 h5 @0 k2 }# p) y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# H$ M+ G+ Q2 x0 L# L# ?Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 @/ b# ^# C) J4 M( G6 R1 q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, E _# Z" `" a! p0 y# c" s2 p- F: dDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 I2 M, R- D1 DDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& S! m [7 f) F0 a2 U% }" wDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% R5 r, L3 y6 H/ o0 @Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' x7 w# ]% z5 i4 }5 W" D2 ]+ H, Z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( Z6 _6 y- _0 L$ F+ q
! d' p6 }% s7 i# S7 a! x/* override diags mask for selected modules */
# V$ W1 Q( W$ [3 b% d2 Wxdc.useModule('xdc.runtime.Main');
* F, }( U: i4 h/ RDiags.setMaskMeta(
$ _' ]2 y) \) m: L7 R "xdc.runtime.Main",+ I9 X/ @ w; R3 q' b# V. q1 @
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 A* d0 `! D, U: h0 O
Diags.RUNTIME_ON8 O* V& W$ _. h! ^& F
);* [9 C$ z! O7 W, g
+ q! T1 h! r+ [! avar Registry = xdc.useModule('xdc.runtime.Registry');
: J" |4 B. T' p5 Z9 }Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) K0 y9 u# N# M6 L& Q! z: ~6 HRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! g) l: E" }- a+ U3 j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;# Z3 s- ~9 o$ t/ S
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( [3 P5 h/ m7 E, u
! N( u+ W. F2 V7 r, \* r/ i/* create a logger instance */) y: }/ V _" X9 u
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');5 N7 v( v5 {1 d
var loggerBufP = new LoggerBuf.Params();8 K, `9 k" G/ z# G% N
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 S S" B# D: _9 q) J) O" b# t8 D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;6 N2 J' N8 b) B: E; @5 V8 o+ W
7 z, B9 C. u; X) p9 O" |! Z( `, dvar appLogger = LoggerBuf.create(loggerBufP);
1 O- d' w# Q8 J; k. eappLogger.instance.name = "AppLog_Core1";5 U- F0 V, L( ]' b& m/ u
Defaults.common$.logger = appLogger;4 J; u( ^& v: a* a/ p/ W1 u
Memory.defaultHeapSize = 0x8192;
* ^1 i% ]0 a4 eIdle.idleFxns[0] = "&LEDStatus";
. }7 J* \1 ~0 n8 u8 ^5 PCache.initSize.l2Size = Cache.L2Size_32K;- r; u* q2 s1 ?/ c
* [: [% N$ M) ^+ _# E! U; H
|
|