|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 f% U2 ~4 ^+ Q: I9 J1 m我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) n1 \ @: B/ g% n2 I# T
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 i1 a# C; K- c/ _2 g4 l5 L& A
" u& V% R) [# X: v是不是需要在DSP.CFG中进行配置: }& d) c! \( W+ H2 C% T
我现在的配置为2 J7 y/ k v5 [' y) M+ y5 n
' Q0 i* X0 q; \/*
9 z" N4 o) x% q4 H * ======== Operating System Configuration ========! F- i/ `4 Y; B! } w" q2 G
*/
/ T5 K9 B2 ]9 @$ X/ _4 V
' |: N4 Y. \: V+ P( l/* no rts heap */. D: C, g1 L) x' f: U
Program.heap = 0;
) k2 g5 o5 ~! s1 _- x: UProgram.argSize = 100; /* minimum size */) c; v( _7 \, V3 L$ T. a
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! ?% L9 ?2 p8 A9 l9 v3 C5 B
7 O; c+ {% o9 Q/* create a default heap */8 A' Y, F1 j* E$ m o" N' T# V
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 I. C3 } V6 p7 g9 Y, S5 S$ C1 x/ Q
var heapMemParams = new HeapMem.Params();% r' ^9 m7 T* m# U7 O, G
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ K. A1 Q* T4 s/ V8 [: L* {
' d5 n6 \8 d7 A: |* Nvar Memory = xdc.useModule('xdc.runtime.Memory');' C- x- W# y5 _; Q! f6 x, \
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
- M4 `* } D9 a0 x; q; U' U; \0 }* C* o$ N- J$ S* U6 o8 }; j
/* configure System module */
, b# `3 C* n; j2 A+ kvar SysMin = xdc.useModule('xdc.runtime.SysMin');8 u9 P* `1 L7 V% v
SysMin.bufSize = 0x1000;; E1 |" \1 m" ~! P2 U- H( [, g
SysMin.flushAtExit = false;2 n( W, \4 w4 R
5 [ z4 e7 y. Z' R/ e2 _var System = xdc.useModule('xdc.runtime.System');
+ R, u: q' N; J( k& ySystem.SupportProxy = SysMin;
8 g, |- C- v8 p# A# n% _/ w7 F
v7 R0 G- m/ O1 I+ B/ s2 o x/* configure SysBios to use the lower half of Timer 1 */* n+ D& U- j7 l0 s+ H9 \" w
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' y, Y( }* B0 S4 L% M. ?
var Clock = xdc.useModule('ti.sysbios.knl.Clock');: J& i: z; l% o! {. N: k
Timer.timerSettings[1].master = true;* N, I2 k: ?; `' @* } A
Timer.defaultHalf = Timer.Half_LOWER;
( e$ Y9 R" ]7 }, ]% aClock.timerId = 1;% q+ R0 O5 X) U' Z6 y0 p
( b }% j% |; S
8 Q) ]8 X. H$ ?: c0 m! j" e, c% _
/*& o: a$ v: T5 _( e0 f8 k3 V b: f0 i
* ======== Miscellaneous Configuration ========
, _( T7 G* m% p% W */
" z, O$ F# d0 R$ `
, ` B% O6 g( v$ e: {/* set default diags mask */
$ ~& \9 Q/ S4 h' k- |, Evar Diags = xdc.useModule('xdc.runtime.Diags');
% V2 L) G4 _' X5 I0 Nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 w. j y8 W% `' N2 n& ?. a1 M% K1 B/ i2 \. M8 c$ O& v3 A
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 t; o a% Y5 _1 m) W1 y/ K+ gDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# M* u: G; a' b @7 t
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 ]) `* u* d8 u& P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. m: O; w" f7 {
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 S5 I! e% [# ~# A. y! [9 I1 pDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: y, T, o I1 @2 {7 `; F- xDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ ]/ X2 I/ O1 Q4 P/ q8 c$ a ]Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ C" {! \6 |1 s/ J
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* M4 A, p2 K& u" j! GDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 f# {" F: ~8 K
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' f7 }; j" z( J- l
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( C$ D/ v9 r4 O, q& l: CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 `0 d9 B/ m5 z5 { z. ^/ Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( C u5 Q, M- L" V1 d3 ~# {3 f
) J# {% C4 A& ?! k/* override diags mask for selected modules */
) P$ f# X6 a4 \" qxdc.useModule('xdc.runtime.Main'); |- q+ q% q9 Z& m+ A& A
Diags.setMaskMeta(
: L; w: H7 i% y) ^ x "xdc.runtime.Main",) _) |: [$ |2 b. M
Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 i+ y+ Z. Y6 ~, e' C' ~2 ? Diags.RUNTIME_ON- B$ R/ \9 D9 _7 u% v7 l
);7 C, q. b: G! a3 |- |8 N* H8 B7 c
4 v3 B) ?! T) `9 dvar Registry = xdc.useModule('xdc.runtime.Registry');
3 y+ W3 ]! a* D A: B! x9 E1 \. y6 mRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! J! X3 _' H- p5 k" z
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& t! Z2 p& E* a2 {2 i' h, oRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 v& X( P% J) xRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 |1 M M4 B1 ?9 b$ O) L
5 c% [: G. E/ `& e
/* create a logger instance */
# a) I# W. A+ g. Cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ t. U0 z/ g; L: U) @var loggerBufP = new LoggerBuf.Params();% ~8 F0 k( {5 \& J; K3 b) e$ A
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 M# S9 R& A7 _% M X; d% X. sloggerBufP.bufType = LoggerBuf.BufType_FIXED; m5 W6 i6 G6 ]4 c4 U
k# o7 s6 F: ]0 E' r
var appLogger = LoggerBuf.create(loggerBufP);
+ C" c- p# N2 M. R$ TappLogger.instance.name = "AppLog_Core1";
, w7 _3 \+ a: i5 v$ @Defaults.common$.logger = appLogger;
; V" B; c4 t- S Z9 r5 fMemory.defaultHeapSize = 0x8192; ; h' J0 N" q7 S8 v$ _2 U4 N
Idle.idleFxns[0] = "&LEDStatus";& i& R3 F& P! o" i6 Q; b/ o# r
Cache.initSize.l2Size = Cache.L2Size_32K;. E$ c! Z/ ~9 @8 C6 g& _
$ s1 c0 y: W( U, ^" r |
|