|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& _4 z5 }6 `4 d& }& |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& s# `( X" k) g4 C4 C. t0 ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 }4 _* Z4 N* y+ H! x( B* A
% Z# C; p3 U3 w: _& B
是不是需要在DSP.CFG中进行配置$ x/ [7 T! C; y4 j6 k) w j
我现在的配置为
( e" {1 _" E3 n3 N4 c1 n/ o. ^3 x" J6 U5 d2 |8 ~
/*0 V: i+ q4 n7 i( @# ?( m
* ======== Operating System Configuration ========
. l* G) B4 M- ]0 z! w2 l$ {+ h- d */
5 f% K0 a. U0 m: w
3 z9 J0 J7 W) R1 R+ U/* no rts heap */
9 c k* m( X& l: e. E& xProgram.heap = 0;
1 b' Z2 p' w9 [Program.argSize = 100; /* minimum size */% |3 p& u1 q" j( S A
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ b4 e h6 i" K9 a
* z- S2 e6 T& [2 e6 h/* create a default heap */6 E" t2 u. [: x9 E- R) d( z' s/ f
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: N7 E6 o. o4 L* b2 B8 V7 \/ t
var heapMemParams = new HeapMem.Params();; G2 ?' M1 H4 J& }2 F8 v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 D5 e c' E; H
8 s: C% x0 f" ~7 P5 Svar Memory = xdc.useModule('xdc.runtime.Memory');' `" i. `. ~; T9 V+ S) ?+ u
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);" Z% d9 v5 A, `1 g+ g8 U
) n! d$ Q( B5 I1 R) i
/* configure System module */2 h+ J5 v2 a# Y8 }- q3 n
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" t5 X( E3 q) `# H$ y# bSysMin.bufSize = 0x1000;
A9 T: q0 s# t0 s) Y6 bSysMin.flushAtExit = false;
4 S9 S5 O& w. V l/ U
: I) I+ R$ g+ k" U6 `- y) nvar System = xdc.useModule('xdc.runtime.System');
9 E+ J9 V+ W& E5 y4 }System.SupportProxy = SysMin;+ c* Y' A7 x9 `+ c) \
4 s9 Q- ]7 G: `' r/* configure SysBios to use the lower half of Timer 1 */" s0 k3 A6 p7 O G! p" I
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 o% {; v! p( T- |4 Y4 S' {; I, Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');' }7 o* u% }( H0 b6 z/ i* y
Timer.timerSettings[1].master = true;
/ _0 q9 g% @% V5 QTimer.defaultHalf = Timer.Half_LOWER;; x$ _2 H6 w! Y& [0 a2 S/ l
Clock.timerId = 1;# x, f) T: J8 c& `) R; H
/ {: Z4 U$ l! x a6 P
9 s5 g# [- }* j$ j/*
3 e5 T: c7 K$ i5 D: j _' ~ * ======== Miscellaneous Configuration ========/ X4 v+ \" ?& l0 ~$ D1 M4 {- _
*/% P0 T8 l6 h5 y; o) `1 ] e7 m7 x, V
" W! [, C, R9 W5 q; @5 |' w/* set default diags mask */
+ _, g) ~6 {8 y. o: F2 uvar Diags = xdc.useModule('xdc.runtime.Diags');
6 ?7 M2 Y( c( t0 zvar Defaults = xdc.useModule('xdc.runtime.Defaults');8 z* J2 k) T- X6 w
! m/ l: u U1 \4 U& Q* c3 p2 qDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ v( s2 `, f/ R9 l$ S: l$ k
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! t5 H* E. F. [! t2 w' JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 I) S/ N; W9 x' i2 q9 K4 wDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ Y' K, g! X9 p8 F9 }
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */8 Z3 y4 ~. J/ s% }" g8 d& c2 ^. C
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
( [1 i5 B9 u: V1 C& sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! R" }! P$ @2 Y" F5 O: m* k6 w4 gDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;" n* q4 t( f M9 i0 P9 a5 B) ]
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ u8 g: T5 ^5 l& r/ v+ X
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 f( {( i0 H4 F0 KDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 \& j* v7 o( i2 W9 t
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& {, h5 q5 j" u- y7 CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- N% j- u5 ]5 D) ?8 r: L" zDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- i- A3 Y [& S5 c) o3 e- T" ~
j, v, b$ p: T W* Q
/* override diags mask for selected modules */9 ?/ {4 r* N5 H" z& a
xdc.useModule('xdc.runtime.Main');+ H4 w. Y& G1 [. S5 j' H$ s
Diags.setMaskMeta(
$ e. m$ r( R7 U! H! ^2 [( r: X "xdc.runtime.Main",: T2 ?9 d6 z$ j5 X7 Z C
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ } g' S7 v7 q8 X; y u7 ^* ^( W) w Diags.RUNTIME_ON
% ?( @! M$ U0 Z, X);
6 K4 H1 u; O7 J5 \' L- k$ |1 C
y; h' r& j9 Tvar Registry = xdc.useModule('xdc.runtime.Registry');9 Z. p4 X$ ^8 a$ u7 F% \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 j$ s+ g$ K4 f1 {2 m$ wRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 v# D& u# R. o% Q4 w8 i+ `Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 s; m6 h9 E& _+ `1 L8 SRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;! Q2 `, ]& \3 @: [/ B1 V8 N
/ H t' C( H8 j. @% y
/* create a logger instance */9 H: T& X% v3 r' e
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* ?4 w1 T0 A( z( @ i0 _5 {
var loggerBufP = new LoggerBuf.Params();: `& ]# c: i4 X5 s9 ~
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 }! ]* K. f$ \: O0 J R% u6 |loggerBufP.bufType = LoggerBuf.BufType_FIXED;- l6 j% N! @+ N( T/ [# N
( p* B, j1 N) B* c9 W
var appLogger = LoggerBuf.create(loggerBufP);3 E8 B: M e) r8 {% e
appLogger.instance.name = "AppLog_Core1";
# ~) G6 \+ y% Q5 r% G8 f! rDefaults.common$.logger = appLogger;
) `: J; [6 t6 f/ `1 Z' u& nMemory.defaultHeapSize = 0x8192;
+ z) f8 e U6 k2 h& ]! pIdle.idleFxns[0] = "&LEDStatus";
2 l# Q7 F( t8 V0 @. N4 S) xCache.initSize.l2Size = Cache.L2Size_32K;
3 H% n, c0 m, I% T" R4 g# w- d! Q4 a3 m$ i& l
|
|