|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 F+ i7 F8 ^9 n+ u+ ]) Q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 o6 C- b! }; U Z/ C1 o# e
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 d$ `8 H! \* M5 c, D6 O8 b
5 x: f l; y" ?5 w7 Q( z是不是需要在DSP.CFG中进行配置1 G5 s. x- b# p1 [2 Z! K
我现在的配置为' W$ c( h3 l* P+ p5 T" }
4 [- Q+ G1 r5 G; O/*2 Z8 M, g. |7 T
* ======== Operating System Configuration ========& p$ `! O8 ~( C. e8 s8 ]
*/
, H: G- b1 T+ d0 r6 T/ R1 ~. N5 N% y8 G9 O' B
/* no rts heap */
`4 ]8 l8 t! E& T0 aProgram.heap = 0;3 W- i; i7 u2 K* a
Program.argSize = 100; /* minimum size */
2 _! O% E) B# W1 CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, b$ o! v( A- {* o5 d
g) W' N: h& |( \# D0 T1 l7 D9 c( b/* create a default heap */
6 D; p; O' @0 `1 E; G' v' fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
& P+ ]/ \' ^6 rvar heapMemParams = new HeapMem.Params();) G4 \: z) G3 a+ i
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: Y3 P! t! f' s& U) ]& l D4 `5 L) F' R! U+ [
var Memory = xdc.useModule('xdc.runtime.Memory');4 ~2 w6 r2 r! q, [( e) T% d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);9 o6 G# U; Z5 j6 e/ ]
9 w' O7 m: K% m/ m8 i+ x0 ]/* configure System module */
4 S+ C. T! J9 p+ G( jvar SysMin = xdc.useModule('xdc.runtime.SysMin');
. Y9 z4 G! u5 X& |5 t/ z, lSysMin.bufSize = 0x1000;
+ E+ u+ Y8 @" a# S3 m" bSysMin.flushAtExit = false;
" H3 o; P) H3 l$ O1 Y( _: d- X/ @% f& @; j$ k$ E8 d. J$ `9 N1 B
var System = xdc.useModule('xdc.runtime.System');
2 l% A6 n- |4 v! e1 z# ?. eSystem.SupportProxy = SysMin;5 @% r7 V/ Z0 R5 _: ~
6 S4 w1 a& ^% r6 @, o
/* configure SysBios to use the lower half of Timer 1 */) W9 n% z1 v# W" ]( E" o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 Z1 N' B9 N N: ]" f8 Svar Clock = xdc.useModule('ti.sysbios.knl.Clock');. L2 {+ I( m4 u9 k1 O9 Z2 E
Timer.timerSettings[1].master = true;
, |. q: I( x! a) N+ Y7 U) s% q& J; cTimer.defaultHalf = Timer.Half_LOWER;
) }1 `% X+ e' N, T! d) \2 y) nClock.timerId = 1;
# v) H: _1 @# h4 i4 p
# i+ l8 e2 a1 v3 `
9 w1 k) j9 \2 g/*- h, m2 J( y+ x G( d A2 {
* ======== Miscellaneous Configuration ========
* H+ k! U) }( H */' D0 |4 b3 X! \/ c2 V
! C0 A0 C- z0 ~8 i% E6 J/* set default diags mask */# E1 I1 y1 |" s/ |1 P$ r- H8 M8 }, a
var Diags = xdc.useModule('xdc.runtime.Diags');3 A) U q! T; W6 o1 L
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 G* I3 w* c3 p* b8 V
0 s9 y# k: h$ P8 _9 q4 qDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" W* ~' C( q7 O" lDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' H* l' G0 {4 z7 Z! DDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 n) S0 d9 S8 g( v
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 D* T! t) _7 r( u$ x
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; S& X- l$ y _) l! ADefaults.common$.diags_STATUS = Diags.RUNTIME_ON;% x' }* J- j0 n/ \
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 e$ G5 b2 a8 V- T+ [Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 H% r* c; c3 K% R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- W; F$ i& h# g. j: uDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& @' ?! M, ^# j0 D# H0 `# A3 uDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ K/ P5 m& V9 \2 g. g8 y7 RDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; _# h- k( ?5 W9 n
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 R- K- h4 |4 pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ g$ _4 P5 c$ W$ \0 v1 x
9 G8 e8 F: _0 A2 B6 }5 [- y
/* override diags mask for selected modules */
: f& Z5 H" m9 a' ?" U' C) Wxdc.useModule('xdc.runtime.Main');
' T, |' [2 l: z/ z4 N ` E9 hDiags.setMaskMeta(
9 A4 \- N4 p+ e6 ?- Y: D' z "xdc.runtime.Main",
4 k. I5 ^) c' x( e& _+ g Diags.ENTRY | Diags.EXIT | Diags.INFO,+ L: q7 d# P0 Q. T* s
Diags.RUNTIME_ON
- g5 C; }' Z( t. t; g);
( P. s4 J! q8 K, ^3 l
" z1 U W5 f! i2 e! \. I& h. Rvar Registry = xdc.useModule('xdc.runtime.Registry');4 V# n4 j; V2 P" G1 c+ \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; I5 c& l& E" Y* H, l
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 [; P, N$ `. S! F
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* d8 T6 i; ?* w9 XRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 d& g* U" |5 g" A$ h* r( z" i
! L8 n5 [0 B! Z Z
/* create a logger instance */2 g$ B7 X; E; X6 P+ K! C, D
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ ?5 K6 \; c4 q/ @var loggerBufP = new LoggerBuf.Params();* J- g# }/ c2 m- B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 O" V2 w4 Z' f0 rloggerBufP.bufType = LoggerBuf.BufType_FIXED;" p/ y* w4 V3 v2 p
2 ^ A4 l7 }0 \ y" r/ ]var appLogger = LoggerBuf.create(loggerBufP);
) _ U9 B+ O% t! NappLogger.instance.name = "AppLog_Core1";
: ^4 M& S- A9 V1 ]# K5 CDefaults.common$.logger = appLogger;8 K& S' e! W6 m$ z& q: b
Memory.defaultHeapSize = 0x8192;
1 e5 ~0 J* P/ ]6 @Idle.idleFxns[0] = "&LEDStatus";9 r, O3 E6 n# \% i7 N/ q
Cache.initSize.l2Size = Cache.L2Size_32K;9 @# F: K0 Z2 _% o [
: t: U' N- x) F* z$ Y |
|