|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( A0 Y4 @! R( C# r" G1 l, e4 C# Z% p/ j4 s! g
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! k/ W2 e- B2 D(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 p9 c" X1 d" Z) k; O
# k3 U* q0 u; q1 X: \
是不是需要在DSP.CFG中进行配置" `2 x; `+ P4 o; \' ^
我现在的配置为3 {+ ^" r6 t) m7 v
# a3 M$ U# T" ?4 [6 r. u5 M
/*$ K; p7 g- }& W |4 m) D% B
* ======== Operating System Configuration ========
4 T) l# u+ o, B6 @* p1 l+ u */
' g1 g2 Y' \/ F; B" g- D, P
2 n9 r, @7 A% l/* no rts heap */
: L y4 g8 ~. k3 b0 ^Program.heap = 0;
: U+ I. D4 q0 C. U* cProgram.argSize = 100; /* minimum size */
$ }; {, A2 C# P- lProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大: o/ [3 ? u2 f0 K5 R# K* U$ _
) s5 R" t: \+ V% P9 L
/* create a default heap */
- Y+ x, B, }& c1 r: K) S2 _6 F' ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 F( b2 s% d. j% a E, q% Q
var heapMemParams = new HeapMem.Params();8 _( N, E0 ~+ I1 E0 c
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 v5 F- P. O2 B6 f+ h* y% D( o
var Memory = xdc.useModule('xdc.runtime.Memory');
% @9 I, _& e3 gMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
4 n. O5 Y( W$ y! o" ^- {* [, p& d1 |
/* configure System module */
8 L4 x/ b$ q9 uvar SysMin = xdc.useModule('xdc.runtime.SysMin');* P O n O! y. c6 }# F9 n1 t
SysMin.bufSize = 0x1000;
5 T3 j7 A* m: r- T! G8 f# \# O! }SysMin.flushAtExit = false;+ \; }: X# Z9 }$ a# t: r
7 z* F4 h' h+ s6 y1 }0 Lvar System = xdc.useModule('xdc.runtime.System');
% N( h. @/ i4 d1 Y B: [9 HSystem.SupportProxy = SysMin;, x. [4 f ?! w2 L" q1 f
7 [% w5 s, r( h
/* configure SysBios to use the lower half of Timer 1 */$ ~1 T# `: n: Z* C3 {' f0 W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. t4 p( `# v7 V1 J+ @6 ]& c0 ]" I, o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 [( Y" e2 P+ p: A3 w
Timer.timerSettings[1].master = true;
! m- M6 ~' `2 B% ?$ PTimer.defaultHalf = Timer.Half_LOWER;% L$ r7 W) r( T+ a& a5 U) A% c
Clock.timerId = 1;7 ~2 z/ [0 @& h" a
. G5 Z: g8 O. i2 e, f
& h+ q1 ?/ Q# c/*6 A$ H+ w0 _+ \ k+ \4 \1 n
* ======== Miscellaneous Configuration ========
( x& |/ {8 J1 G! q! {' m */
2 H- d/ f* `1 T7 o G! Q7 i0 l: H+ z) L
/* set default diags mask */: z; }# \' e0 U0 c$ u" z
var Diags = xdc.useModule('xdc.runtime.Diags');/ u& g y8 W, `% y, C; n
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 w( k( Q- a4 c* _' m+ w! T
! Q- o9 K# ^% ^9 NDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: { B2 ~# W* ^2 \- Q# mDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, |5 H$ B8 t7 G$ U; W3 LDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! S# L/ } K* t4 f
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 w% j7 N. s _- d: g
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( p# t; T+ J" e/ P: ]( I0 N* K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 _) n# C1 q1 x9 O3 } vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) |8 n- r6 L- R" A3 aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: W7 {6 Z: o, F- [ W
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
C4 s- H+ c. ^- w% A# VDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 w3 p# e ?) ~. h( m: Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( m" S h. p, F$ y7 k
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* L+ Y+ H4 X' ^9 ?Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;# f# u( N' @) r6 {/ J, G. D( C4 z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, {4 T }% |& K/ W
. c, T: b0 t# F" [
/* override diags mask for selected modules */; G* j7 L7 w$ V+ c- \8 r% A9 i
xdc.useModule('xdc.runtime.Main');
$ l- E3 H. b" B, `% bDiags.setMaskMeta(
& H8 i5 f$ X" R6 t/ c "xdc.runtime.Main",( s1 d9 w x1 O' G( P. S
Diags.ENTRY | Diags.EXIT | Diags.INFO,( i& |# P+ a* s
Diags.RUNTIME_ON
' N- _/ K# a n- _7 S2 `8 r);& w0 @3 H: o- O9 U; _9 v \
/ @" |& N; H s
var Registry = xdc.useModule('xdc.runtime.Registry');5 R/ N, k3 y5 r2 S1 }
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' t$ T9 Y6 d( R! XRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 `9 ] ?- i8 |+ E, B
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* ^- M/ d6 M. \- s% xRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 ?9 \1 h q4 D
4 g8 n5 H: K% j: E/* create a logger instance */
% z' @% U n4 X7 Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: Y/ u0 x# K; Y8 {var loggerBufP = new LoggerBuf.Params();
8 c! D6 o/ u! m8 e. ? |! UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 ]# [0 a- w3 w+ i4 B2 H; B+ }8 SloggerBufP.bufType = LoggerBuf.BufType_FIXED;; o; y3 B- v& Y3 w" P' u
+ h" F8 ]5 o K1 p
var appLogger = LoggerBuf.create(loggerBufP);
2 P" L0 H" k9 H+ [4 U( OappLogger.instance.name = "AppLog_Core1";
- c' p p) T5 m" b! xDefaults.common$.logger = appLogger;
. x. W. c2 i! G! Z* N: _! \Memory.defaultHeapSize = 0x8192; " a3 g R% F/ n, D5 s# r
Idle.idleFxns[0] = "&LEDStatus";
7 f0 Q" U8 M+ b; [* vCache.initSize.l2Size = Cache.L2Size_32K;+ ~; a& x0 ^( W# p
- w7 e7 ^8 i t$ ~ R7 {
|
|