|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 X- @/ q# v) a, q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 v; U5 g% `6 N' `1 _ t9 ?2 _
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( ?. v2 u- H7 O! i$ P+ t/ @4 i/ M! x M1 o, t J
是不是需要在DSP.CFG中进行配置
7 y1 a+ ~3 R* N; H. H$ i9 A我现在的配置为8 V1 p2 [# x! _6 M# Q& s
g; v7 A' }+ l3 O
/*; V* H2 d8 f8 P; T- b. W
* ======== Operating System Configuration ========. ^/ A0 G' u" }6 ^% I2 E" [* H
*/
" f \, s) j6 M2 t! H* E( g9 M a
/ \3 N9 e& I0 i; ]5 x/* no rts heap */, ]* z8 _' ?3 N- _# Z
Program.heap = 0;: a& R- l n: H8 {7 r# E; M
Program.argSize = 100; /* minimum size */" `$ r% }; V ?; O( v6 N% v( s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大6 O, {" T( N; Z5 w& K) d, R
; p f5 E+ {6 _3 E
/* create a default heap */& M" _3 o8 P& b6 k2 ]( {
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, X; x: X9 z8 u! x, M; a6 Q) |, D9 s6 C1 uvar heapMemParams = new HeapMem.Params();
$ b3 }8 l, D; f0 |heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 h, A4 r* _& r8 I* @: t! V; D+ m. U0 ? Y5 n
var Memory = xdc.useModule('xdc.runtime.Memory');
" }2 M2 f7 B+ @8 }! T8 W, zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);2 `& ^9 v+ ]( z1 i9 Z- ^" n0 x
; X. D' p0 U5 S( G& `- w; ~5 i! ]
/* configure System module */
/ _; `7 h$ u( t1 L# S# gvar SysMin = xdc.useModule('xdc.runtime.SysMin');
: R* A# {9 M' D4 Q0 GSysMin.bufSize = 0x1000;
' \: {+ P; [! T! _6 Z( q" fSysMin.flushAtExit = false;
4 ]- G* t. J# m6 w2 H0 K K7 i" } q, m" o$ M
var System = xdc.useModule('xdc.runtime.System');
4 ~/ L6 C9 |5 X1 ]$ Y3 z$ OSystem.SupportProxy = SysMin;
4 d `2 W G2 {2 B+ t$ A
( T( y$ Q, h, r1 g/* configure SysBios to use the lower half of Timer 1 */
: {- |8 j: j1 b4 x$ S7 Q2 yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 a! z9 f& C" h2 M; a6 [var Clock = xdc.useModule('ti.sysbios.knl.Clock');
* {+ |6 F/ x: ~( LTimer.timerSettings[1].master = true;/ f7 U$ c) g1 G
Timer.defaultHalf = Timer.Half_LOWER;9 t' H3 s! Z1 Y# m7 D+ R2 D
Clock.timerId = 1;
. ^' C# v, G; |- B% E/ Z. U$ Q
! m! R+ U% g# S, B4 B
8 x2 k& l3 ^6 R6 Z7 @- J/*, C8 T/ t) y0 E1 m9 u8 P1 d
* ======== Miscellaneous Configuration ========+ |8 ?& |/ s6 ?$ E' T) J4 Y
*/! \0 _$ K9 J) q) g; I
' ]$ g H3 A+ ~ L8 J/* set default diags mask */
( u2 C* L8 y- x5 Rvar Diags = xdc.useModule('xdc.runtime.Diags');
+ f0 I- t- ?' gvar Defaults = xdc.useModule('xdc.runtime.Defaults');
) J) K9 A0 W5 M3 W+ C4 Z2 r+ G$ ?- c
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 T: U2 F2 ^* d# ^7 [6 [: oDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& @6 s# A* W+ v* L l% BDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 x. u S4 w t4 ~Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! Q* |; Q; _1 |$ _7 H9 tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- Y% h3 d5 f) M6 b( l' }7 g# _
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;: L' D1 s& I# S) f
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF; U& ^4 A1 ~4 ~1 R! B$ v
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, M: \/ C$ ?& y' B! X# ]
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& w2 q+ ?9 j6 ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& i4 }( Q- p. i4 \7 P
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 g9 |6 _9 l( U. e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" i$ N: W2 u% }- g/ A/ G& S( }Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: p: z0 e2 d1 D" fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* R3 Y- n* r* a' C( e$ N' E' D
0 H* p6 K: C/ g3 @9 U/* override diags mask for selected modules */0 S& l: P# P7 x! a! Z$ n }( |
xdc.useModule('xdc.runtime.Main');5 Z* |" B# L9 U7 J
Diags.setMaskMeta(
) @% w& x) W! m, [7 x1 B "xdc.runtime.Main",/ O0 ^5 ? B! Z/ O
Diags.ENTRY | Diags.EXIT | Diags.INFO,/ q( E2 w' H |4 E( O& c( }5 j o. _ R
Diags.RUNTIME_ON
8 G3 [( t! y4 U);
) P6 a7 K( W! l& C* A/ q* K% Z! [1 s% |0 ~
var Registry = xdc.useModule('xdc.runtime.Registry');
( F. G4 R& f/ E( I- X) d$ S2 XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" y \" U6 S5 Z9 E# P, ], s
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 Z3 K: Q! l0 W! l4 ]Registry.common$.diags_INFO = Diags.RUNTIME_OFF;% b# D& v* t, E2 `0 R0 d) d6 h7 w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 D2 y& Y2 K4 k# ?' g- q
% o0 K, R& h7 N |- k: D& o" M/* create a logger instance */) H4 w9 t }9 `0 M2 t6 b1 B
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
f2 V! i z0 `# D- uvar loggerBufP = new LoggerBuf.Params();
$ U( ~- Y3 x# ]9 N3 U) aloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* z2 G5 Q# s, P0 g2 ologgerBufP.bufType = LoggerBuf.BufType_FIXED;
/ m6 f( ?' R+ X
2 K$ z& t4 p3 ]% {# y1 L- K9 a8 Vvar appLogger = LoggerBuf.create(loggerBufP);
/ B- Q7 j, |; u+ A/ h. ?appLogger.instance.name = "AppLog_Core1";
) Y1 ~. }, i: }' a1 y! N8 NDefaults.common$.logger = appLogger; G5 ~0 r6 o5 o5 o. i
Memory.defaultHeapSize = 0x8192;
( \" Y- d4 C% j$ e) u8 h8 s6 t- SIdle.idleFxns[0] = "&LEDStatus";
- x$ b) S" o3 |$ P* T2 f% [Cache.initSize.l2Size = Cache.L2Size_32K;
: K" G, i" h2 ?. j& F, D
9 w! o( {: U" ?5 I3 H: G |
|