|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; m5 m1 N4 f* ]
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
h( E5 @/ Q. `' H(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! w+ v2 m4 C% r, B/ `! ^$ J6 I
7 ^ x1 S8 {6 U& i是不是需要在DSP.CFG中进行配置
/ h4 T: q/ l) }7 Q6 `8 n( Q; J我现在的配置为; F0 F' Y/ ^' o3 E
3 _0 F; D; G- v @' N( A# F
/* A' O8 E& j# k+ R( a! X8 m
* ======== Operating System Configuration ========
! k/ y( d( T6 s5 r* z */2 r. y8 w) d; c8 V
+ Y6 q4 ~; _/ N" r8 ~+ k6 e
/* no rts heap */) t. w. u; p+ K! u) r* \
Program.heap = 0;
! d$ m4 F, N, h$ D% xProgram.argSize = 100; /* minimum size */' _. X$ V, g7 u* S! h& k9 M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 K0 o9 Z& @3 e2 U' A
* q1 O* \- M; I' P0 O: |4 e* D( u
/* create a default heap */
! |$ q6 w2 l! e$ r X Q: S( uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% u+ k& Q5 z! p! r3 g- j! [
var heapMemParams = new HeapMem.Params();
% \8 {4 @+ c9 KheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ u3 U. Y5 @+ j/ D
" `8 _1 M: I, w4 ivar Memory = xdc.useModule('xdc.runtime.Memory');, Z# }# y( s6 c" a; E
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 k6 N0 f8 n, H/ J9 I. ^( o$ B( _1 X) Z! n' I" R/ k
/* configure System module */# G8 R/ C+ @8 T: w
var SysMin = xdc.useModule('xdc.runtime.SysMin');
) V+ |- \4 }( O$ e8 r2 aSysMin.bufSize = 0x1000;
% r- ^' f9 }+ q; Q( hSysMin.flushAtExit = false;
, g: W1 X: s2 D8 o% ~) L, v% W8 w! T4 Z+ R1 _! k
var System = xdc.useModule('xdc.runtime.System');
2 X" U5 K$ Z! F1 {: a6 OSystem.SupportProxy = SysMin;4 _+ {$ n. ]- V$ T6 Z$ E* J
+ u1 W. Y5 y5 U7 W0 l2 [" L0 ~/* configure SysBios to use the lower half of Timer 1 */
/ _2 j) y3 a5 l# M/ q# mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, Q7 `# l( f* U+ l& P2 j$ C- ~3 K
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 v; D# C# C8 Y# h" X3 PTimer.timerSettings[1].master = true;# L# _7 ^; j3 |3 r, \ O C
Timer.defaultHalf = Timer.Half_LOWER;6 ~4 Q+ i! v1 h) d' t' ]! u
Clock.timerId = 1;" D5 B6 ^3 n" a* |2 [; t
$ |; X$ V; ~/ U/ @- H4 r
' ]$ K' }; J7 {: S/ Y1 T$ a/*/ U! ^6 q0 O1 V$ I w5 z5 S
* ======== Miscellaneous Configuration ========
/ ]6 D: G' \/ q* k3 N- E */+ a4 S+ n+ q6 I: `% v% d
) J/ n" B0 [1 V5 x( \+ m/* set default diags mask */
$ J3 S5 L$ }+ d% ~1 l: Qvar Diags = xdc.useModule('xdc.runtime.Diags');
" @. ?6 ~/ f3 e; s ~3 b1 Mvar Defaults = xdc.useModule('xdc.runtime.Defaults');' w9 [& u6 |1 A4 }
! e9 y4 w0 b1 t( n/ ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
! ~9 J% x9 \/ r- D6 d; n& QDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. k/ C, Y! `# K& B! d$ T" mDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 d4 Z3 w# M" O/ d0 p h+ GDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 \; y$ o2 r' j5 tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, S! j9 y7 }' \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* ^) x7 y1 U: t6 R. a$ sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ \3 H! q6 w; J& f; X+ [, ~( `
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- n' U5 f7 l, L% p3 H7 KDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 p E7 y- I3 E6 D/ U0 a2 MDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' s+ A9 J( a* Y0 y# S5 yDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, j9 _, V+ `7 B! I' i
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! A9 M C! r, o- k
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ A8 w- z$ @& g; g* HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( R9 {- w8 t3 b* l
4 F' C' _, f# ^3 ~3 I
/* override diags mask for selected modules */" V! Z& n; c8 h, n; W0 @$ o J
xdc.useModule('xdc.runtime.Main');
# n$ n6 h- g7 C% [Diags.setMaskMeta(
( y2 x+ R( k, |( d "xdc.runtime.Main",9 m9 n- E6 ]( w9 ?+ G
Diags.ENTRY | Diags.EXIT | Diags.INFO,$ p6 E7 c9 m/ i! }, S7 K& f
Diags.RUNTIME_ON
$ b% z1 I( _* ?! z0 });, K7 Z7 M2 \6 Z
: X. `" f. C2 V" q# J6 g
var Registry = xdc.useModule('xdc.runtime.Registry');
! D7 C8 Z# p+ t& ?0 U% yRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; C- C8 r% }% c+ |8 {2 @1 `
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# g* B( ^3 P7 e, i9 Q6 J/ DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. D m0 J( j# {' c# e/ ^3 B
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 A$ _3 E) ]& t6 t
- a; a2 L; ~: o2 u* J/ M2 |7 m" E D0 i/* create a logger instance */$ G! v4 [# a% S: f7 R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 E3 r" s9 l7 M9 ^, r5 @% f$ ^: V
var loggerBufP = new LoggerBuf.Params();
/ t1 m. h4 G; ?7 A8 F0 FloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: g# W5 C2 l- Q% B& h
loggerBufP.bufType = LoggerBuf.BufType_FIXED;% x' d9 @3 a, t3 {% k7 q6 D0 n/ W& H$ ]
+ _+ D7 P, g" d, i* ~
var appLogger = LoggerBuf.create(loggerBufP);% K- q& j0 F x, f* @9 X8 i3 i
appLogger.instance.name = "AppLog_Core1";
\% Q4 d# k% i/ a% fDefaults.common$.logger = appLogger;- i6 ~, l2 E& A/ T8 ?
Memory.defaultHeapSize = 0x8192; 6 f P9 W) t5 q& d& C
Idle.idleFxns[0] = "&LEDStatus";
- v5 s2 F' M4 M. q- N$ @3 ]2 R. @+ GCache.initSize.l2Size = Cache.L2Size_32K;
( W9 L0 L: z# s( `' c/ x" w. \" \$ S# w5 D ]* ^
|
|