|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 W" R: @) b* k' T+ d3 w% T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: _( L( x: |" `" V c* v(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' A4 s9 L; F/ M6 k6 S) N1 f4 j5 r- X, D8 ]" N# {2 |3 o
是不是需要在DSP.CFG中进行配置5 r" p% Y! P$ o" r9 f
我现在的配置为
- `- e- j) W$ M/ K, |
( H% C$ e$ R( f+ @8 ]$ @/ t/*+ {8 a& Q8 D9 ] J
* ======== Operating System Configuration ========3 c/ w ]/ q6 g& b' t
*/: l% m* I5 R5 K3 n3 l1 B2 ^
, W# g4 A: X' _3 [ B$ C
/* no rts heap */
/ T# C0 a. d9 [% G& Z5 V) L9 UProgram.heap = 0;
7 K; o7 R; ?. X9 G& h" ^- I' }6 ZProgram.argSize = 100; /* minimum size */( O2 |6 I, r. R1 v2 I! [
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ M4 E% ~2 V; @) b7 i$ r
! I3 g6 z8 B0 M
/* create a default heap */: z" O# G- U0 f" m c/ r& s
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, f) M( d/ j; c& o3 a6 W5 \
var heapMemParams = new HeapMem.Params();
8 k' o) \' O6 i( GheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 M: L( G G, y' s
; b; k) _2 F- T5 {1 `. s v. }+ Rvar Memory = xdc.useModule('xdc.runtime.Memory');
2 H' ^, {0 V v* j3 vMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ t1 L+ a* ?+ G1 L" F* l7 c$ j/ g+ w- P! d# y
/* configure System module */
: `' ^! \' ]; ]% }. c* H- b" Cvar SysMin = xdc.useModule('xdc.runtime.SysMin');: `& O; I+ R$ F* R/ d5 s6 ]5 Q# I
SysMin.bufSize = 0x1000;# K7 s1 N" |! m( }
SysMin.flushAtExit = false;
) B7 c0 A1 s" k
- s; r; i4 H; o5 Bvar System = xdc.useModule('xdc.runtime.System');
4 g6 a: ]$ Z- j* |! DSystem.SupportProxy = SysMin;! V- t4 _ x8 p3 F7 R8 h
" K( k$ N! E5 u$ F6 S/* configure SysBios to use the lower half of Timer 1 */0 K: a L& Y/ H/ O$ f
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: X# o( v9 ?' fvar Clock = xdc.useModule('ti.sysbios.knl.Clock'); P2 Z v8 o9 \0 Y
Timer.timerSettings[1].master = true;/ @4 e B0 u k( d
Timer.defaultHalf = Timer.Half_LOWER;, T4 }3 P7 z0 Q6 r7 m4 g
Clock.timerId = 1;
3 R8 V* m% _3 C8 C w9 i# C- N
+ m! J- s* Q1 h2 N3 i' z1 V
% ? W( ~) @; E: C7 z" j3 {/*9 S9 i- {- P3 J; q' \
* ======== Miscellaneous Configuration ========# n. p+ q0 O% [
*/6 G- G$ {6 n4 M% n/ l& ]* a. \' \
5 P. b, W1 V6 k# m- ], D2 f2 s6 y/* set default diags mask */( U* h* x) Q, K; x( A$ m
var Diags = xdc.useModule('xdc.runtime.Diags');- u2 J3 P* e$ Y/ W" o
var Defaults = xdc.useModule('xdc.runtime.Defaults');9 x( `9 v# S* g Q
4 y5 |3 u& k& c/ H
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 j V9 Z" {4 ]5 \" H2 J% }" BDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF; R1 w- h7 U; v' q7 h1 D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# {; j# R+ a" y) A
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( h' E7 _5 L! V' s# c9 Y" f
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 R- y: X$ v, e4 f( g- Q( d4 FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 D! [' R5 V8 m! X+ }( F
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ S; z1 s4 A8 P, |0 B
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* A% S2 V& H9 _8 v, C
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 r7 ?9 m0 i8 N* kDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 V; f/ J! }$ E: D& i( p N9 TDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 E3 t' i. i$ U
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: y2 Y4 F/ S4 N8 ~, P( ?- BDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 j ^& a: L" E. z p" ]1 o
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 T! Z2 E6 ]* M ]& j
e* n3 J$ r d! p
/* override diags mask for selected modules */
, s$ x' w* J- s' M7 Cxdc.useModule('xdc.runtime.Main');3 K+ V h) S0 R5 P" m
Diags.setMaskMeta(
+ A3 S' b( d3 |/ B "xdc.runtime.Main",& y% m4 j. n, B
Diags.ENTRY | Diags.EXIT | Diags.INFO,0 j1 m/ h9 O* ?' O
Diags.RUNTIME_ON
1 A$ Z P: Y: C6 o);
$ V t' C& ?9 _7 j' B; W3 Z* O2 p- R6 M
var Registry = xdc.useModule('xdc.runtime.Registry');
' e: Y) _% [/ i( FRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, Q$ ]6 S! M! T! m' T9 _. u3 \
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: t8 g* H# p' H$ q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;! W4 V2 z+ L! _- v
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* n2 S8 M4 [8 X/ _9 D( z+ V
" s1 H/ a: t$ w6 x, T3 j1 W/* create a logger instance */9 [" q1 I: A1 Q, s' Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 C2 G( U- ]/ b a+ n9 T( ~var loggerBufP = new LoggerBuf.Params();
1 X$ g0 W7 o( @# _) l% N, H- F0 Q( D8 XloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- v. g* I3 \5 }) y. r1 i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" R3 [5 o$ ~& N1 J9 A
( Z' o+ V) H( H; P. f! `/ gvar appLogger = LoggerBuf.create(loggerBufP);
; _4 `+ ^; b& Q* C1 o0 u: R# JappLogger.instance.name = "AppLog_Core1";
' Q" [& N3 v* h+ bDefaults.common$.logger = appLogger;
$ {8 K) f4 H. F# ^ H% QMemory.defaultHeapSize = 0x8192; - v% ~. b/ D. h* b/ i9 l( g. i+ d
Idle.idleFxns[0] = "&LEDStatus";
# o0 K- G! a9 d5 v: {5 UCache.initSize.l2Size = Cache.L2Size_32K;$ y4 {7 k4 o2 H) S0 A4 B3 t
$ \* D3 N4 n- D, |
|
|