|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 W/ O5 P& L( e1 x" b我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! `1 n' ^1 z& u(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! t9 Q! ^# S' S0 G: l
5 P% ^$ `- W. z, g1 h# I
是不是需要在DSP.CFG中进行配置6 t- O8 }) c( l3 o0 E$ T: s
我现在的配置为3 Y# T4 b, P; J& A
: z2 i4 A( N6 `6 R9 z
/*
% y. A2 _; |) t1 M * ======== Operating System Configuration ========
/ u: J$ T/ c. n( R. P- b */
0 P3 I0 L' q3 G' a2 U
* t0 Z( H, ?7 C* h+ Z/* no rts heap */0 y, l, z' U2 f+ S" j
Program.heap = 0;0 D! A4 a: ^1 M) n7 p
Program.argSize = 100; /* minimum size */
; N; }+ Q* Y1 C8 O! ^# w/ SProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ r5 F7 Q: l( J; o B* `
" F; c/ B- p0 y E; e* a) h/* create a default heap */
. i& u0 S( t F$ \- _- \3 s Zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');' v7 P/ e7 i+ a$ B1 }) y8 @; r% C* F
var heapMemParams = new HeapMem.Params();
0 ~ V' [0 F5 `. c+ D0 jheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 ~5 a4 K0 o# d& w+ L
v8 ?: t* k3 X+ B3 Wvar Memory = xdc.useModule('xdc.runtime.Memory');
( |3 N! T ~7 N7 x7 y4 VMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
% [& B! Y) P* G4 p8 x
0 A* R- }3 W. n& \8 t/* configure System module */
0 H1 A$ i2 y1 k) ^+ I- [+ z6 {var SysMin = xdc.useModule('xdc.runtime.SysMin');9 \7 Y0 i3 P9 R9 M
SysMin.bufSize = 0x1000;/ |( ]- X7 _1 d0 T$ F1 s6 l) U: i
SysMin.flushAtExit = false;" c/ R( T9 o) M6 J% T( |
, T* Z1 l! V% R- ^
var System = xdc.useModule('xdc.runtime.System');
% g0 W9 }* A: I) @, fSystem.SupportProxy = SysMin;
4 a; E" @+ P0 j& a/ b( m! X4 [$ r% m& D/ Y# w7 U, e3 B* H
/* configure SysBios to use the lower half of Timer 1 */
m1 B' [9 s4 V) |: u5 ]0 k# @var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% a. @: A l' F& X! S F# J4 m
var Clock = xdc.useModule('ti.sysbios.knl.Clock');9 T, w$ F7 ^* g. U
Timer.timerSettings[1].master = true;
) l1 T: u# q6 t$ y9 |4 j( rTimer.defaultHalf = Timer.Half_LOWER;$ i! ?. `, E% v% }# F; r
Clock.timerId = 1;
" o- R$ @5 w2 j: Y
; F# ^& P- z& h6 K- j% S H0 r: Y; @* | q, `+ a
/*
% K1 r2 _% `! t5 ~" J& z7 c * ======== Miscellaneous Configuration ========3 W" }6 q: X- _' Q
*/
" \) F1 g9 [, P# d) h" ]3 O0 l0 x( h; J4 A- X: X
/* set default diags mask */
1 o8 X" x% h' v/ |% b s+ uvar Diags = xdc.useModule('xdc.runtime.Diags');1 ]1 A$ |: u9 H5 P& a+ b
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 k- T! j4 Q9 @ {
( b/ F0 [6 i* pDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. t- b+ `+ P' l& N; E; B
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: Y/ R- p. E7 F6 fDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 N9 h; _- Y8 q# IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 x# J7 o& T4 v8 R A8 \! w0 M
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! f+ m' c" X, K; o8 v* k1 t9 I+ vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 a& ?: u1 K* y6 {$ Y% E( |Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! w/ H/ `6 G. f" a& s
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ b6 s ~6 l3 H& P) _3 WDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( F& w+ T; m4 h) Z0 n
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( {+ T! M. ?5 m6 |9 K
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% ~6 H: T, T6 MDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 ?$ ]3 e$ C0 gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. a, F, ?, s- W& y! H) w2 S, }0 sDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 v$ [$ j4 X; B- _1 Q% T- M) U v5 T! n' \( ?$ R# t L$ A
/* override diags mask for selected modules */
/ V2 b8 h1 T# wxdc.useModule('xdc.runtime.Main');5 B g& R9 Q; K6 j. y
Diags.setMaskMeta(# K0 A p6 F6 W+ |- f7 A8 s. A
"xdc.runtime.Main",
) F. r& W( a! y2 r Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ @* j! L3 l4 {! S1 ^$ H. I Diags.RUNTIME_ON
# _% R7 C/ F; V: ^$ t6 H); W' L, a- v4 k" [+ L& M
9 W7 b ^* s8 Q. u; s( Z4 \$ v* Ovar Registry = xdc.useModule('xdc.runtime.Registry');2 `! J% C% K8 ^* A4 n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 |* n0 U0 ?* h# K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% [" O) i! A8 d; ^9 o8 m% FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
# o6 E: `% V, u3 Z. J6 _' C) o4 \7 oRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" J7 l5 v1 R. ^$ `# P" p9 x. X! K) y* u$ N0 V) c
/* create a logger instance */
! U: c/ }+ N9 ^0 S) Q' Svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; ^$ F5 K" T* `- Nvar loggerBufP = new LoggerBuf.Params();
3 C. E% `' I( L7 p' Y: E! }5 ?loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' m- T3 |: Q, E& q8 I+ qloggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 M. p# Z& y1 Z0 I+ J y: u
: i1 s: V; J, Evar appLogger = LoggerBuf.create(loggerBufP);
: N9 b" I) y# `3 ]- b8 z4 ^. LappLogger.instance.name = "AppLog_Core1";
8 Q) B8 w& d$ B/ g mDefaults.common$.logger = appLogger;& g! ^9 G% s( v; L) G& i. x4 R& ]
Memory.defaultHeapSize = 0x8192;
" R- y1 s! ]; s2 _! ]: k" n$ U/ ~1 a% WIdle.idleFxns[0] = "&LEDStatus";& j5 V: Q& q- ?, J
Cache.initSize.l2Size = Cache.L2Size_32K;
. H- m! y# c0 { n/ G1 d! I# S. k. C
) \) c/ n5 h. }, U9 l$ R$ K |
|