|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) g. l! a7 k& f+ r! V+ w2 L5 X/ J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# k" s3 }* V# a8 i' r2 o
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& |6 U* P& |8 v3 n
+ r' n/ R {/ S; j; B1 \
是不是需要在DSP.CFG中进行配置
; [' K+ U2 Q6 \% q9 R9 \- @; e6 d我现在的配置为
7 W0 ]3 c# P, L) H% W' c
0 s: v, @$ ? D: I" }/*# R- P' U( M0 f. Z
* ======== Operating System Configuration ========# S$ x0 h9 e# Q2 I8 }5 h( a
*/6 U6 V+ w5 G5 ~
- D) Q; w' l2 g+ L G/* no rts heap */
& I) E# ?# E AProgram.heap = 0;
' i, B6 r# i! d" EProgram.argSize = 100; /* minimum size */
9 F7 B! {* M; e/ mProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: N5 \* h' B5 H7 A! |" n# d! w$ {' N- M& L
/* create a default heap */
: q- g) V- T; l4 g8 I8 _8 Avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* f3 e+ {- @$ s( g3 k! R `
var heapMemParams = new HeapMem.Params();
7 v+ `; J: ?: U+ yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: h* P2 Q9 O2 m$ Q( n3 u' R- o3 ~* s* ?6 H5 c! K& B/ y
var Memory = xdc.useModule('xdc.runtime.Memory');5 |7 {0 X7 P9 t4 @( h
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# ?. c2 V4 z- ^- l9 ~9 X) J( V: U/ H9 K9 c
2 j! k% H/ O' q1 M: ~
/* configure System module */
( r5 V( g! z! wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
" ]! j9 D" C& }* g3 N8 QSysMin.bufSize = 0x1000;( z: A# v) t* e7 L: J8 w% M
SysMin.flushAtExit = false;
& n8 Y; k' q- v) f& K
; V. @8 y9 s0 H- x4 M- j% Yvar System = xdc.useModule('xdc.runtime.System');5 R9 z. r0 k3 n. l7 D& a
System.SupportProxy = SysMin;
3 D2 P: ^# e m4 Z9 }( z( _2 a! J3 P/ ]1 A, ~1 p
/* configure SysBios to use the lower half of Timer 1 */0 A6 d/ P0 v' z: S. ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 f8 B6 p% ?' J" \
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ P. w' R) f6 d3 D! FTimer.timerSettings[1].master = true;1 E7 R6 ?0 o: j9 a# K
Timer.defaultHalf = Timer.Half_LOWER;. M+ D7 f" y# h" M( U
Clock.timerId = 1;( H# z. _6 P; D, a; m
) a$ W: h" S3 p# D# s$ o i0 H% a" y; _2 S8 U
/*
* [$ L0 S& Q" ?8 u; ~ * ======== Miscellaneous Configuration ========
$ F; g7 f+ z4 X */
8 u- |, r' z/ H
( y% d# N0 ?% D/ r/* set default diags mask */ L/ F6 R0 D0 }5 s! i* f
var Diags = xdc.useModule('xdc.runtime.Diags');" i* v- K$ f& i! n* J L
var Defaults = xdc.useModule('xdc.runtime.Defaults');8 M/ S: X/ c" ~+ D# [4 i
8 z' u7 i# g/ _% J4 r; `Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 D$ m. q9 M* O9 u' F" `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: m0 k4 t. u: L, [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 s0 c& o* R: n& Q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
D8 T" z! W G; ]) XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' @/ N) U5 v0 Z7 J0 b6 i3 tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 W0 p2 V! ^. ?: p4 G' LDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* t3 l' ^! O" Z6 pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 ~# h# {5 x1 p! K- T1 j6 xDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 d# ?8 k0 w% V& o8 k) j$ MDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 q; V5 Z7 ?9 a5 x8 m! B. aDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 s# F! p% V7 E8 g6 h. c0 N; A: @
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. U1 u2 E+ Z$ u6 R5 u; i
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;6 v& D6 G/ g$ _4 O# V" d
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& }: m! y' m3 d) D9 q/ \: E
: b6 U; U( w3 c$ T/* override diags mask for selected modules */
/ N f* s s1 h! `- Yxdc.useModule('xdc.runtime.Main');& u H9 Q8 J, t7 d
Diags.setMaskMeta(4 Q9 O1 {; ]6 N8 _$ P2 {
"xdc.runtime.Main",
- ~8 T- C) y. y% _! Y4 | Diags.ENTRY | Diags.EXIT | Diags.INFO,
1 v$ c9 [7 a* ] Diags.RUNTIME_ON9 y: W; l' S5 n) x# b4 `+ L
);
) u* g5 ~: u1 u6 \) v
# u$ ^: `3 v8 k2 uvar Registry = xdc.useModule('xdc.runtime.Registry');! H9 R- F" `$ U( q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# F) j3 G& ]) r" ^; [Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 G! |: \& x% [3 q6 R0 W% ~- L; ]
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
+ }" k& G3 ^' s6 K. _6 G* A' }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
& f; c7 P, C8 R5 H$ J1 V
6 K" G6 v! X3 {* X8 g/* create a logger instance */ F$ y, r* Z" }" W" ~& ~5 y b8 d
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ ^3 n9 {3 c: K
var loggerBufP = new LoggerBuf.Params();7 H7 g7 {, Q3 ^& q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* o3 Z( L- d/ |/ k
loggerBufP.bufType = LoggerBuf.BufType_FIXED;: k$ X1 n0 A4 R: ?+ h
& d( z9 Q: y/ n8 ]+ V- u5 {8 {var appLogger = LoggerBuf.create(loggerBufP);0 ~( Y! e* b- K; [! i8 e/ K- @
appLogger.instance.name = "AppLog_Core1";
$ j/ |$ Q$ Q3 }# r$ O% DDefaults.common$.logger = appLogger;( u" a4 L5 m4 Y$ {$ h, R+ f! O x
Memory.defaultHeapSize = 0x8192;
0 w/ I6 W) j L/ r6 AIdle.idleFxns[0] = "&LEDStatus";
9 I2 h, [1 o, @1 g1 K& lCache.initSize.l2Size = Cache.L2Size_32K;6 f7 A+ m; }; c. K0 [
+ C, d/ ]! @. Q% C% {) f+ a* r: c
|
|