|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 m. G1 g! F2 ]
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 Y1 L$ U) P; k: z! i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 @- Q2 e2 h" o) i
5 T4 z* d& t: _% Q" F0 `是不是需要在DSP.CFG中进行配置! A V X+ {, S, ]2 g/ p: b
我现在的配置为
1 g5 X0 u3 Y g$ o3 A. m( Q' ~; l. P: u
/*
( `) `! x0 O0 {7 D) B+ }9 m * ======== Operating System Configuration ========! X; X+ n; ^4 O( R
*/
/ Q3 b' ]1 ]! ^1 S5 a/ {0 J+ k, C7 E& R5 N" _
/* no rts heap */) D, O, i1 Q# j6 k; N. ?: k; `
Program.heap = 0;
0 X# x8 y4 `3 a% J* q% U# K zProgram.argSize = 100; /* minimum size */
1 L0 f, s: p$ PProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ x) ]7 f; ?" X5 ]! g! [$ X7 \/ M
+ O h; h$ W6 z( i* r/* create a default heap */1 L# U1 k# A' Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( L0 A! U# y. h1 dvar heapMemParams = new HeapMem.Params();
1 u1 |' R7 i; @5 G4 |heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& w0 M A5 s$ x# H
( |/ ~" a! U$ D( b: q# Fvar Memory = xdc.useModule('xdc.runtime.Memory');
5 k/ S& t2 k4 N/ ~9 Z& T z! {Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 q2 K; V$ O, ^* c% t! ~1 Y) B- X3 G0 X; ?. L9 M' Q
/* configure System module */
# S; A! [% ]( T0 dvar SysMin = xdc.useModule('xdc.runtime.SysMin');
$ t5 o0 _% m- v: eSysMin.bufSize = 0x1000;
) T% }# d3 F6 R9 d6 y/ t- {SysMin.flushAtExit = false;
. b0 x& y# }) E" P1 U5 {
6 D# I3 u, r8 T5 lvar System = xdc.useModule('xdc.runtime.System');
# u1 I% }. x- x! B1 K. BSystem.SupportProxy = SysMin;
+ C5 h x5 L9 g i' l* s! c( ?$ G3 C, D0 ?! p4 d' t
/* configure SysBios to use the lower half of Timer 1 */
+ v7 q8 j% k; qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! V' v/ O! `% P' H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');$ ^/ n1 ^' u0 [+ O
Timer.timerSettings[1].master = true;
% m0 V, X% m/ z" m& W% fTimer.defaultHalf = Timer.Half_LOWER;# M: E5 I5 u& U: [! Y0 z; ]
Clock.timerId = 1;$ F- F( ]8 D; c% r
% T0 ~' E5 h2 H; d1 g& }8 ]
+ {5 Y6 g7 i$ x: W' Y/*
3 F2 s( s: a5 {7 C8 a) L6 t4 Y6 n * ======== Miscellaneous Configuration ========- a- A# ^! u; [* v, h3 m6 Y
*/. D8 T' K7 |, p6 G
7 O% j+ G9 d% ^4 @/* set default diags mask */
: w) x3 q* @% A2 `2 k$ v1 zvar Diags = xdc.useModule('xdc.runtime.Diags');
- c2 l7 q ?) Z( [var Defaults = xdc.useModule('xdc.runtime.Defaults');7 Z F9 N/ h0 x2 O6 ]
1 x5 d4 i! ] X7 y- e" Z. u& s
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ p& u5 i/ j: [' m8 a* B
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; I0 [( I0 f: k% B0 | `
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# ?) ?! a# m. n: f# PDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 y8 l& N! @* R8 g: X+ e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' n. x1 E. a* n0 W) l& O8 i8 H w
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 G! ?& K. s% B# L6 o1 h' ]; _5 ]
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 n" T* a( i; X. Y7 t$ Q9 W3 g2 CDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 ?7 c5 |: r- T6 SDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- R& i. r# V9 S
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ Y/ T9 I4 g1 M% QDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 w$ t- d- _3 i( ~Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 l4 E$ k2 Y; F6 K' [! {
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
w! S$ ~% v( `0 {* ~; ~3 A1 s5 iDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 n' g5 i! @0 |0 A6 ~. C/ \' V5 Z7 e& N+ K% D$ G, f- m
/* override diags mask for selected modules */
+ G" O9 k/ g9 k$ w: Wxdc.useModule('xdc.runtime.Main');% I% m, m- a# p/ @
Diags.setMaskMeta(
$ ^$ f0 |/ Y$ u$ e8 q "xdc.runtime.Main",( u4 J9 {# j0 o y2 C3 T3 q8 z
Diags.ENTRY | Diags.EXIT | Diags.INFO,* k5 o+ c9 c3 z# G
Diags.RUNTIME_ON7 L3 X5 F$ e/ c; o$ M7 q$ r
);
# O3 u4 l0 v7 K6 K- u1 U
$ I6 Q; D& J8 a1 c2 a1 Jvar Registry = xdc.useModule('xdc.runtime.Registry');) V" I5 y* O/ _5 y( d6 A
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; Q9 w: p0 {0 O& ~7 @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;& @7 j3 } ?& W& t; Q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 ^( g. W) [& |) \; a
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 M4 ]6 z) j* W$ q1 i1 x7 T7 @
6 G1 b2 a7 a+ N5 Q; V" N' i/* create a logger instance */
- S+ k7 J3 O3 Y1 |' _8 ]: p& pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ r! c' R% q( x& j# K! Gvar loggerBufP = new LoggerBuf.Params();
7 _# N- T$ W7 m: |loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- W' h& N S& V; G" t
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 [) W2 K3 o% N# i \' H7 G& E
var appLogger = LoggerBuf.create(loggerBufP);
9 X( f; ?0 e6 ^' X, s2 j4 f7 yappLogger.instance.name = "AppLog_Core1";
# O; D2 L# k* j8 T1 F: f4 FDefaults.common$.logger = appLogger;
4 m+ d0 j$ y5 l( rMemory.defaultHeapSize = 0x8192; 2 a1 H ]0 a' _- ?+ i* N
Idle.idleFxns[0] = "&LEDStatus";
4 N6 P! `. c, C o6 D0 bCache.initSize.l2Size = Cache.L2Size_32K;! p: [- X; N6 W9 g8 g" A5 E
; T# h! V2 g/ R' a" S/ K: b. s |
|