|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 g0 e0 |! r! W/ A我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# g! g' z) n; ?, y% R
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ q0 z% x8 N2 A8 O7 _+ F
+ B5 \0 \: M) f$ ~$ R是不是需要在DSP.CFG中进行配置0 ?9 H' v" T# f" k t; v
我现在的配置为% s, j9 J( y6 X1 R4 \. y
. l) d7 K4 L/ I( n0 N8 ]4 F, F/*4 k4 t+ b8 Z* l* L6 W J% K
* ======== Operating System Configuration ========
2 G! J$ V3 b3 K" e7 E% R; D */
# x' u, y" I9 ]" I; d1 i& r& }
5 A" z# k- F6 T. S4 C2 s) a3 |/* no rts heap */
* Q- S4 n# [$ |6 F" kProgram.heap = 0;9 O( @# D3 S5 w" k$ U
Program.argSize = 100; /* minimum size */
, j/ q0 q) c- A6 JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( Z3 l3 ~' T! U8 ^
2 l/ j) S/ W" o. ?/* create a default heap */$ p- S! T( V% F% w7 ?
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" r$ V* O5 B2 R L8 j+ Z2 ]3 Mvar heapMemParams = new HeapMem.Params();
- l% ]' H9 e) B' {heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 Z! M7 R: K) e3 E
, b4 h# f: u' x$ @* b/ W- Z
var Memory = xdc.useModule('xdc.runtime.Memory');
. F A: M# ^ \- t3 [) pMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 `# A8 j* Q& M+ ~
; ^6 G2 b$ n6 M5 G: Z1 C3 r2 G/* configure System module */
) @/ {8 i: T5 Lvar SysMin = xdc.useModule('xdc.runtime.SysMin');
m/ C2 z* O+ w! ~4 E. SSysMin.bufSize = 0x1000;
! w2 f- y- w9 f7 u* @% T/ \# aSysMin.flushAtExit = false;
* t! Y2 s' n" y- J! P. a9 ?( Q/ d2 N' Y% |. E; \) g7 k
var System = xdc.useModule('xdc.runtime.System');
$ y2 ~/ g' E! }& E6 a- qSystem.SupportProxy = SysMin;
, r1 h; b+ J6 q B- J# q# p% ]' |
$ \1 Z( p8 _3 n* Q2 M/* configure SysBios to use the lower half of Timer 1 */, T$ K7 o) } j- X$ p) b( z9 E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 h2 k1 F' e- a6 v# j! r, n g7 cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');! X) E( B) }8 n* h" s! x) a
Timer.timerSettings[1].master = true;0 z4 O, ]5 N0 z; Z
Timer.defaultHalf = Timer.Half_LOWER;
+ u. M' ~0 w9 HClock.timerId = 1;
V7 u! }, P! G& q' w2 ^4 x
+ ~( `+ |( b' J: c& U2 i9 M
+ A' g$ d* [1 _" J/*& O5 E+ y1 Q# S1 L* u
* ======== Miscellaneous Configuration ========
' i% b/ y& c; J! ?& g, L */6 `$ k9 i& T5 o$ h! a
8 M- \- }( K1 K" e' `: z0 Y/* set default diags mask */
8 Q! g; R7 v% i* Y- Q2 |var Diags = xdc.useModule('xdc.runtime.Diags');6 m7 P) G( ?( A7 {8 K6 p- {
var Defaults = xdc.useModule('xdc.runtime.Defaults');0 j1 ^) _+ f. {2 v1 {2 q7 V
" G( f+ A9 p. r! oDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 O2 g; \7 {. ?: t5 W; ?Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" U3 z! N; c, A. w
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* f9 a/ i: u8 y: RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# N% s4 K: R; A) j7 B0 c) eDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */8 x+ D3 Q$ V+ k9 j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 _. a* u) I: ?
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' U1 Q' K& ` v. w
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( c' o( \ R7 d$ r+ }* w/ u ^
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ h6 G- g0 Z* R: Q% A3 }
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ B7 ^6 V- A$ p. k* M, G0 M" oDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# o! b' M3 l. E$ u: nDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; u, N! W0 {5 v' c* j
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;, E5 x& o) n$ d' C5 v, A; H3 r0 O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" X. s1 M( B( H" D" ^
4 {& |- I# Z) z( _ E
/* override diags mask for selected modules */" C0 j/ q' b: i) k' y
xdc.useModule('xdc.runtime.Main');, M$ W# x _/ [. r& B" f0 S
Diags.setMaskMeta(- T( H; a% W; G/ n. d
"xdc.runtime.Main",
, ?4 h" Y, Q, ? Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ D! @/ ]8 M- \$ F: ]" z4 I/ q Diags.RUNTIME_ON! |* R" q( g3 ^+ H% |4 p
); Q* E" Q" P9 E% Y5 b
) Y- Q! L- o9 v* Nvar Registry = xdc.useModule('xdc.runtime.Registry');
. q& E. S# J6 }Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. c' M% C! A9 o. s3 i$ X3 J" D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 @$ c: M: H. S) p$ F/ y h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;# k4 t! @2 X3 t% ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 p* o+ w+ _& `0 v3 @' a6 [1 h2 m
: T+ g/ _/ g8 T* I
/* create a logger instance *// L B% e7 R9 o* L6 D2 A
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 M" P$ ~/ T+ A! d( I% u' {' Pvar loggerBufP = new LoggerBuf.Params();
3 n" K6 v. ?3 H: A# IloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( D' ]( t$ R* P% U! }- wloggerBufP.bufType = LoggerBuf.BufType_FIXED;* D6 W2 v/ X, t; P
# ~& Q9 S3 R, F
var appLogger = LoggerBuf.create(loggerBufP);/ Z- I8 I; K, k" U$ w8 H8 {
appLogger.instance.name = "AppLog_Core1";$ z/ `8 a7 L6 r3 F5 j
Defaults.common$.logger = appLogger;7 `8 W( C4 |& ?8 l) V
Memory.defaultHeapSize = 0x8192; 5 J; p3 k- U. T" u9 N
Idle.idleFxns[0] = "&LEDStatus";6 v- y4 O0 @1 F; q& _
Cache.initSize.l2Size = Cache.L2Size_32K;
, C9 a0 j" h: V( k& G, _) t0 ], t+ J0 W3 M3 y# B9 B0 Q
|
|