|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 M) ^: J. B* I6 n5 c
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) d' V" q! {* O. N
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# u& T* ?) E5 D- O% Q: K( v' ]; X/ k" B% a2 T
是不是需要在DSP.CFG中进行配置. e- Y3 |5 b% z' u1 v: F1 X
我现在的配置为4 r* y! V3 g8 [# l( z+ ?+ q1 Z$ D; j1 W
: |4 _' q- n5 f- \3 k/*7 m* Y; Y0 ?2 Y5 ]0 u2 @" U
* ======== Operating System Configuration ========0 X; D9 @3 D( C+ S
*/9 l; e4 n5 R0 D
6 J3 A, I1 N: j" T$ ?/* no rts heap */+ y, N2 E" x: L/ U
Program.heap = 0;! r8 J" K& N/ P$ o/ I. }
Program.argSize = 100; /* minimum size */
# W* H& g9 |( A* {- _8 m1 Q( UProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大, }8 ]1 w9 z9 V' z4 w( R
( x4 @: b- E6 p7 ], M( a
/* create a default heap */$ Z* ?+ P: {6 u4 T
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
& V' K6 U, ~! I2 lvar heapMemParams = new HeapMem.Params();
2 b% ?- h4 x- v7 N5 X3 {heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% E" l; d5 H2 z/ a* B) R% N" M: L
# b9 P$ k. x/ Z6 g& Wvar Memory = xdc.useModule('xdc.runtime.Memory');9 R' W T5 ~8 `5 e( m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);7 X' w% _" G% l7 P* y% G
r E) e! N% M% J* A- @. [
/* configure System module */
$ {! q, v Q% M7 D. q4 Cvar SysMin = xdc.useModule('xdc.runtime.SysMin');
G* d( h7 s' j3 Q/ r8 i" ^6 \" wSysMin.bufSize = 0x1000; y2 y. j* b) ^) ^3 a
SysMin.flushAtExit = false;+ B0 ?: n' a- P/ w o8 z/ g
# q0 Q$ v: r; W9 J
var System = xdc.useModule('xdc.runtime.System');) T" T# u( |5 F, U
System.SupportProxy = SysMin;6 S; S% K. `! g4 f$ r1 ~8 I T p
e3 n1 t. J0 ?. u) Q
/* configure SysBios to use the lower half of Timer 1 */
! l, n6 e m3 ^( Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 f* C7 z1 Y: z3 {; [( `, i( s$ hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');. @8 s. N; w/ q
Timer.timerSettings[1].master = true;! @3 O9 v$ f3 H# b) G* t3 h; t
Timer.defaultHalf = Timer.Half_LOWER;! E& w- l' L* a: y8 y A3 Y, q, I1 @
Clock.timerId = 1;
2 @6 @" |9 W* _8 r" \& Z* m7 b$ s5 [8 e6 M- h! r# D* I. F
3 J, X3 ?2 a6 Q7 J1 t+ n+ }: J3 M
/*
0 f6 L' b) r* C& G$ n+ F( u * ======== Miscellaneous Configuration ========
; j8 e1 z" y* K, @8 D */
$ o8 p: v2 f6 r, H4 \ W
+ N2 I; R6 M i1 h/ i' Q* W/* set default diags mask */! m( U! b8 l0 J$ }7 I# }5 F/ W
var Diags = xdc.useModule('xdc.runtime.Diags');3 U& C, Y( [2 S! w1 y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
) }8 I8 R% L; U8 s4 c% z+ W& p6 o8 J3 g
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 Q- e% i$ K5 c0 s
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ ~# O1 v: j% Y; a8 v1 ?$ |
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* S5 @! e7 Z4 d! z' Q, n
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- d& l$ Z6 v6 g! A: U1 U( i/ p" kDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 F) X5 E4 S, c$ T1 u e7 bDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;: t( K# u. B: y- }* d/ _; Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, [, A( N4 U# S2 J. ^, YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 Z/ a1 F8 T2 { j2 B5 R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 U/ p! l8 d3 [7 f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 |! G& Q8 E: V8 @7 F: w
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ u, j8 O. T2 {8 \) [; i
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 D& C6 G6 U8 Q- _& D
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. o6 ?+ M2 O3 A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
r; \3 c# [) L0 J
. A* l- l' w m- j" {/* override diags mask for selected modules */
; j7 _0 @ P8 @' ^8 j% I. D4 g: J qxdc.useModule('xdc.runtime.Main');
# n% [5 N7 ]. c3 X3 V) z* r; UDiags.setMaskMeta(
* v# \ f) `$ v8 g" e3 N) z "xdc.runtime.Main",* \% l' K6 U" V. g: T( d4 m
Diags.ENTRY | Diags.EXIT | Diags.INFO,5 J5 t- \, s& D, u0 H$ W0 \
Diags.RUNTIME_ON
F+ E& f7 `. v/ c);9 [1 ^; ?5 K+ g& R+ {$ W
& F1 h; h7 b4 ~6 s9 q# i8 c# s* W
var Registry = xdc.useModule('xdc.runtime.Registry'); f4 o) J$ y: p, D! V3 P: c
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 c* ^* H: v5 p7 O$ K( b; [5 v# ~0 Y jRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# W* P3 f6 l F) M) D
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;0 b8 r1 x8 C) j- m
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 t8 u h. V* H5 C
( C: y) J2 J- ^5 A
/* create a logger instance */
& x! l1 c, F% X, cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 q$ T% g% r* v% M6 N0 R2 K
var loggerBufP = new LoggerBuf.Params();
- }% p4 I) j$ \1 c- TloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" j' Q3 z7 D, C0 w; h3 s9 NloggerBufP.bufType = LoggerBuf.BufType_FIXED;
' ]9 h6 C7 H( W: J" N! N
' ]/ ~. s x1 _) }! h8 C8 Mvar appLogger = LoggerBuf.create(loggerBufP);
) ^, U# \5 e4 R% ^( ?appLogger.instance.name = "AppLog_Core1";
* T4 J! R, E/ r; {* ?# V( I+ ODefaults.common$.logger = appLogger;; d% D/ u3 C1 ^7 \! X
Memory.defaultHeapSize = 0x8192; $ d2 T6 |7 h; q8 G9 m) L2 }8 O
Idle.idleFxns[0] = "&LEDStatus";
# M3 g: s' u" A9 G/ ^Cache.initSize.l2Size = Cache.L2Size_32K;+ a s' L! }, h9 N3 S$ }
% W [# C- F5 T2 @
|
|