|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 s7 d. Y7 n& L5 G
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) ]- z7 @% q( \% T. z) P2 n1 |1 f/ C(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- B. c% p$ D& _9 i( u6 n
' r8 y7 q: w) H1 ]是不是需要在DSP.CFG中进行配置
# o' |' G) K3 k2 ]+ N" T) N我现在的配置为' {" b7 a% N9 K% w
3 [) H: f/ _3 p( G; {
/*- a: z" F, ~% E* U
* ======== Operating System Configuration ========
. F- T2 r x$ _7 x2 j; c) c */
6 V' z4 I+ Q. l( v& J% i/ H9 ?# p( }2 v
/* no rts heap */- V! g2 z6 y6 ^. A
Program.heap = 0;
3 i9 R6 M+ g7 q# u9 uProgram.argSize = 100; /* minimum size */
0 k% x+ b2 r) a! q; K+ R6 i/ YProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 y! E- f- M/ `; L( _: X$ [
8 G0 k( R- U; r- b# v/* create a default heap */+ i) k: Z( k! v9 }
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 u: R6 j! [+ u, V$ J& g* Yvar heapMemParams = new HeapMem.Params();
( U! `3 {' t: P+ T# i- ~* Y, T+ LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ |2 K4 ^! \4 @7 U& l$ P
+ v7 l- D4 m/ Q4 xvar Memory = xdc.useModule('xdc.runtime.Memory');+ f. \! M# a- X2 w
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- `% y3 L: _* i2 q
+ q& y2 A4 ^) k. |. Y* a
/* configure System module */
8 M9 {0 C3 q6 B! M/ R4 Avar SysMin = xdc.useModule('xdc.runtime.SysMin');8 j0 L5 J# K% B% B2 L
SysMin.bufSize = 0x1000;
6 ]; v) c. r; q# }4 k- YSysMin.flushAtExit = false;
1 z8 T6 J* D! a2 E' m* q5 S! ~
/ s) I7 ]/ _$ ]; C' t I, L5 [2 Ivar System = xdc.useModule('xdc.runtime.System');
8 _& k6 _# p$ b8 }System.SupportProxy = SysMin;
; D: u- K2 s$ B6 u) n+ o5 t! S4 Z5 x( z) Q- G! O/ q
/* configure SysBios to use the lower half of Timer 1 */
" ^) E: U$ ~7 Dvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" a* f" Z6 t2 E
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 _" r' s" [% x. E0 G; ]' i/ M. hTimer.timerSettings[1].master = true;
# H, h5 ^9 P5 z. FTimer.defaultHalf = Timer.Half_LOWER;
, E3 s$ E' a: u: I& jClock.timerId = 1;
5 i! H5 Z. {% A2 W) U0 g
) f; D: S' T' W. Q- B7 W) B$ P# Z$ O- L8 }
/*1 F( I. d1 W& J, R
* ======== Miscellaneous Configuration ========3 L1 h8 q$ _' ~$ R5 r% [( s) y
*/
& n# c3 j% \ D1 G0 {
7 t _& i% U# D/ b; T( S) ]/* set default diags mask */
" c$ T/ l4 e1 `9 |$ e6 Ivar Diags = xdc.useModule('xdc.runtime.Diags');
x5 _% r2 @% A- D9 lvar Defaults = xdc.useModule('xdc.runtime.Defaults');- i" L1 q) f/ x8 A
1 m( R! _8 N; ~" h4 J
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 l- S1 t; {3 a. P* a+ c9 V& ~Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 d- ?, W9 m& `' ]
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ k# Z6 a7 j* m; |0 Q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 u' y. k8 b; f, ]' u; WDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
I# ]- i+ w; D" {Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: ^) I3 T+ |% ^Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& s3 @5 L" }0 G' Q- U
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ _. Y6 V# a& R& W8 r# L/ PDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( B5 \) ~2 B% g0 w8 ]! EDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 p: Y4 I& O( B1 p% A4 U! BDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 E" E K0 T* r# RDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
D" F3 `2 v3 G& hDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ O. ^8 y$ D y' n, [. k( a
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 j$ Y/ U+ ~- x& y3 m
# n( d* Z4 L5 n" W! f/* override diags mask for selected modules */, X' q% e3 x, \ h9 O6 k4 a2 T
xdc.useModule('xdc.runtime.Main');' {4 J2 }5 B% C
Diags.setMaskMeta(- z# N3 P0 v0 e
"xdc.runtime.Main",) Q. H7 r c; c; G( ?
Diags.ENTRY | Diags.EXIT | Diags.INFO,
E: a9 r" O$ [- f- f% X Diags.RUNTIME_ON, T+ F( E0 s6 K; Q" r
);9 W! n1 S' i2 v% A6 F& Y' S% ~
0 {2 U- K% h6 t2 `
var Registry = xdc.useModule('xdc.runtime.Registry');# C+ H+ a: f0 Z K
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' n( t$ A8 b' ~" @0 X
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) ^9 m( J& j) o% u. }# oRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;# r$ U( z2 w4 @" n4 y4 q Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;& o! S) C& t/ H
/ n' F! m: b5 W6 W |/ g
/* create a logger instance */5 U9 U/ t' H; Z! n# b3 `, {2 V
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 ?$ i0 M9 Q8 d4 Cvar loggerBufP = new LoggerBuf.Params();: T& b9 O$ U) Z# v# |- w. O: d
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- e! R/ i/ S: }$ v) d* V5 RloggerBufP.bufType = LoggerBuf.BufType_FIXED;$ K* w1 j: j1 |+ G
- z2 @0 o5 x. }8 u3 @8 \4 Avar appLogger = LoggerBuf.create(loggerBufP);" |/ w. D% `" m+ n$ w
appLogger.instance.name = "AppLog_Core1";9 V0 ^6 s6 l3 m- e
Defaults.common$.logger = appLogger;: F X1 ]6 @4 y$ R9 s5 }
Memory.defaultHeapSize = 0x8192; 1 A/ g/ F5 l0 R8 V2 x
Idle.idleFxns[0] = "&LEDStatus"; F8 {# H1 \$ s7 g
Cache.initSize.l2Size = Cache.L2Size_32K;! z1 b& y, k: ^; I+ w
) d& \; f3 s5 |5 H8 d0 k/ x |
|