|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% I$ Z, z" q5 ?& V8 ~我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 C; W- @( G! F9 z8 t- E
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% W& B) u% W0 W: d1 Y5 H4 w
; w) P. Q3 X! q7 s2 [7 O是不是需要在DSP.CFG中进行配置8 [2 o2 F) x8 D6 p7 X
我现在的配置为- u$ d ~ C1 i4 ~
: a+ }8 S* Z6 j! z/ N3 y/*+ h7 S9 z( G, _! }- _6 J9 Q4 k
* ======== Operating System Configuration ========
% ]& ^5 n; A" H Q$ I' f8 X */
0 {4 s" C) w4 r5 `4 ?" b6 C# W% k5 D7 J! ^5 J- H8 w: J
/* no rts heap */+ i1 r2 Z( F4 M
Program.heap = 0;
0 ~9 u0 q8 x5 t$ X+ L; v1 z! }Program.argSize = 100; /* minimum size */
0 x [% x: N8 `* ]Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) r! l, L: Q0 q) r: L6 ~3 [! d2 ^2 R+ A& l
/* create a default heap */7 E( N& U) g( C/ h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 e8 H( ?# B5 j# j3 i# yvar heapMemParams = new HeapMem.Params();1 [ m* A+ C" g4 }: q0 U
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! C" L7 g$ c# n9 }+ h4 F
+ Y3 v2 R+ T! l) I- y" R$ z
var Memory = xdc.useModule('xdc.runtime.Memory');. A5 t0 W. [* l2 G( f1 O9 \
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 i" R+ {9 a, R5 C% N* K) X4 K) p8 t( K- r/ c+ F* L! n! e% V
/* configure System module */0 p3 f8 ?8 r7 y- @
var SysMin = xdc.useModule('xdc.runtime.SysMin');. i; ~8 p/ b# T" V P6 }: A! X
SysMin.bufSize = 0x1000;. n" c9 A# p+ v7 `* R3 x
SysMin.flushAtExit = false;) n4 |7 x# o9 L8 ]
( f+ C: n- }+ P3 y% I) h* d/ ~
var System = xdc.useModule('xdc.runtime.System');% q2 D' v2 y. \! I
System.SupportProxy = SysMin;1 F3 W: ^- S+ |6 W/ z L
7 U1 X) ~% Z) b$ l" i: P
/* configure SysBios to use the lower half of Timer 1 */% i$ t1 L9 Q8 G5 [% R h7 G/ J N
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ n/ o9 g! \$ i) ]
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; x+ O: W. I0 j u% g0 {6 `; g, C# BTimer.timerSettings[1].master = true;1 E' y6 R' t: u/ m e
Timer.defaultHalf = Timer.Half_LOWER;/ c7 W9 g, f, ~- Q' J
Clock.timerId = 1;. x; B4 ?1 H) D# [5 }
4 D& z" c* R$ p
' |. C3 _9 H6 l) B/*- n* {8 u3 B: i7 W+ O! Y
* ======== Miscellaneous Configuration ========7 U5 s' V' y# \5 L, L+ J' }
*/, X; o0 R( B Y- Q1 e9 m
8 g5 l: ]8 W+ k/ W U
/* set default diags mask */7 F4 \1 R e: p' y9 z
var Diags = xdc.useModule('xdc.runtime.Diags');
! l) i- M- r6 v) v. g; W/ n; M1 Ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
* n3 v! W; P! a6 O7 P" B" }) x0 J; w4 q* w! f" [1 O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- q# y, y' ~7 l4 C5 hDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ B2 U$ j1 m1 ?3 i) T" S6 R6 XDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; [3 _( l7 M4 W8 N3 Q9 {1 M8 |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 F; b% X# m( _Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ D; a9 F6 f. v; b @
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ X9 L, F8 H) B: ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" t/ b+ a1 r/ ?$ I8 {$ JDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 F3 l- A& V8 U1 g8 v( T0 h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 W: F3 }% x" Z* q: ^Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ Q! x1 n7 N: p s* g1 [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' ^' ]5 C4 ^7 ]
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 Z/ D1 ^2 |. e5 a% K" E
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% V$ |- C& W( i& e; d( tDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* ~5 u6 J; W" E' K# c* H
! K* b, ]& I# a7 |3 J/* override diags mask for selected modules */
! V }$ X1 P8 G* b( O% Kxdc.useModule('xdc.runtime.Main');
7 b7 V9 S5 u0 Y3 X! B. LDiags.setMaskMeta(% ~% G8 H6 C. ]/ Y( L6 S
"xdc.runtime.Main",3 n' z( F4 N2 U
Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 O6 |* i: s# P5 t4 b. v8 } Diags.RUNTIME_ON
" y8 t; |- h2 H& V% P);
`* M5 B9 F9 {4 k* u* `
2 O8 M! C8 A# p/ Bvar Registry = xdc.useModule('xdc.runtime.Registry');
# L* T7 l' p% c/ _Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 b: {( S4 m5 q% |5 D4 gRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 X! h0 E- [4 b$ c' `5 N! ^Registry.common$.diags_INFO = Diags.RUNTIME_OFF;( ~, V+ K c$ U8 W6 N
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- Q8 P* e8 Q# l; c
9 u T( O7 N0 s2 ^
/* create a logger instance */
6 p3 o6 V, T% j- I7 `! [4 ?* u6 Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 M8 L. I0 Q: n2 Y" ?. H$ j
var loggerBufP = new LoggerBuf.Params();
t1 c( K* k4 s/ }$ p! J! {loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; A2 N* e4 Y( G* M. J; [7 FloggerBufP.bufType = LoggerBuf.BufType_FIXED;! D; E& j% j4 R( H! R
8 g$ q1 i+ \+ Y6 X
var appLogger = LoggerBuf.create(loggerBufP);2 Z) @2 n# R' a* [, v% b0 C6 G
appLogger.instance.name = "AppLog_Core1";
2 m0 z9 B9 v f: z3 d5 n8 pDefaults.common$.logger = appLogger;: t& U/ g, [) n% @8 B
Memory.defaultHeapSize = 0x8192;
4 [. P$ t" s$ D1 Y/ JIdle.idleFxns[0] = "&LEDStatus";% d- U; n; ^8 b4 q' N) f/ h
Cache.initSize.l2Size = Cache.L2Size_32K;+ z+ ~4 i8 i" C) Q
- @- N3 B5 P" _% \7 ~# u! J- T
|
|