|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 b4 n1 k" O8 H- p: p; x
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 \! m) J5 H2 C1 T2 X(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# I2 o7 T' B# H7 v& t, `) ]8 t. O
是不是需要在DSP.CFG中进行配置
0 b: A( P- I0 n" b我现在的配置为
: S6 P. ]; C- C1 o! F* x6 r, c1 w
/*
* X% T4 W/ w5 n& d2 W * ======== Operating System Configuration ========
- X! D( F0 Q, j9 k& v/ V */+ U6 B) ~2 h" C: r+ s @8 D
; w* w: M; b- \
/* no rts heap */
/ V* r6 [1 Z0 _' G1 eProgram.heap = 0;& m. D) ?* v" D& g2 ~ N2 g& J
Program.argSize = 100; /* minimum size */- T, P: a5 i; c4 A6 s! ~# @
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大# u3 e4 {; b2 q1 q& J: z% U; Z
" U) T' }2 N, R/ F: c T o
/* create a default heap *// h! f! A0 y9 f( Y7 y& T% n1 t
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 D }; S' P1 e
var heapMemParams = new HeapMem.Params();
6 ], A. q. y4 cheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' O; P" `& n: C# q9 V! h
( |2 G1 f( A1 x; Z' x+ rvar Memory = xdc.useModule('xdc.runtime.Memory');
( n' b' Z8 m6 d, ]Memory.defaultHeapInstance = HeapMem.create(heapMemParams);1 n# K. d& k: e, l& ~6 i5 @
/ S* y! N) L$ M0 ]
/* configure System module */) T+ Z: R2 \, D+ F2 t
var SysMin = xdc.useModule('xdc.runtime.SysMin');5 p6 n% a2 a: H9 k
SysMin.bufSize = 0x1000;! T. M% \, `+ q/ Q- D& w" S
SysMin.flushAtExit = false;
P8 M) v w5 J3 \
2 |) U: H6 P1 m# s& Z' ^- Uvar System = xdc.useModule('xdc.runtime.System');2 ?% M5 C9 q' K. ~
System.SupportProxy = SysMin;
6 X+ o+ U9 g* X' |8 Z
% M2 H, n. |5 {& L X$ q/* configure SysBios to use the lower half of Timer 1 */
6 m# P/ X1 b% S" V# qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 g' T2 L6 W" C" D0 _7 vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
) j$ D" C9 B- S; ^/ Y7 \Timer.timerSettings[1].master = true;$ P' T9 ?% B6 m$ L2 A8 R
Timer.defaultHalf = Timer.Half_LOWER;( m# p' G' H, W/ A) f) L% H
Clock.timerId = 1;5 ^( i, T% N. ~4 q' ]% C& {, f
" I3 L3 t. k% A; \: D! q
2 a! m! s+ L+ p; \$ l
/*
5 c( R. A9 ]4 e. i+ b- j2 D * ======== Miscellaneous Configuration ======== ]/ W1 L1 Q+ \& e; f
*/- M4 z; i* e) v! G) z& c8 h; M6 K
4 C, f5 m/ Q8 f/* set default diags mask */0 t) I7 A2 e$ ]2 L3 \/ G0 \3 `! B: `) X5 o
var Diags = xdc.useModule('xdc.runtime.Diags');. S0 e) g* R5 g% G. V& {% \9 f
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 V6 j! X( Q7 H3 b0 O
, k. u F5 u' f! Y1 a7 @; d# o" V% H4 TDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 L% K3 j) m) P3 ^" a2 pDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 a, E4 [2 F& x; s, m2 s8 N M IDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. b) o7 j+ v2 p0 @: W8 qDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 x9 {' _) @' M' g8 e# q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% v# q; `2 B% ] c" Q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 U7 E2 Z+ }2 ]0 V) r: q: v* ^Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 l1 |4 y7 f, f/ t2 D) L
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
. X! V# A% I! m, J# {0 vDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 `$ Q0 D7 h0 J- i- Y$ e7 x/ zDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 }3 [. J$ i' [) w! g2 Z+ M, {Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
. ]9 e$ U9 P) }8 S6 VDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 v' F% A2 E" V+ j/ o% iDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;% }8 I) f# W9 q1 B1 t# g. [
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% R& ]( c" {4 O/ T) J+ q: g3 l) `% F7 b5 h
/* override diags mask for selected modules */6 F. D3 w# |* d
xdc.useModule('xdc.runtime.Main');
* i, ]. l/ S9 W* T2 C6 m+ gDiags.setMaskMeta(
9 a% y/ ?0 D) \+ U& R P6 Z "xdc.runtime.Main",- F4 i6 p7 Y4 L( i4 e
Diags.ENTRY | Diags.EXIT | Diags.INFO,7 L3 q) i( F. R4 p) N2 W' K0 {: g
Diags.RUNTIME_ON! M1 C1 b3 u0 @3 V' Y! W
);
: h0 S: e$ _: k1 k( v
$ [- d# m# t' Mvar Registry = xdc.useModule('xdc.runtime.Registry');3 b% ~1 e) X' }
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 R) s' C* P+ p" U% p4 g: y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 G/ n& p+ L- q- J
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; C; ^3 m) H" C2 e( N8 {
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ ]1 ]7 g* J) d: R* {4 b J1 J/ f+ s* t4 Z
/* create a logger instance */
$ O% w9 ^6 G( k0 J) v3 O5 [var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); o. B# [7 l& j9 X4 [- ]$ ^4 D. V
var loggerBufP = new LoggerBuf.Params();, E1 r4 P2 M N, `
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 Z q5 \5 M" r# tloggerBufP.bufType = LoggerBuf.BufType_FIXED;
+ K t+ k5 y+ x+ z, t% E( D. |' }3 i5 |5 a% a' {, x% l5 Y7 S
var appLogger = LoggerBuf.create(loggerBufP);
8 `* Y& n1 {/ ]+ N6 L- h. } ]' YappLogger.instance.name = "AppLog_Core1";
* A w; {. w6 r! JDefaults.common$.logger = appLogger;
& p" V& I$ B, m/ T' w" UMemory.defaultHeapSize = 0x8192;
# l1 I1 v+ h' ?! dIdle.idleFxns[0] = "&LEDStatus";
6 @% s0 W |# KCache.initSize.l2Size = Cache.L2Size_32K;. B/ N/ l5 q: F3 A. d( ]
$ l+ C# \, R0 X3 |. _
|
|