|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ H. E8 w4 ?% O3 p3 v/ ` J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# C% `) V% q% `3 C) y! P" [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 ~+ v2 W/ v, m" N: B7 Q& D9 g
% R: V+ Z7 m3 H* K7 t是不是需要在DSP.CFG中进行配置
) C/ v0 W4 k/ L& B" S& `我现在的配置为
7 Q! B. O2 y+ @7 a; g$ M/ {' U. ^. E5 g: I0 s6 m
/*- s- d) {' `6 N( {) N+ k- ]
* ======== Operating System Configuration ========
6 B% U& D- i T( e' w6 t6 V6 Y */
, S8 ]! H' Y! k5 `7 {0 O0 E
0 G, ?+ P/ i3 ^( }/* no rts heap */
d+ T5 ]( F) L7 A* r7 JProgram.heap = 0;
0 r7 E9 I2 f, Z8 ?$ mProgram.argSize = 100; /* minimum size */
4 g- W$ G, _2 x; n1 f$ n: M% c' O% xProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大: U7 T# i7 ?1 ?% \8 |; c) G/ C
1 N2 N( f6 ?9 c- F8 a3 [4 B/* create a default heap */# G3 G* t$ x" r7 ~& F: ^0 b$ A) \" Y) B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; _# M" T) ^7 e+ h1 mvar heapMemParams = new HeapMem.Params();8 B l+ b" v T/ E$ d
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ N3 O y0 F, w
) j Q4 g; j4 `2 i8 c/ tvar Memory = xdc.useModule('xdc.runtime.Memory');2 G1 l0 \: V0 F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% Y8 d2 \5 B6 F+ W9 s- i
# ]7 ~% ]3 [% q7 R" U
/* configure System module */
) o" j( j0 l( r1 gvar SysMin = xdc.useModule('xdc.runtime.SysMin');8 _# N* _# n; E
SysMin.bufSize = 0x1000;6 {6 F8 [0 B0 _: E- O* q
SysMin.flushAtExit = false;+ h' F$ v) {6 H& A2 k" F% d
5 E' ~, _7 m) G5 w
var System = xdc.useModule('xdc.runtime.System');, y- f/ i9 x$ J6 Y5 m2 z
System.SupportProxy = SysMin;
& H9 T d. ^, }0 A: U5 w: L' q# `- q; W% p4 C# V
/* configure SysBios to use the lower half of Timer 1 */
4 `+ |1 S0 j: r6 i: Jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 M- C" ?: i$ f- e: ]( V
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
& @, u" ~, t" |. o( b% r6 }2 j, zTimer.timerSettings[1].master = true;# a6 U- K/ B3 G. M5 \% p! [
Timer.defaultHalf = Timer.Half_LOWER;
3 G- O0 b7 `0 q, d* XClock.timerId = 1;, ]* G2 Q& }$ {1 g. \" {* B
" {# T8 w# G" G' W( [
" J2 C8 Z; T7 x3 }% z/*
" n. j& b6 W$ c) p * ======== Miscellaneous Configuration ========
* w$ y$ s$ G7 ?% m& \ */2 ? G f: h7 p% W
6 I+ \# }' H2 e2 _; p' o1 V/* set default diags mask */
3 Q2 v( l- f8 q1 ~- V! a! bvar Diags = xdc.useModule('xdc.runtime.Diags');
$ z3 [9 D) t/ Wvar Defaults = xdc.useModule('xdc.runtime.Defaults');# O+ d. Y) |1 z$ w) [$ `5 z
9 t, g5 P6 r: ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 I( H m/ l, b9 }, ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; K9 J" w" N4 T! p; e1 F' w. x ]( P
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; N; s7 b$ A5 i; e2 b' w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 ?5 B _; s2 n8 |# ]0 }* l: z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ _" v) A; u6 tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 D! L* M- I" R G
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 Y" [$ T( q' SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 _' U. w) O1 x( \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 h+ m7 j1 g+ d* m4 C) f5 B
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 G) U) n ?& s) D; D
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! U) g; L1 q+ A- {Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 o; F( |5 y2 p' o* O. @7 ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 p2 V/ F. m; D7 E$ G9 }
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; X4 N& d- T/ X4 M; \0 |
' t% E U" o8 }) z& H z
/* override diags mask for selected modules */
% `& T. R8 {! t* b3 g! Zxdc.useModule('xdc.runtime.Main');
; E- D! O5 w* m- C0 F3 O" U, }) C, [Diags.setMaskMeta(
+ p0 @. \1 o \' a% m "xdc.runtime.Main",, j1 Y9 j, Y; t, X
Diags.ENTRY | Diags.EXIT | Diags.INFO, [# Q8 Q' o: i4 p9 G9 J
Diags.RUNTIME_ON5 K- n/ R- Y4 ~8 W
);
8 U. ]5 ~# f% a8 W" d2 o& v7 T4 x
* \: Z' D+ { n/ y& X8 g6 _var Registry = xdc.useModule('xdc.runtime.Registry');
4 P' E4 M$ l9 ^) I$ c9 B0 ]Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 n4 U7 K! x C3 y6 NRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 U( n! ~/ B! I( m4 L8 y' A7 H9 O
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' d/ }* c2 H; M% |7 h* CRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;! D# Q3 T2 a/ A. j) V
; Z3 ]+ A# E: ?, R, g/* create a logger instance */
9 u1 U8 T( `0 u* Svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ T c+ h- Y, K! A9 ?3 Z( _6 ^var loggerBufP = new LoggerBuf.Params();
6 @/ \8 p6 s9 F h$ Y; ~ sloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! _4 g b7 ]. \; i5 o/ T: {loggerBufP.bufType = LoggerBuf.BufType_FIXED;) ~2 x+ Q% O! e. |! u% e; }
: c3 J2 Y' i2 H& m2 b1 o" hvar appLogger = LoggerBuf.create(loggerBufP);9 C5 J9 Y$ H: U& X1 t
appLogger.instance.name = "AppLog_Core1";, _0 q# F: `3 H) p% m3 k$ x
Defaults.common$.logger = appLogger;. L0 @8 T) p9 g! W
Memory.defaultHeapSize = 0x8192;
& J9 q0 D( T3 LIdle.idleFxns[0] = "&LEDStatus";1 y" Q, L+ ]6 S- d) }2 r- q
Cache.initSize.l2Size = Cache.L2Size_32K;
8 K2 R# S3 U/ W" [
4 N& H7 W# \. g3 c |
|