|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- W; V, m: ?. b8 X O2 g( M* x5 z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 [8 a, l" T9 G+ a. c(不过疑惑的是,为何单独DSP仿真就没有问题呢?). p3 X4 n" e7 G* _5 G2 ~
6 d9 S8 I. @" _7 n
是不是需要在DSP.CFG中进行配置" H* Y2 N1 e, [8 C- P
我现在的配置为
) F, S4 b& |3 C! p3 W
! w% m( H" |7 X W q4 b: o' j/*
) l9 D1 ?/ e/ W' J" C; P" K% t/ u * ======== Operating System Configuration ========
" k) \+ R4 h/ E */# P. M" S6 ], B; q; `
0 k6 P8 ~- T6 y6 B
/* no rts heap */. b' }1 m+ F4 \3 K% z. c; p
Program.heap = 0;
; k( P+ P) q2 H0 } ], vProgram.argSize = 100; /* minimum size */" g& v( M6 X6 ^/ S
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 Z8 z" L7 z4 c% m
i: ^. y4 G1 x
/* create a default heap */: Q6 t2 W( Q6 i: h& K7 Q
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');" k* o- I7 t8 L, g1 N+ O$ V
var heapMemParams = new HeapMem.Params();
: V8 U* \# O8 g2 k# g2 {8 cheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: @% H5 E7 Z" `
3 c; V5 Q. ]7 P. Y, t
var Memory = xdc.useModule('xdc.runtime.Memory');
3 g" w; `/ M* Y. D! fMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ y; r3 n; v- |+ G8 `: b) Z: v4 A: _7 Z1 a. y. X; g
/* configure System module */5 L% p _2 y5 v, b- ?$ u* z
var SysMin = xdc.useModule('xdc.runtime.SysMin');
7 ~7 G) _! G/ S. g( z! kSysMin.bufSize = 0x1000;) }- F4 |& u# r0 s: N6 w
SysMin.flushAtExit = false;
# u; M/ V1 |! M+ b
( d& z. r: J, i' h$ i" R Fvar System = xdc.useModule('xdc.runtime.System');
, E7 O2 `7 w% D/ @System.SupportProxy = SysMin;& h; T) _6 R) n a
# Y9 @8 F# W R; ~
/* configure SysBios to use the lower half of Timer 1 */( z/ F5 F) ? D' R2 W2 y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 S5 z$ `) V' C) f- h' Y9 V( J
var Clock = xdc.useModule('ti.sysbios.knl.Clock'); u8 f+ ]0 W) L; T9 H5 x# ^3 k( n* E
Timer.timerSettings[1].master = true;
5 C! K9 i; ?8 J" L. c+ [1 NTimer.defaultHalf = Timer.Half_LOWER;- i2 n) g4 a* S" U) d' E
Clock.timerId = 1;
4 j" t8 s- e* J8 g9 |
" L; x: V8 L7 b! m$ W& V8 [) X0 T- P, {( p' w9 N
/*
, w1 A/ @, I2 i7 h7 b2 @% z# [ * ======== Miscellaneous Configuration ========9 \3 y- n: s9 Q- _0 b5 V" a
*/; j4 [% i) `& N1 {7 o. s
- o- Z1 s! @+ |! x3 i/* set default diags mask */3 M) g. [4 ?0 a f+ \
var Diags = xdc.useModule('xdc.runtime.Diags');* p8 |4 c1 d; Y e& c$ U5 g0 U
var Defaults = xdc.useModule('xdc.runtime.Defaults');& r# F: K$ \$ f& Q
* S9 {8 D2 D' X2 o& w4 F8 N
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 s7 g ?2 N9 J! o0 S' D! P& h/ vDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 J+ h! Y8 }( c4 d# |1 }( H
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 [5 ?4 d% {4 Y0 r8 D
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* F2 E1 s" _* M8 X5 n, S% ?, J5 _. E$ HDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 C. G& F. c# u* R) Z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;* J7 E$ G' l2 v8 r+ Y+ f
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( T. m6 T6 b. J5 v/ |+ ^$ D4 |Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ r3 Q7 o, \* f3 H
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& [" M" f5 G5 n1 x% |4 pDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;; D3 P3 f* ]3 _6 i
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;% }1 z2 x4 Y6 X5 `: z3 G) H" o* m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& X2 ~" F! S* \" i- {' [, U+ z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 e( S# a' n% r: lDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;5 p1 D& S& R) n2 c% v4 o
" O7 q' Z7 ^: Q/ A1 ?
/* override diags mask for selected modules */ X$ E# a3 |4 w2 r
xdc.useModule('xdc.runtime.Main');. u6 C4 _" _: e: x+ F: I: @
Diags.setMaskMeta(' f: ~ g# `$ f
"xdc.runtime.Main",& T9 x/ s4 E7 U' S% P- |
Diags.ENTRY | Diags.EXIT | Diags.INFO,8 z$ s: Y3 X5 F4 Y
Diags.RUNTIME_ON) d6 Q% N f2 ?; Y! F- h `- J7 o- Y
);
2 [8 |4 R8 T5 H& S3 I! g; c+ J6 d9 y$ U; F- P, h
var Registry = xdc.useModule('xdc.runtime.Registry');- C; i! A4 I0 y" u; N# V6 F* x+ ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 R9 ~6 d. m6 D5 Q/ O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: c( K& f1 z( ~ c& h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* z( E2 w0 |8 c8 d, ?6 }- y" H8 I
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! D+ ^4 f# t v! {( @
% W+ F* g" H0 r! j: J+ N( A/* create a logger instance */( @3 o5 Z7 a5 K+ Z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" V( t( D5 D4 V; W$ J7 ?0 L
var loggerBufP = new LoggerBuf.Params();
6 q: K: w* o4 \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- r7 X. |1 z" V9 xloggerBufP.bufType = LoggerBuf.BufType_FIXED;; p; C! g& I0 g, I- K( U9 p- T, l
3 [# C1 _2 u3 D4 qvar appLogger = LoggerBuf.create(loggerBufP);6 }3 ]8 X9 o S, h- U6 c- g% d9 E
appLogger.instance.name = "AppLog_Core1";* N9 b$ b/ @5 k1 P* x$ m
Defaults.common$.logger = appLogger;
3 B! A' ?3 v. }1 JMemory.defaultHeapSize = 0x8192;
( w6 a4 z: R; M1 O9 g4 z3 G) B, x2 H) UIdle.idleFxns[0] = "&LEDStatus";
; v( {5 c6 |# m. KCache.initSize.l2Size = Cache.L2Size_32K;& G$ C3 v2 C& l @8 |
! x7 I' H2 ]" ^% j! v+ `: [
|
|