|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 k; F, V: Z, |* X
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 \" z$ o$ I; k h# j ?' g(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' N1 h2 F9 v& n% j# y. |3 S# R: K) s7 ]+ s5 U3 f
是不是需要在DSP.CFG中进行配置
! X7 k; T4 I% X0 S! ?! w$ Q我现在的配置为
, e. K9 L! s, I2 _7 c% s. I2 Q7 f+ K; L
/*
% a. \% ]3 M; a# `" o- [ * ======== Operating System Configuration ========3 n. L# L( t% C
*/! q/ U0 F+ l5 ?( y6 Y
- c! X2 u0 f0 m5 t4 y- m/* no rts heap */
3 F3 d# J4 X9 D5 J2 f' d a5 kProgram.heap = 0;
8 G+ [0 H0 s+ n. fProgram.argSize = 100; /* minimum size */6 }/ F9 d2 A2 P/ j8 T1 e: E0 V0 A
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, P* z: B( [4 m
" B6 H$ M: d+ y3 C( |7 w
/* create a default heap */
3 e) O* o, G2 u. A6 h; mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
! \9 R& t; w, M. Y4 H; ?/ mvar heapMemParams = new HeapMem.Params();
$ J4 b+ y# p; N7 K% U& D- ^heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 l. [$ ?# L! s/ o, ~7 O
X. F# V4 i) r' B2 N B' yvar Memory = xdc.useModule('xdc.runtime.Memory');
1 d' t2 M: O( D8 S: t( v0 }& i( qMemory.defaultHeapInstance = HeapMem.create(heapMemParams);+ M/ z1 }3 I' a8 g1 ^ o
! o# M% i' W7 Z* `4 ~/* configure System module */& y2 m. n7 J8 {& |5 R2 L
var SysMin = xdc.useModule('xdc.runtime.SysMin');
+ g6 j% |% p4 z/ T3 tSysMin.bufSize = 0x1000;' t& I+ m# A t, N' X, C
SysMin.flushAtExit = false;; {( ~, S7 }" D
& Q/ _6 @9 V; _- |/ q) m/ u
var System = xdc.useModule('xdc.runtime.System');. b7 F- _4 p- u' U9 S( x
System.SupportProxy = SysMin;& p' |9 j* q3 _; v K
1 T4 S4 ]8 U( w! k) _/* configure SysBios to use the lower half of Timer 1 */( T; X& ~9 B, n$ O
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 D# I. B: N6 T7 w8 h# [ `% fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 g D# L ^7 i, i+ S$ ?/ D/ GTimer.timerSettings[1].master = true;
( M- [1 J- `. S; N+ P* kTimer.defaultHalf = Timer.Half_LOWER;
5 x$ C, n, t6 Q2 Y' Q, E: G6 b4 P5 a1 A+ LClock.timerId = 1;
% b# l3 b! l# o0 `! k# {- Z; w4 i: f$ r. v* K. r
& I' J8 [( O1 t6 u* F9 ~& U1 B/*
) V; h3 S( w; F" O1 \) D6 z& w * ======== Miscellaneous Configuration ========& o# I. M! U9 c, U( b, P/ W+ k M. S
*/% [$ W4 y$ I0 p8 M# D
4 L) K0 E/ a" s/* set default diags mask */" @( d n1 c3 I d- y6 F6 X
var Diags = xdc.useModule('xdc.runtime.Diags');
! H2 { Q; J" u# Y% s4 w% Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 ^8 Z; T3 B9 e% C0 J6 `+ \" m5 S6 T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- h5 K: R7 @9 O% z" M( e. ADefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 e2 s! x- M7 c) i; {: L5 d l
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 w# _7 ^; b: e+ R$ n; T" h: \6 q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ b" W4 K X( a* k8 S5 o$ w+ Q- T- FDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ b/ K% f! e. o6 N9 F6 V) J
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# L$ |$ m& T. k7 ?- I4 ]5 iDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; W$ X/ \$ R6 q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% T5 I* O s) F: Q' a; BDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; v* v' p6 d* P& e! x% ]+ L8 L
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 n0 {5 I6 ]3 h4 f g r1 d! zDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 Q5 W0 \" k7 @. B- uDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF; S& @0 B+ C$ }& ?( @/ Z- E
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. W: y D' b9 k' \4 T+ h1 u% N
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# W+ T& M9 E1 w% K
0 r" R3 {' P; Z3 \
/* override diags mask for selected modules */4 y; \9 l# f7 u0 S. [ Z
xdc.useModule('xdc.runtime.Main');
6 Z5 I8 u7 ]6 z& j$ dDiags.setMaskMeta(
/ [5 D1 Z. `& d& P- j% E. N "xdc.runtime.Main",
% Q1 E0 f, f8 w) i& V5 Q Diags.ENTRY | Diags.EXIT | Diags.INFO,$ U" u; N2 e! e- E
Diags.RUNTIME_ON" c+ s/ a" w( Q+ _6 d3 e J
);
# ]. k. f+ q! |8 Z8 v. I: E& Q! X. `
var Registry = xdc.useModule('xdc.runtime.Registry');6 P8 v' `# n( X8 k' u1 D
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! M5 s# @9 a! f& I
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 E* ]% O- _% y; r: D
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 p. w9 I9 r9 n. t4 x( \2 j
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 l9 N+ c6 n, Y; }) H! Z" b% J
4 y" q3 n/ c) k3 l4 _7 Z/* create a logger instance */
6 C8 r: t5 Q# [6 nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, P: V& n+ U# _3 Z: q% Q4 _var loggerBufP = new LoggerBuf.Params();$ Z& e. |. ]3 l, `
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ s# ~# M0 m+ e2 }1 q- [$ E
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( M) b8 z; ^# J- ^: e, c% N, W+ H* f7 {: f
var appLogger = LoggerBuf.create(loggerBufP);
4 R/ X5 l1 V% C% |2 a2 gappLogger.instance.name = "AppLog_Core1";6 F6 p% V8 r+ ?5 r, A8 C- b4 B
Defaults.common$.logger = appLogger;
' Y8 l: C6 k3 a1 I7 ~( sMemory.defaultHeapSize = 0x8192;
( ?; q5 R, l- i2 x; o8 |Idle.idleFxns[0] = "&LEDStatus";
$ O0 T# B3 @. D: YCache.initSize.l2Size = Cache.L2Size_32K;7 D# O: B0 Z# J7 {! Y* b
: O' g: e+ |3 z5 C. y+ k) O- o( r
|
|