|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- s# {- y2 ^ Q- i. P
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% h7 X' u' l- n/ V# i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. o9 i( D9 Z2 G* _
( \" _) o) ]7 Z$ }9 f4 g" u4 Q是不是需要在DSP.CFG中进行配置( r1 M* P* p' x3 h* J9 i) F( P
我现在的配置为+ P6 P' J( Z9 M0 j
: p% C/ E( E: l: o/ D" E7 L
/*
7 ^2 G3 f3 i' P * ======== Operating System Configuration ========9 l/ h+ W2 p4 T" @( F
*/
# D Y% ^( U( i+ K3 I! x+ G# i2 ~& i9 W9 [7 }: I
/* no rts heap */" ^( W" c& j/ Z; p
Program.heap = 0;
. b9 R$ f3 U9 V, zProgram.argSize = 100; /* minimum size */
) S9 r& c8 w$ MProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 @5 S8 X+ [5 @- E
5 k# _" ] W' Z+ M6 X, o4 K/* create a default heap */# w" H( ^$ J. A d$ |0 R. j
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; }! V2 q) y% ]/ T( J7 [' ?1 @7 ]
var heapMemParams = new HeapMem.Params();
8 O1 f# M/ d RheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 F1 `' c# o9 {7 `! n; g! t9 _0 H7 q4 F
var Memory = xdc.useModule('xdc.runtime.Memory');
9 m9 ?# s& K t- `# L( q3 p0 u) m% `Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* p8 o- Y2 n- q' Y8 @9 b6 J8 p' I: |/ s4 E9 v+ k& q# c
/* configure System module */
( h0 X* a5 D f& ?8 t5 E+ P9 Avar SysMin = xdc.useModule('xdc.runtime.SysMin');
3 L [& O9 u8 x6 w8 k( Y. q" [SysMin.bufSize = 0x1000;
$ Z7 c9 Z7 D6 ] ~0 wSysMin.flushAtExit = false;
9 P7 R9 o! i2 w8 {- a) D* T7 D7 U
var System = xdc.useModule('xdc.runtime.System');3 e# u2 O% _: D1 V" E" @' C- S
System.SupportProxy = SysMin;4 l2 N- f4 q$ a9 X7 {: _4 K+ ^$ T
9 ~( i$ \7 Z9 C. L2 T. Q/* configure SysBios to use the lower half of Timer 1 */1 H1 j/ [2 A l* m7 V- l
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( H( W2 o2 x4 S
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
/ K: Z+ H0 C% A1 P& ETimer.timerSettings[1].master = true;3 ]; B' l( S' {1 j9 A
Timer.defaultHalf = Timer.Half_LOWER;
' l: L( O' p o8 b+ OClock.timerId = 1;" o+ r+ J6 ?. h" @4 U+ s. @% N
8 k& D* G) R; y* g/ I4 m) C
" }, [$ P; N2 [& m! I$ o/*
: t, |# c3 g& l/ q$ S' u- H * ======== Miscellaneous Configuration ========
' y5 \# c* |+ e/ m */
. `, d9 b' u* C, m
+ F9 p" N* Y& J" u3 a8 F9 G/* set default diags mask */# P8 l5 Y" E! X( F. {3 n* O
var Diags = xdc.useModule('xdc.runtime.Diags');) j& `- k% M( J6 \$ f8 q: L
var Defaults = xdc.useModule('xdc.runtime.Defaults');
/ X0 n4 r, _; o
5 C% X6 u& N4 p1 F. |' h, d2 eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
( L4 p* y5 X, a% b! M. nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 E( @8 i3 \# f, X/ \) }6 N
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; h F+ X7 A5 u9 J' KDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 d: W% U1 F' E$ [) N0 G
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ ^) F6 Z: l5 x4 ?* }
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;: ~; _9 R5 l& q0 w+ S5 \
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) W1 A3 d- u! S; z lDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- T! O8 O+ f6 B- J$ @. x4 U
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ p' S5 n: t5 ~9 v1 t0 LDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 c- o/ o4 }3 H. I! b; |- N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, w4 j! C/ V* _Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. I3 G) J" B2 s. q' g
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 Y) u2 ]/ W5 \. N$ f( G" G
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ V$ Z; \# [* ^2 M6 U
. h8 k( D. h3 ] E$ x0 d# f/ v' |/* override diags mask for selected modules */2 n. d5 H. {9 s) B; X9 V
xdc.useModule('xdc.runtime.Main');) s( T& Z1 y6 O
Diags.setMaskMeta(
5 L3 T, y' O% G* ?0 }- ~9 ^! e "xdc.runtime.Main",/ s0 V% B3 R* \8 F6 k8 _8 f% T
Diags.ENTRY | Diags.EXIT | Diags.INFO,3 E c! r8 w. f) v' ]9 S5 X
Diags.RUNTIME_ON
" c' |8 D. v% y$ C. f2 q4 o);
B% Z5 M8 l2 @3 |* {+ h
b3 K% Z0 }) w/ Dvar Registry = xdc.useModule('xdc.runtime.Registry');/ j) G- N6 X7 M) l
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 d9 s0 `; J' `+ \0 u# ] f8 \- y4 wRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;- ~" N# w2 s5 |5 U: C# N/ G. K
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
- s* D/ v* F. f! _Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 P0 n* j) m8 \
* J# n/ t' U* i( G B& Q/* create a logger instance */
6 d$ p; X7 i! _* F: w9 xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; e8 j' v$ s, Evar loggerBufP = new LoggerBuf.Params();
& Y$ S6 J4 r" u, B+ y5 K; N+ nloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( P H& ]+ t7 l
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 E2 \/ `+ R! U' z8 E
6 c4 l2 U- m9 {; P# rvar appLogger = LoggerBuf.create(loggerBufP);
7 S( U2 H0 j3 ]( i, U) `- lappLogger.instance.name = "AppLog_Core1";
2 \3 Q0 i& n/ r# ?+ t- y: i- J9 rDefaults.common$.logger = appLogger;
0 k d! g5 N9 CMemory.defaultHeapSize = 0x8192;
3 k9 U+ O( U# B2 jIdle.idleFxns[0] = "&LEDStatus";. W* T( g7 m3 { n0 N g3 z7 o
Cache.initSize.l2Size = Cache.L2Size_32K;- T. {* O$ J0 a5 x
9 q' P: b [9 Z: c( i' t/ Z0 Q7 Y) }8 L
|
|