|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! q9 C* @0 z$ B
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! K4 T/ ~5 J# Q; ?(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ u( V1 ~1 h# `: t; {/ S/ Z9 l% g
4 c0 P1 V( W9 j5 p# t+ n是不是需要在DSP.CFG中进行配置' k5 Q* O4 E7 M6 t8 e' k) ?! Q! \
我现在的配置为
+ E& n6 g6 ]9 w
. L( r3 i: r( Y) m* X/*
1 z; c4 I% k J# p& ~ |2 H * ======== Operating System Configuration ========
+ {0 C2 j- x5 U- Q0 [/ F */% r6 d2 e* |% _# z8 {
$ t' s5 V+ J% ~& C N
/* no rts heap */
& p. D4 }1 W$ `" n" U9 o% iProgram.heap = 0;
8 Q! w+ j& y H8 @3 Z. ~. ?4 oProgram.argSize = 100; /* minimum size */. S% p8 ]% q9 f9 M. ?
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" O9 M$ @0 q' d, ]7 r) b
+ |% i1 \$ _% Z/* create a default heap */
/ i+ w: Q. A* K2 Svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 e4 w0 k3 }7 k/ j* h) ivar heapMemParams = new HeapMem.Params();3 f* C( {5 C y0 K' {8 v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# k- ]9 G/ K; |! R- Z2 D
- C1 C' g- ^2 s* n* J2 Y" G- Cvar Memory = xdc.useModule('xdc.runtime.Memory');
" Z! W8 F- s$ R/ z. Q. _6 RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);6 C3 D1 @* E& K& b
, x) L- z' i" Y0 { {9 R
/* configure System module */% l4 ]2 ^* M3 q5 }' k, h) S. O
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" Z) x# |3 i! ]SysMin.bufSize = 0x1000;. o h1 \) R- e# m3 k1 @( f' U5 _
SysMin.flushAtExit = false;) X- O7 R( m7 d
1 ~. q- [) O, `
var System = xdc.useModule('xdc.runtime.System');
3 r' B6 a& Y7 `! K( Z$ XSystem.SupportProxy = SysMin;, Z( [! R& ^3 d# y) a* e5 C# p% @
: n- B1 a" N7 u
/* configure SysBios to use the lower half of Timer 1 */9 t {9 q" b: D1 m) m
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 k9 t5 Y* x& R3 M) a5 i7 \' Dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');+ V* I6 C8 p p) N
Timer.timerSettings[1].master = true;
+ v$ F, Y: d" S; TTimer.defaultHalf = Timer.Half_LOWER;
$ _- ?1 z, J7 L! }; J5 F5 fClock.timerId = 1;' R* w/ e M* S1 K. b( t) |! U
) a( A' {# j( w% t: L9 y
1 B- C( j+ ]) V# Q( d3 Y0 Z/*& t5 e+ w# A) T" T$ ]
* ======== Miscellaneous Configuration ======== L" n( i# q( ^6 q
*/3 Y- t$ \& M$ k& M) r% U* f: E. U# ]
$ D- p' w& K9 i: Z* Z/* set default diags mask */; D' e+ Z3 V7 O5 y1 N1 C* u/ R) v% ]
var Diags = xdc.useModule('xdc.runtime.Diags');( S9 z* \% e u: p: x+ N! y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' D( ?# w3 c9 F+ ^8 f# C6 v) j) }/ s' ]# V5 k6 ~
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 X! b0 n4 E( o# {# c8 A( EDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 w: M" Y! Q! d3 d# x3 q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; t* _3 r+ c: K# [8 _& m+ _; ^Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) i0 U' \: E) l/ YDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: v- Y% e* c' }& ~# P, {- ^: y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 f; @1 Q6 v4 O+ w4 ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- a* V7 d u& n+ J; S
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ V8 n5 n R/ G
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 a' c P. U# h, d1 k
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 V5 N* g0 J! ^9 rDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; ?0 K' r* R) U& A
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- ?/ y* I$ C" S9 U) V' ~+ a. c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ e+ e8 s6 `; VDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( z& X5 r, q% p9 S# r7 e2 e5 K4 s! j+ m
/* override diags mask for selected modules */ |. Z: s ^/ p/ R
xdc.useModule('xdc.runtime.Main');/ }1 W6 M3 g ?" y' _& \: N
Diags.setMaskMeta(8 }1 R9 j! B! x. L/ Q6 \
"xdc.runtime.Main",
. E3 g* m( v% E% Q* R Diags.ENTRY | Diags.EXIT | Diags.INFO,- e( D- L" s4 \8 \" U" B) b$ v( s
Diags.RUNTIME_ON
' H6 k1 D1 F+ }9 f);2 V2 f2 u+ O4 i% u
/ i# q8 L; j0 A
var Registry = xdc.useModule('xdc.runtime.Registry');
`+ g1 d% @' D! b! x! I. dRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 W6 L4 n& h. _' [- R. [3 y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, c; B5 S. G5 Z; l8 u
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 V J3 A. m7 b+ y+ W6 URegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
% n h* x* g5 a+ b1 ` s: g" d4 [) ?! Q( b
/* create a logger instance */3 ~9 c A2 T$ w! R9 X7 h
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');5 a, @$ i" I" n5 ?6 {
var loggerBufP = new LoggerBuf.Params();! ~5 I3 c) n$ a" N, {6 [
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 L- r( `0 G5 C) S0 b" G
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
: G# R8 k5 f# {$ G4 _
( k2 a* v1 q% Y7 D1 S3 hvar appLogger = LoggerBuf.create(loggerBufP);
& F+ n& ~' y$ R D+ OappLogger.instance.name = "AppLog_Core1";
# s# C0 \5 I. d. `0 j/ Q3 WDefaults.common$.logger = appLogger;
% e4 N( B) ~ ^2 \; O# ?8 LMemory.defaultHeapSize = 0x8192; + K9 A# c! O N0 e, Y# K+ k9 J' q
Idle.idleFxns[0] = "&LEDStatus";
3 c" s+ E$ O- Z U& a) X+ _/ PCache.initSize.l2Size = Cache.L2Size_32K;
9 ]* Q8 N; l7 U. V( X1 R, ^: ]
3 M) h5 e5 V; ^+ n9 |' {) _' C |
|