|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: q* l6 |) N; n2 x1 }
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! C+ q% C' N$ W6 s; |- `* Y& T
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# b8 s1 ]5 C& `" Q( M" J2 |5 h6 c% W
是不是需要在DSP.CFG中进行配置0 z& ]$ S0 P! {5 p3 c+ _0 ?' X
我现在的配置为
; L9 I4 S4 `% f' G( Q0 v, k7 `% R2 I% m) P" {
/*
3 R% n! O9 U7 y- q6 ]. \ * ======== Operating System Configuration ========3 T1 S. o5 s, \# n' W
*/0 D! f) I( ~% j8 G) F2 ^
3 B2 X2 j9 \! v, r
/* no rts heap */& e0 b$ E2 L, s" }$ p/ Z8 q
Program.heap = 0;7 ?! k% K' p3 o8 X
Program.argSize = 100; /* minimum size */+ l- c- X) d) v4 Y8 e( u8 K
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( g! o% D! ]% d$ B* g% Q; S( s; {1 j. Z/ Z' n
/* create a default heap */, |8 n2 c9 y* X0 n
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ a- ^6 c+ X5 a3 n/ j6 M+ E2 p6 m! L4 g1 g
var heapMemParams = new HeapMem.Params();0 e& ]/ R0 Z9 ~; O
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ U. I4 ^/ t/ ?: E2 s% ]- ]
5 J6 l3 r2 N) _% p
var Memory = xdc.useModule('xdc.runtime.Memory');
7 j; J7 c4 Z6 y" O e. wMemory.defaultHeapInstance = HeapMem.create(heapMemParams);' w; d4 o9 W+ l) G& d& I
0 {# `' f. v/ h/ W) f/* configure System module */
' R4 W* Y! |& s3 {- ~+ X# Lvar SysMin = xdc.useModule('xdc.runtime.SysMin');
/ {3 d: \: c6 ?* VSysMin.bufSize = 0x1000;8 ^% q7 g: @8 ~! {& V
SysMin.flushAtExit = false;
% j/ S, s) N8 l6 @. a. F. w
' S& D0 X" O$ o# M" N; Pvar System = xdc.useModule('xdc.runtime.System');
C9 s+ m, h; B% M/ e! eSystem.SupportProxy = SysMin;
0 i0 f7 ^: X* [0 z9 h- S1 j! f
. s! i3 M- T* l2 Q+ a! H! T* _, v/* configure SysBios to use the lower half of Timer 1 */" Z/ T; B1 I* I
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 S5 O& | q- J, y0 ~
var Clock = xdc.useModule('ti.sysbios.knl.Clock');; f' d3 V0 ^& p, ?# y7 V
Timer.timerSettings[1].master = true;
0 d- j% K2 I4 T5 b3 }Timer.defaultHalf = Timer.Half_LOWER;1 ^3 O9 i/ y3 }* \
Clock.timerId = 1;$ p! l9 E0 Y7 j' }
# L2 l6 V3 ~- _5 t2 G; t& ^
' ]" x- \. B1 a+ b/*
$ b' N# U7 S8 u2 F' X7 Y$ B g4 a * ======== Miscellaneous Configuration ========
& C; ~& Q# F* S- G9 \$ o */
) }+ K/ X6 l6 f0 T5 Z9 m
. ~* r7 x' E% X/* set default diags mask */7 K) G& O1 {, ]1 n* ?$ P
var Diags = xdc.useModule('xdc.runtime.Diags');
' F& C% r( w) k9 kvar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 u: b6 I: \4 Q& A) i/ b" R0 x) f
) e& q1 h$ J! \: aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, b+ ~' h% Z( G$ e- l. RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# L! w0 E& n( }Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 ^" u& P6 K! q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 ~ z0 x; A( iDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 _- B: w" |7 w+ ~/ f! Q2 UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON; k/ z- H' b& l; m
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 c0 }$ ^1 q/ D3 X6 e7 _
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% q6 X, Y. ^: X, o$ C; b, h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 G' c. I: b# I; i' k& b) g! `
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# ~) G1 N6 m' S& e3 s5 H bDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ c5 x2 b! o1 K! ~9 c
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 `. H7 k f W7 E/ s8 [
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! |1 a5 J! C) A& ]& v' S& E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( Z. F0 P4 Z1 v- l& J& x7 D" B
; K" N6 E/ e7 x- X( s/* override diags mask for selected modules */
( ]0 D( N8 r4 @0 u n N: ?xdc.useModule('xdc.runtime.Main');
! ?* E! E! R5 a0 p% B( Q* G0 N+ IDiags.setMaskMeta(
/ v& X6 k0 Z" R- q0 X "xdc.runtime.Main",
1 q$ }: j- |9 I Diags.ENTRY | Diags.EXIT | Diags.INFO,
( u1 N, w& T9 e/ n# ^ Diags.RUNTIME_ON9 V$ z t$ w9 Z& P; l, ^' D
);
1 P6 F, l- B* V3 h% U% p! a w! ]% P. K/ Y3 Q& A1 [2 i
var Registry = xdc.useModule('xdc.runtime.Registry');
" r: }, }1 ?* g: m( jRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 F/ c* d0 A, g& R( d& }2 C* o4 z: S3 H/ g7 xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; U# x5 u! y, g, U- r7 i8 FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;& z/ X! D6 R, G, W, c! q1 u4 `9 f
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! F. v, r3 o0 k" ^) |0 P4 g! T
8 o$ g! [* E! Q/* create a logger instance */
. F+ Z# v# k, N' b" M: ^, j) R6 Hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
* _. _" G6 c- \4 M+ C1 c ?var loggerBufP = new LoggerBuf.Params();
& |8 X; R5 v2 C& ~+ I3 J7 ~* HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. X1 Q! T- K0 {/ q2 v+ ologgerBufP.bufType = LoggerBuf.BufType_FIXED;
3 A2 T }5 I& w8 x- S2 M5 ^/ j. N6 T
var appLogger = LoggerBuf.create(loggerBufP); a! b5 w1 x; i1 a7 y# B2 L
appLogger.instance.name = "AppLog_Core1";
) I0 C/ W9 {: T% j! `Defaults.common$.logger = appLogger;
t$ }* U: {- ?# [ q+ X* pMemory.defaultHeapSize = 0x8192; o& u6 o6 w2 p2 ?7 W/ S$ r+ _$ N
Idle.idleFxns[0] = "&LEDStatus";1 V8 _" E5 ~* ` x/ L3 e6 ~
Cache.initSize.l2Size = Cache.L2Size_32K;
U; ?# m6 U1 ~+ o" n( U. @5 K. D! t# a( I
|
|