|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 d# {0 N d$ o
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' `% x5 L8 f3 \. d
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# Y; J) g2 Z' b4 G/ c* W4 n8 F# K2 q0 o
1 ]: H! ?5 Q$ m是不是需要在DSP.CFG中进行配置4 Y# t: y; D" L% {, S
我现在的配置为7 C5 j/ {; h4 B; I5 l
5 @' u# `7 ~& M# _
/*
: y& A2 T) ~1 q* [7 V1 v+ l * ======== Operating System Configuration ======== V: S% j# [3 P6 q/ C* f: {
*/
2 \/ T/ L6 Y G) i+ s4 j% D" p- K& p; \5 D& m) ~
/* no rts heap */, P: h: f( M1 E( e9 _
Program.heap = 0;
9 b# R1 o% S* C/ Z7 C/ A3 dProgram.argSize = 100; /* minimum size */
. R" @0 M( y: \' dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 O$ R' b" l* B- ]3 N
/ H9 ~8 C7 ]# m1 b. P2 p$ Q3 z/* create a default heap */
6 f: r+ T |. l8 q8 y# j2 _var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 H+ k$ B4 q8 P- J
var heapMemParams = new HeapMem.Params();
& i/ r9 H+ U9 ^; K+ \% p0 b2 LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! s! m2 x7 R( v3 u3 ^& b m7 t3 x% Q( G: T- J
var Memory = xdc.useModule('xdc.runtime.Memory');& _5 N7 x' V# c N
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
( r+ ^+ H- @' B9 V7 _8 ~
' _0 u# Z6 q: }/* configure System module */7 A8 s& z- E1 ?5 n/ u% G
var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 E9 h9 [$ F }4 Y* ^. K- [& K, aSysMin.bufSize = 0x1000;
/ d7 [9 Q, q+ h, ?( ^' Y; ]SysMin.flushAtExit = false;# N( Z' _* |: ~3 E
1 Q; B3 A; v+ `' L9 n$ H5 c3 s Y
var System = xdc.useModule('xdc.runtime.System');
5 V l& ?; M9 k6 nSystem.SupportProxy = SysMin;
/ Q; D2 ]6 Z1 d0 f" n) J2 w8 g
. r: y: z' w1 F! ~# g/* configure SysBios to use the lower half of Timer 1 */" M( I# s% g& z4 X4 ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 Q1 `3 e' v3 w' c; G5 |var Clock = xdc.useModule('ti.sysbios.knl.Clock');2 u# |! T1 w: ]: J n
Timer.timerSettings[1].master = true;
1 S8 e/ [7 z0 G9 M/ O1 {Timer.defaultHalf = Timer.Half_LOWER;
/ G0 w7 h6 l3 ^* pClock.timerId = 1;* Y' ]0 M' G" x! u$ [" i# B6 V* u
0 y7 c8 m! U7 l/ q- K" l8 _
7 t! Y% l9 Y' ?' M) w/*
. |4 Y, O7 C, k) `+ p * ======== Miscellaneous Configuration ========4 \& H$ E) @" C) A w2 f
*/$ |- S* X2 s. d0 z8 C7 G$ f1 w/ W
& M0 H7 W% m. U8 Y/* set default diags mask */6 h6 \; Y0 `+ ~9 C
var Diags = xdc.useModule('xdc.runtime.Diags');
0 p0 c# ^/ D) }. v( D6 @$ \var Defaults = xdc.useModule('xdc.runtime.Defaults');/ l0 W& k* b; `% y$ p p
* ^6 W5 T, M, l) R9 U: x! qDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* N1 v/ O* B4 v$ U: z9 x: s, IDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 K6 E4 d. L! S/ Y( a* W
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' O+ j6 m% l' C4 p6 Y3 `Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* m: ^) F- |0 y& k9 u
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" a$ G# H3 X2 k4 S# FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; j% N' \0 j: Y% x0 f9 wDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 k7 e/ b1 W2 e& N
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; F. O' o9 ?: E- m8 i0 [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 q* d# ?& M& t6 `/ bDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ E" K. p+ O% ]6 A
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ x/ X+ I7 h7 G ~! x/ ~Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, c; |+ Y N6 G! z9 _8 s6 i
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* q, J) x: U5 z- h* j' ]6 B* `- u zDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 [, j* l% ?/ T' n7 ?! p
! c% `) G# V x- N( q/* override diags mask for selected modules */! w, L! U- H- F# m+ l% m, Z
xdc.useModule('xdc.runtime.Main');
8 z- X# g1 d9 b$ M% SDiags.setMaskMeta(
, y( [8 _9 U- R0 [9 e% o$ r "xdc.runtime.Main",
2 y# M7 q4 i6 ? |: u/ l Diags.ENTRY | Diags.EXIT | Diags.INFO,: n$ l: e; E/ ]! S
Diags.RUNTIME_ON
' e& t% U e' ?7 t( s);
# c; @/ l* t |( s) i+ b V2 f" ^ n! U2 N
var Registry = xdc.useModule('xdc.runtime.Registry');$ [/ ?/ ]8 A( X/ W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, C% c+ k" C) x) n, _2 ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ F. _/ c) X: [5 ?! |4 a# R
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 v* g' q3 l: P& i: Z
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# a+ h( ^" r2 G
5 d3 {) H0 N* ~* C7 |: Z% t
/* create a logger instance */ ^7 W1 y5 b2 n: I& W3 z" o- R/ q8 [- L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; O u. F' [2 \. {
var loggerBufP = new LoggerBuf.Params();
8 x1 R' g1 |3 S% I" {; A. _0 ~loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 g4 |; D3 V- k8 x i' V/ ~' E# |& P X) }
loggerBufP.bufType = LoggerBuf.BufType_FIXED;' g" g8 y: x- r8 ~/ y# C
3 S: v* I8 Z( `0 |( _var appLogger = LoggerBuf.create(loggerBufP); ^0 C8 T) O5 g
appLogger.instance.name = "AppLog_Core1";
2 L+ [# c V& c0 D) _6 }Defaults.common$.logger = appLogger;
4 R# C3 l5 a& ?0 M1 `Memory.defaultHeapSize = 0x8192; " B3 q# A5 Q# K1 D% x# P
Idle.idleFxns[0] = "&LEDStatus";5 Q! ]2 D3 W6 _. I6 z
Cache.initSize.l2Size = Cache.L2Size_32K;
7 p0 [! E- B% T; H, N' k) r4 ~* j; ]' ^7 l1 \, O
|
|