|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% S \6 }! }1 F! d5 V0 }! r我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% [* m. ^* Y# Q: M2 C* V2 v! i
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 q1 ]% c# w+ e# Q# L
) a# d5 Y4 u2 N& L7 Y. ]
是不是需要在DSP.CFG中进行配置
; C6 {2 [9 B M8 S" |我现在的配置为
! B& _# s+ ^7 e3 ]+ ^ q- c! z4 X f
/*7 t: c+ r+ i- m k1 c
* ======== Operating System Configuration ========2 J% z; Y+ m: w" k
*// J( P' {* {2 w7 A+ o) x
( Y' l2 v+ ~" u' s/* no rts heap */# E& p8 H9 @9 J6 d+ @
Program.heap = 0;! }! w2 E" n8 @4 K5 \& E% Z, h' J
Program.argSize = 100; /* minimum size */2 C% Z7 W+ S( E3 Z% _! z9 }! }* z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, ^# c; ?+ C: _! e" L B2 g! ?. P5 T3 [" \ k
/* create a default heap */) @) t" Z% b& t9 [: ~& z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- c {, X4 [" |4 J1 h( E" k1 Yvar heapMemParams = new HeapMem.Params();
0 }* F/ R- k3 Z$ `& K, nheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, {% W# P6 z: Z
, P$ z5 c5 I1 Q
var Memory = xdc.useModule('xdc.runtime.Memory');. g# |, C' D# Q5 A7 h
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ {% H# b- P( _! L. _0 R3 W4 v: {
/ B* z) U$ t# E# S. t/* configure System module */" |* l% [; i! S) z7 s! B) u8 N
var SysMin = xdc.useModule('xdc.runtime.SysMin');
! H9 U3 [4 Z& }$ ~, ySysMin.bufSize = 0x1000;8 J, y5 ]$ q8 K7 S9 Z7 |
SysMin.flushAtExit = false;
* s5 Y$ E" [# D6 F. e) G7 B- I. O# P
var System = xdc.useModule('xdc.runtime.System');
9 u8 I; \6 P, y2 l* lSystem.SupportProxy = SysMin;( W7 T: h$ @# f( `* M
/ Q( O. }3 }, X/* configure SysBios to use the lower half of Timer 1 */
& d, n* b! i* ^1 C" V, F ]var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ k: g5 q% P; y' K9 b: Qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');7 n. Z$ B5 L2 k" t
Timer.timerSettings[1].master = true;
, W/ {& S& c/ t* J2 [4 KTimer.defaultHalf = Timer.Half_LOWER;/ U3 @2 x5 F! _* Z; y
Clock.timerId = 1;. n- `( X7 ~8 ^0 Q0 ~( b
% I8 e6 t8 V @9 L) }6 L
) l9 u! x$ Q. Y8 a' }7 ^/*
3 m) @2 T7 `5 ]$ n( p+ e# ?6 k * ======== Miscellaneous Configuration ========
/ v m* l9 i3 P- e */8 E* B9 i+ s+ E, j" R( V0 `
" K! R3 {$ F. D `
/* set default diags mask */2 f+ z( n& {; Q& c6 M
var Diags = xdc.useModule('xdc.runtime.Diags');
& v, w, }& c) u( t1 jvar Defaults = xdc.useModule('xdc.runtime.Defaults');0 a& o/ N+ ~; R6 g# Q1 ?
- W/ q4 `$ F( T% `3 C# D1 _: WDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" J, ~; f) p/ T3 m# O9 e- l
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; W3 h1 l0 t" f$ m1 m# x1 ZDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! @. b8 c5 e3 d: I9 z# b% ^: |Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 k* S* n2 f5 L0 ADefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 z3 n/ _0 ~. X: W" _/ }
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
j. U3 Q; e, H% ] L4 u0 dDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& a# p4 A0 R$ @' Y2 ]' W) TDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% R p' M: x! F& Z' e5 I- Y3 _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# w$ [8 a# a! UDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 |1 P9 _9 a4 S6 i! KDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 C/ }6 p( \3 ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 y2 ~9 ?5 s& w2 X: Q' D* W( |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* s' K* h6 H/ ~Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
{% q+ l" Y# ^; i% O9 s9 Z
( l+ ^0 _# B. u/* override diags mask for selected modules */% ?& M" o) }9 `9 u% d. p
xdc.useModule('xdc.runtime.Main');8 i0 z* F5 k x3 N
Diags.setMaskMeta( R0 O4 N3 I. s8 O) _
"xdc.runtime.Main",: F! h0 E1 w2 Y/ z* z, O2 m3 l
Diags.ENTRY | Diags.EXIT | Diags.INFO,* C& O0 l5 I* c% F7 L/ U* w
Diags.RUNTIME_ON0 u8 M, i" s8 d, i8 S4 a
);
. N! s v$ | s& N! _& B/ B; |# `8 k
2 B6 h- I3 h* i" X9 B8 d. J. H: S, yvar Registry = xdc.useModule('xdc.runtime.Registry');
& O% F: r( H3 S* G0 r6 fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 I) K7 a. I& ^: F. b. PRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* h; G- J' \8 ZRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 y; @& Y# B% N5 g; fRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 W8 E! O2 z" a/ {: G# | _. j5 K3 \ b6 T/ k
/* create a logger instance */
- X, A* M4 i( `4 J0 h9 S$ fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ l) a# L, O2 S9 Dvar loggerBufP = new LoggerBuf.Params();
3 `2 i$ [6 Z" ], O2 W8 KloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! U* y& u6 T& y# Y* Z" C+ S+ {loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. F" t0 K: ^/ d6 X- H/ j& L
7 A- K; G9 {& L3 S" }# e3 Xvar appLogger = LoggerBuf.create(loggerBufP);2 P7 F8 [# \0 d$ l
appLogger.instance.name = "AppLog_Core1";6 |/ `) U4 ~8 @4 h/ ` y' o0 n; N
Defaults.common$.logger = appLogger;) m% K4 z( _7 K- {8 q
Memory.defaultHeapSize = 0x8192; + A2 k& D* z: p, ~
Idle.idleFxns[0] = "&LEDStatus";
) M8 I( i: t9 t) z; y# ~9 ~Cache.initSize.l2Size = Cache.L2Size_32K;
" y* R6 a1 F2 J1 T- }( q3 i. ^1 [+ }1 b0 a5 Y- j7 s7 q. Y) q1 _
|
|