|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* ]& E, N. s' @# H" V2 ]
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下5 ~1 G' [# E2 r
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 o* U& R, U! z6 K7 I- H- N1 J" W8 Z( z
是不是需要在DSP.CFG中进行配置% O& R/ g' ^5 u2 r# W
我现在的配置为
/ ]; Q- v( X! E5 }- c9 v" l
+ Z [% l- U2 H6 V0 D& {. i; O/*$ d! [! h, B& s5 k
* ======== Operating System Configuration ========+ O$ R4 b, V5 _% a/ O3 w8 K
*/3 L4 ?9 r, u; w; @3 l% C- z; Z
9 A! r7 x; K4 E# {/* no rts heap */
- H5 `* G9 J; j6 yProgram.heap = 0;' z; C: B6 R9 b8 v3 v, n+ E
Program.argSize = 100; /* minimum size */
" h, S: u3 j6 V; s, z6 Q. uProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ j0 G9 |+ { i b5 D# ^# `
2 C) y' _4 m0 ^' l4 k6 w5 d/* create a default heap */
: P9 O; z8 i u" Q/ m jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 ~2 z1 ]* y- d+ C7 O6 Mvar heapMemParams = new HeapMem.Params();6 ]5 I9 H" n8 Y* F& i$ i4 v- c
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 ?& F" H- t' j# P' F/ i" ?9 }0 V* Y0 K. w: b& X( v8 w8 Q
var Memory = xdc.useModule('xdc.runtime.Memory');: o1 W: Y, I- q) H8 f Q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! Q0 K) H+ m) @, S" d8 l$ Z
5 A( y7 {! \* l/ N* t/* configure System module */
" S2 F, }$ h: a2 o- u- nvar SysMin = xdc.useModule('xdc.runtime.SysMin');; F, Y+ f7 X, H+ t7 l
SysMin.bufSize = 0x1000;% }) k" {* S1 T3 B/ t
SysMin.flushAtExit = false;( P6 ~0 B7 A: }2 l
1 k6 X3 E( _: W: r" `( E" w
var System = xdc.useModule('xdc.runtime.System');% W3 o' E; ~6 M( o6 y
System.SupportProxy = SysMin;
) F$ v! w+ z. l. Y% `" t! I% J* S
8 b+ i, Y- _1 y( H1 h/* configure SysBios to use the lower half of Timer 1 */$ I2 ]/ d& l: |8 z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. t4 d2 ^6 Y% o: k ^8 Qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');$ j; `8 Z! v! i4 e8 P
Timer.timerSettings[1].master = true;
7 e$ C$ D* s4 Y, q4 S( KTimer.defaultHalf = Timer.Half_LOWER;
% c8 J$ p1 R: ~; R& G- Q) A _( PClock.timerId = 1;
9 f: J2 j5 I( j4 W; u5 n; b0 a* M" Q9 b! \
% A4 Z! z! z0 h* M" Y/*
+ M& x7 i- q- o4 c! I' q7 ^8 H * ======== Miscellaneous Configuration ========
# O+ e& w* Z/ Y7 X e, W7 I */
2 C5 a9 Y$ {2 t5 y4 d, K b5 ~- {' P% ] l' c. a3 y; u
/* set default diags mask */6 m- C+ h+ c8 \6 B& o0 K
var Diags = xdc.useModule('xdc.runtime.Diags');
! [5 u% p" _, `var Defaults = xdc.useModule('xdc.runtime.Defaults');* j; [/ P/ g; a! W
( J' D% o, E* z( G2 `1 H' L5 W! `
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* @ J0 C# M* z$ p1 d7 r NDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 ?$ O6 @9 C( y, D( w& i7 JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 o- T) ^3 b8 H z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# X7 r: G3 a& D7 v/ }2 M+ jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# m e( H; X5 |+ m! T( [: {Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ D8 S$ }8 U; y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, |4 g- i, Z5 a. l8 q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 n( X' y# g9 q* ~6 T MDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 B" B$ x* c' B7 ^1 y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ b! ]4 b5 K* q+ l V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( h8 L3 C2 r( E8 V* B" h {
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; j0 h- a1 \" H% D& x; B E, ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
n; J) a+ g9 N! h5 c6 J" y$ r$ cDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" t' P: {) ^& I g: ]6 p- v$ i( Z7 W2 D! R& a+ a
/* override diags mask for selected modules */, n. |+ x# }, C9 B1 }
xdc.useModule('xdc.runtime.Main');7 I8 h7 i5 T9 x
Diags.setMaskMeta(. f0 p; u9 x0 G
"xdc.runtime.Main",! a* N# C4 I# q' f
Diags.ENTRY | Diags.EXIT | Diags.INFO,, ?! D5 _& P2 G% n& H3 [- R
Diags.RUNTIME_ON
- H6 e. ^* g6 L0 B+ v);
0 c) g- `0 G. H, u* C5 c# a7 |5 g; V1 ?& s7 ?
var Registry = xdc.useModule('xdc.runtime.Registry');
, b+ E7 c/ `1 C, }1 ]$ CRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 s% A' A) U9 K( ^ O2 `9 TRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ b- N' l/ A5 i7 s- o6 w
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& L& R4 X- e, _- E' HRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 ~7 D b' ^4 j' o: w1 P4 o. o9 @' |% R# B2 @$ d
/* create a logger instance */8 F6 g' M: z6 I6 @; Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) d% g6 Y& r: `4 R4 X. e/ S
var loggerBufP = new LoggerBuf.Params();
2 G6 Z4 }4 z0 `( k' a; b: |+ UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% T; J2 r# U4 b, \# q I. {9 }9 p% F6 \loggerBufP.bufType = LoggerBuf.BufType_FIXED;. i* |& t9 G3 F; z5 B: Y* s/ V$ v7 `
( q+ _) n4 o# Evar appLogger = LoggerBuf.create(loggerBufP);9 k) H- `5 P3 m2 |3 d, M
appLogger.instance.name = "AppLog_Core1";0 J7 u/ f% |; I4 X4 A4 m z
Defaults.common$.logger = appLogger;. @- _5 F+ B0 X$ v
Memory.defaultHeapSize = 0x8192; 7 x. J* a- I8 F) ~! |- X
Idle.idleFxns[0] = "&LEDStatus";5 k. F) }7 Q' x# G
Cache.initSize.l2Size = Cache.L2Size_32K;& N7 ?9 b) K$ e# a7 h% y- S
6 E* B0 s1 i# U+ P& p
|
|