|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ O4 r! o8 S0 q) T/ x我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( J4 A7 r* M: W( k8 Z( _4 U(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 a- `5 j8 Y" n. q$ G/ S& `' M0 Q" E8 U
是不是需要在DSP.CFG中进行配置6 M# F8 R! |5 v& C/ c, ^# j
我现在的配置为6 w; ^4 C7 m/ ^& ^6 p
9 T) i. e* @! D5 c: q- L4 f/*
7 I2 ^/ `& e# g& @" x * ======== Operating System Configuration ========
8 O, [7 j" b& n& k( H */% [) B' \3 h! f! h: Q3 u) g, Z
: Y& ]8 J- X; q! G, T6 a
/* no rts heap */ T; g6 ^. ?1 w7 I
Program.heap = 0; O" y$ b) N" f& q3 v3 N/ o/ B3 j
Program.argSize = 100; /* minimum size */5 T' M1 z Y) F9 {5 T2 L2 m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* L* G n/ K: e8 G9 X
0 N! e9 l1 Z. L/ O2 q4 j
/* create a default heap */
( E3 v% Y4 L( t9 f: ^2 E* Fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: M: Y/ n J4 B4 a$ p; Q4 q- u
var heapMemParams = new HeapMem.Params();
# \" C& N$ Q$ d) _heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 q% B" P$ \5 X' q# q9 C. ^) j" |* v) F
' p \3 ~. R- g) R( Y0 n
var Memory = xdc.useModule('xdc.runtime.Memory');/ `* Q& p% X4 K z4 k
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 Z/ p8 p& l3 u% {( M
$ R. u6 i1 ~& P/* configure System module */
2 w1 u: |" I' {5 y/ bvar SysMin = xdc.useModule('xdc.runtime.SysMin');$ G) {4 v$ R0 W+ n J, H) ? Y
SysMin.bufSize = 0x1000;4 j* r3 V. ]; A& M6 d/ {
SysMin.flushAtExit = false;2 @4 w# C( g$ A# K, s& |1 i
/ E- d# |) m% ~: S2 x# hvar System = xdc.useModule('xdc.runtime.System');/ T- P* I6 }6 d% f! U# s* |
System.SupportProxy = SysMin; k5 ~; X& b' t" j# q5 R% w9 _2 a
1 p) x% E, S$ ~ x/ @/* configure SysBios to use the lower half of Timer 1 */! m7 ?/ n) U' N8 \ n
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');- X' [& i" P$ I1 A! U
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
- W8 [, M" x; ]2 _( tTimer.timerSettings[1].master = true;
- d: u) E. y9 xTimer.defaultHalf = Timer.Half_LOWER;5 l0 o% Z6 a' _/ w, R
Clock.timerId = 1;+ I# f( p" l& g) f! U: ~4 T( Z+ S( l- |
5 k- [6 V! B; r$ ^! ?( }
, H* N2 ]- ]( r/ m. C9 U2 S$ M, n
/*+ F' t8 S. q& {$ M- [7 X% @
* ======== Miscellaneous Configuration ========! F0 W- [8 \8 v1 z
*/, @1 L7 y7 O9 C" Q/ k E( B% G# S
8 ~7 ]. C$ x5 g- S' `/* set default diags mask */
+ _% U9 n! }# H0 rvar Diags = xdc.useModule('xdc.runtime.Diags');
1 J" a4 J" U1 X0 O! I9 R1 Lvar Defaults = xdc.useModule('xdc.runtime.Defaults');
9 |6 i4 |6 R2 t3 u+ O* D6 n* N+ S# t P4 n* X1 S/ l
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ @! |+ R! D* a4 sDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! I1 z y6 U, ]+ U8 ^$ M
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 e1 }9 E/ [: ADefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 `6 K$ e* Y' a; Z# W/ \6 P* O1 V. KDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 T7 a% e1 Q- O. oDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; W: [3 i7 s0 t2 g4 Y- o1 WDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 F+ d4 }% q- v- JDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 D% z! c/ e( r5 A
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 z" {- [) t% t6 j% iDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 K1 u* P" i- X0 w: t: K1 pDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ \& S1 J) O5 F) d) m; F
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; ^! n& I1 B1 ?- t N
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 V# d3 N7 U# b2 U
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" E) Y5 [) D( I! ?2 y
: {: @9 h: J# l/* override diags mask for selected modules */
6 u; N7 ^# }: `3 A" o8 Hxdc.useModule('xdc.runtime.Main');
( l8 ^! S0 a6 f6 R' l# V# r- eDiags.setMaskMeta() |! v% E0 g7 m$ H* B
"xdc.runtime.Main",
/ W8 \' v8 o8 W/ A Diags.ENTRY | Diags.EXIT | Diags.INFO,+ |2 V2 ~" U; h) ~
Diags.RUNTIME_ON6 t. V M. R2 a2 k
);& W T% p9 d4 o; d0 x# ^( Y; [
0 f0 T$ z8 q+ T3 s' P
var Registry = xdc.useModule('xdc.runtime.Registry');
+ c2 W4 Z6 L4 i: c- R5 F( `+ |$ y' PRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. e( u; p. s: J2 F7 P+ ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;: o6 l, X# ]' e" l
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 D- i* y; K! O9 D. FRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;/ O0 _9 k5 s+ {7 ?) r' k
6 ]2 ?6 y, A. j8 n& u
/* create a logger instance */" O' _# w9 \& H! G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; Q2 M* H8 p0 ^+ }2 i" Avar loggerBufP = new LoggerBuf.Params();, T$ N, U3 |: {
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! E% x% ^7 N# G6 ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 O2 s; v# w: X3 b- W- v' I4 n, X* v
var appLogger = LoggerBuf.create(loggerBufP);
; U3 E: }5 H ]( k4 z8 }+ g7 xappLogger.instance.name = "AppLog_Core1";. e2 V& i7 l2 C" A5 z& d
Defaults.common$.logger = appLogger;
9 i7 A: _* n8 Z/ v7 v. w2 Y2 \% r4 O3 RMemory.defaultHeapSize = 0x8192; / _4 f7 F, c9 E w% o
Idle.idleFxns[0] = "&LEDStatus";
- y! Y2 l' {" P8 e" V# J8 eCache.initSize.l2Size = Cache.L2Size_32K;
% C6 E, ^3 z, W5 E. r( b; [5 H3 k. f1 ]+ v% _
|
|