|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; E1 [3 ?, V# }1 }9 q! `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 S9 N# k: o5 U1 A, d# B(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ C3 A( d8 U& [* z, J/ m% J
/ ]2 J7 Z; P/ `5 h/ d5 V是不是需要在DSP.CFG中进行配置4 I/ S* H; \* I7 D* b' i
我现在的配置为
7 z! U& A7 N! d" h5 g0 A) P/ v" [2 p1 f n" c. D
/*
0 Y. {0 V3 b6 W" @( V8 D) P * ======== Operating System Configuration ========- k* A2 g: S" G1 W: b9 E; q& B
*/
$ T# L1 O" L% [: j2 C$ B& C
( y7 A' g2 n& }! \1 q/* no rts heap */
8 C. l g' V5 Z% f4 c2 aProgram.heap = 0;% ^( t* ^4 E c- }+ b" Y
Program.argSize = 100; /* minimum size */5 Q& `9 @2 } D) L O2 h9 n+ b
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 a3 t/ Z% Q5 r/ O& `: w2 B' [" y- }& P
/* create a default heap */
6 A; m& m. R) ]% R5 Yvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; I. W/ j# l0 F: ? P$ j+ g
var heapMemParams = new HeapMem.Params();
' Y A4 o: ~! I" F; aheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 @7 k W+ W6 z: _( X9 ?# m) x2 z' @7 p' Y. ?& s4 I1 H) o) G
var Memory = xdc.useModule('xdc.runtime.Memory');2 e, ~1 y9 F7 m/ @' }3 ~3 r
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. B/ I ?2 {) A- G" W* Y& k' @
: L p7 e* I/ V; u- ]4 U/ U) q0 w- A
/* configure System module */5 V: P& Q( X6 x& ] y
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 t( R8 _& b6 Z' T6 p0 m L
SysMin.bufSize = 0x1000;4 ]5 z M+ n2 K% N' T- c( B+ X! f
SysMin.flushAtExit = false; n5 R4 i+ y6 U; f) l9 v! E9 O
; _2 B5 ^7 r5 r6 h. y5 X0 Gvar System = xdc.useModule('xdc.runtime.System');
) e" U' e* q' U' a( `System.SupportProxy = SysMin;8 Z. \ W$ l! s, p; I4 n# t
; {4 t9 ~1 R& J+ W; n# N/* configure SysBios to use the lower half of Timer 1 */
: N6 N# p) b7 x3 n5 _: qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
}% Y; F. g3 @* M8 K( }' |var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" ?0 Q8 J" [- s2 y4 KTimer.timerSettings[1].master = true;, @7 \3 f3 m9 n' Y5 r! ^- u/ \
Timer.defaultHalf = Timer.Half_LOWER;
4 z" n: `; {) H: Q! |Clock.timerId = 1;
4 [7 X! }& b6 _) H# u; Y w7 y& D8 Y$ }
/ v5 I& I, E E/*
2 Z$ }5 K4 v0 }9 H; L2 s& m4 A * ======== Miscellaneous Configuration ========. z6 }0 G+ k0 D0 C9 Z9 f
*/' e% ]" s/ I5 \4 _( a
2 o7 N" } @2 Y/ o Y, G/* set default diags mask */
, k$ f" u) F7 }3 `! gvar Diags = xdc.useModule('xdc.runtime.Diags'); m* H2 E7 B: T: c5 W+ H5 W* B o# A
var Defaults = xdc.useModule('xdc.runtime.Defaults');
, {3 o3 Q& C' t( i% d6 r: Y q- K0 u# u" Z' V$ f$ d9 z
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" J6 g5 C- d$ N Z9 L$ XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! F9 p; d. ^/ g) JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# Q9 ^5 `: m+ ?6 ?4 N
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; _% Z% _! w6 J" @' k# CDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! q4 b/ _! o: p) ?; UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;" _& r1 A* q; R2 x4 l
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. W* I8 J' H2 p$ E9 V0 A* a. g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 e) k, Z% k5 r' E2 O" E
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% M; e% h7 N& B& }7 M' o. L o
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# \# P- ~$ _ j- qDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 B. I0 F4 O. n3 e9 UDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
s1 ~1 o) ?0 I5 IDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 o; i" W4 b9 n" P
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;: n3 M- D# R2 [0 Z2 X1 G. W
" k- f/ Q. K: s3 E8 d: O3 }) S/* override diags mask for selected modules */# k: T% p1 w" S4 k" {8 Y9 {
xdc.useModule('xdc.runtime.Main');4 l& m/ r+ |: v7 H4 F/ O& P# Z1 U
Diags.setMaskMeta(
! A( r: l: y" a3 l3 `3 B( e "xdc.runtime.Main",
j8 Z5 j7 ]5 M3 ` Diags.ENTRY | Diags.EXIT | Diags.INFO,
. Y9 R$ a8 |; J: i7 e) C3 H0 z Diags.RUNTIME_ON
5 I7 ]5 I; `6 P* u);
' a0 F) H P g! _" k6 Z2 q7 R% n) D) o, P) l+ ~ t
var Registry = xdc.useModule('xdc.runtime.Registry');) i; j$ r* a: x9 N6 W7 O Z0 m
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" H: K: i9 d9 y5 W) X7 h" E
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& p; ?- Q5 M* ]Registry.common$.diags_INFO = Diags.RUNTIME_OFF;# o5 S( u9 U; ~
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;" x- X$ ^" W/ b) O
* ^7 B& E& s i/* create a logger instance */* @1 }6 V" `1 ?! }: t
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
* n7 t1 B6 }$ r5 }# } Pvar loggerBufP = new LoggerBuf.Params();
7 M3 m0 D4 s8 T& d' ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
j5 o* r9 l3 |, E6 B+ DloggerBufP.bufType = LoggerBuf.BufType_FIXED; F0 E. S! r W1 \. m7 v! ?7 ]
( V7 N% @$ ?( @. v. p
var appLogger = LoggerBuf.create(loggerBufP);
) Q, S B1 T1 w. J5 v y6 Q( v# ?appLogger.instance.name = "AppLog_Core1";
5 ^& t' s! i* X, H: C8 H, `' n; o( bDefaults.common$.logger = appLogger;
2 u5 A" r! }+ t) O% B6 L) s7 yMemory.defaultHeapSize = 0x8192; & B. Q2 e8 u! C
Idle.idleFxns[0] = "&LEDStatus";8 F6 t3 _* w! P0 x4 D
Cache.initSize.l2Size = Cache.L2Size_32K;. {" O7 |9 }' g4 T. Y) [2 U
( T7 ^ N5 e) H+ l/ m |
|