|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! W! c6 k: M+ Q2 ?
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& \! A3 h9 Y3 _! c( Y
(不过疑惑的是,为何单独DSP仿真就没有问题呢?). ~: o6 H# E: e0 l
0 v' s- \3 u x# x% t) h8 j
是不是需要在DSP.CFG中进行配置
3 O; [" p; N5 M/ O我现在的配置为
. E6 y2 B% ~9 w$ l% X9 L, a v0 L1 A' i/ }: _% M) _8 r" O8 i
/*
9 j7 z1 I1 }2 A+ H' {& l4 @$ B * ======== Operating System Configuration ========6 ` F+ g6 P$ Z& O8 T& }8 S/ k* V V, D
*/
8 |" I+ R1 t8 W7 y# I8 ~0 o
3 S: d9 \" D, |7 c4 I6 w/* no rts heap */
* j. g2 A; B( }: b9 ^7 V# K* [Program.heap = 0;
7 O; y" D) ~+ C7 U& @; tProgram.argSize = 100; /* minimum size */, K1 m/ G3 j- ^6 n; j
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! O( h8 ~& a1 }8 L9 w2 P
( v' J5 V4 s4 q$ ]2 Q- L& K/* create a default heap */: k5 x* \: g( g
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 `, D, K9 b# @# A
var heapMemParams = new HeapMem.Params();
7 \, i8 |" }& u3 p) d9 sheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ F Q+ a7 R# {
# S3 O- X9 r7 \- N& N7 A0 Zvar Memory = xdc.useModule('xdc.runtime.Memory');0 L. V" F V" B3 P; S# {$ j- P: J
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 E0 v0 B5 s: `: ]! J9 B
" H6 X9 Y9 H/ f* u, ?- v' u1 {
/* configure System module */
: w' a! ~8 o/ U# g ^& w6 Jvar SysMin = xdc.useModule('xdc.runtime.SysMin');8 _- h' J( I% C9 m% w
SysMin.bufSize = 0x1000;
# P/ I: r; e/ B/ fSysMin.flushAtExit = false;
% [4 x, H; d9 l1 k4 T: H1 E" _8 r9 P
var System = xdc.useModule('xdc.runtime.System');! a+ {% [8 \" w: s5 L7 N
System.SupportProxy = SysMin;5 p! |% _( |/ L+ ~" q
x) w$ U& D& c6 N g# U+ {& b/* configure SysBios to use the lower half of Timer 1 */1 u: d" e" m2 k! @8 F2 t2 Z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ J6 ?7 N }! U
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" y! R. x' G& E) T9 s" a% i0 v3 fTimer.timerSettings[1].master = true;2 Y' z7 W8 H: X' q+ }/ G
Timer.defaultHalf = Timer.Half_LOWER;0 C" A7 r g/ k6 k! R8 j/ f% T
Clock.timerId = 1; n! i. @* u0 [5 z' n
# p3 o/ R2 V$ K! t& |7 j& d/ a, V$ \2 e" }! d
/*
p, _- z4 F4 j* N( T" _+ d* ]# x * ======== Miscellaneous Configuration ========
( L @& G; f- ]1 i L */
M) K* Y$ m& B# J% Y; y% H2 v# B- L" b d% ?3 `
/* set default diags mask */
$ w$ r* {1 O& ]var Diags = xdc.useModule('xdc.runtime.Diags');
r1 U& ^9 o1 V) ]1 P+ l, m6 a2 Gvar Defaults = xdc.useModule('xdc.runtime.Defaults');
c- G4 j! f! P ^9 i: O: N/ R1 s2 A9 Z( i' N* l
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% n4 w# n. E% H6 x# ?7 i' rDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 I- d9 ?' x- A' M' L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 u _6 M3 H3 b5 s# a" M9 q* xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ f/ t% \7 s% \' v6 |
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: A3 S: D5 d& R3 v9 S# d
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
|( b5 R _4 R: G4 YDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 {, ~3 c8 U% f; G+ KDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; T" ]3 k8 \2 C6 EDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 @5 D0 K: z" j8 k% P9 D$ eDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& y0 h8 `. ?4 E- f. ]6 nDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 b, t$ l0 \+ ^- b3 L3 U8 r
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! N* Z! z) `7 _' P4 ?
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' s H/ C5 r, v: `. y
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" `7 D( F- K0 k) t y
, j, N6 H! t7 P* R/* override diags mask for selected modules */+ Q2 D( e. Y6 x5 l; O8 g# B$ ^% ]
xdc.useModule('xdc.runtime.Main');0 A w4 J) {# X+ O$ k3 w( ~3 T P+ n
Diags.setMaskMeta(
* ]. e' p+ W6 C8 W "xdc.runtime.Main",
' p( j1 \$ }4 s& A9 J9 B Diags.ENTRY | Diags.EXIT | Diags.INFO,1 Q/ O$ H& ^. H" W, H' N; \
Diags.RUNTIME_ON% }9 E: a+ H) B& k0 m# N, D
);0 w) l( J% C- m- m
- ?% u$ C: j1 V5 g |* [
var Registry = xdc.useModule('xdc.runtime.Registry');1 o/ X# W" p/ ^, B$ D2 M9 H9 |
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' y, h9 l6 N& O, t3 m: D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 b0 t' M4 W! n
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 x7 o& B0 Y1 T/ s" }7 DRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 c% p" o# \2 U; p* f% g/ K% }; f
\) a/ w# ?; H' i/* create a logger instance *// w( ]) g5 X- L3 b
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ ?; Y+ J4 r: Z/ a; }var loggerBufP = new LoggerBuf.Params();5 ~2 h3 B0 a+ b0 E2 H0 x
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& X* {) _9 s+ |) ?. ~0 K! G* g- D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( I& ^4 H+ G7 U( @5 g4 n& l; [. z. C
var appLogger = LoggerBuf.create(loggerBufP);
* m( q0 \; `3 mappLogger.instance.name = "AppLog_Core1";
% ~" q/ h2 f/ J8 _0 P pDefaults.common$.logger = appLogger; Z6 u. M8 g3 D3 s4 I$ ~
Memory.defaultHeapSize = 0x8192; ) i$ [, t K4 P# d: C
Idle.idleFxns[0] = "&LEDStatus";+ Y) _1 x/ a) x$ Q
Cache.initSize.l2Size = Cache.L2Size_32K;, H# P$ F3 x$ r% z1 g/ J2 g( D
- ]6 g+ r# U; N; n0 W: S5 x" u
|
|