|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 @9 L: p- |8 f" h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! O( v5 Y& K! K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; x2 V+ s1 I7 L' o m5 K7 C& p
# C% h0 J. j8 @ R* {, j9 b: E是不是需要在DSP.CFG中进行配置
# N) E8 R# ^: C我现在的配置为
: v0 C& i' q- I) ?' p# S
% V p. [( ?3 Q/*
- T0 { B [1 ~ * ======== Operating System Configuration ========/ I* |! \" ?0 v; ?4 j+ Z
*/
/ Y1 h% ^' l& ~& \2 r5 t% s/ @, l
" u# [) @% k" n0 m2 w% ?9 U/* no rts heap */# l' t, t: |# J/ Z9 n5 ^( `
Program.heap = 0;
: U# x* s/ V1 G* A% N0 E$ L+ @Program.argSize = 100; /* minimum size */
) s/ n* T! I$ g8 f" mProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# n" Z% V3 r$ M9 O
0 \0 |8 i# _! u/* create a default heap */3 a- |3 i' b8 g. R2 g
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 n5 Y( W* Z: U4 E+ [7 {, tvar heapMemParams = new HeapMem.Params();* Z ]7 J5 h+ u* l8 P2 v b
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: l# Z/ ?+ Y0 E, t$ L# W) D
# Y ~% F% v# L C, {9 ^7 H% jvar Memory = xdc.useModule('xdc.runtime.Memory');9 A2 L* ] `- o( F9 \- g
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);; |2 R, z, |% c0 T4 Y4 V6 Z
! P1 Q; w/ \" n# }
/* configure System module */
: c4 s7 p% H& |var SysMin = xdc.useModule('xdc.runtime.SysMin');2 T5 f( b5 j" b5 T$ F7 Q, S! I
SysMin.bufSize = 0x1000;
3 r! T' f& J6 K" P! JSysMin.flushAtExit = false;
3 W F0 b( j6 q! T: ~, A! m" d2 Q7 Q; M+ f2 e
var System = xdc.useModule('xdc.runtime.System');
; c& N5 l- d( ^6 ]# T% CSystem.SupportProxy = SysMin;
/ K# U7 }2 m& N' y l- q) ?2 {
/* configure SysBios to use the lower half of Timer 1 */
& X% ?9 `' X/ d( g, g: Mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% K; p' G- ?, ^3 G& N. u" B# d Q5 ~var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 W% @0 }, Q j+ D6 G
Timer.timerSettings[1].master = true;
& Q4 ?' L1 x9 ], ]" PTimer.defaultHalf = Timer.Half_LOWER;9 p) q m T5 ~! q9 l; M
Clock.timerId = 1;
5 R6 [$ g7 j& x( f& [1 {# I2 w! C
# K5 k% Z& m( k1 O4 q' P9 x. W) R* @4 V% H+ _" O
/*& e, W( R6 U; x: Y- B* w
* ======== Miscellaneous Configuration ========
- l @- x! W6 j: X6 B: F/ D */: l- C" q3 |( r4 g8 \& c* N/ W
- s5 n* O/ d; H$ r/* set default diags mask */
8 J1 Z I1 }( k" Q0 Jvar Diags = xdc.useModule('xdc.runtime.Diags');& X- ?! j I/ |& s) l
var Defaults = xdc.useModule('xdc.runtime.Defaults');
. f4 N1 n G" n. e2 S
* [% `) A+ ?+ I! H1 TDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 @9 j' E- L$ b2 tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 X" S" ?( q6 O- u) c9 s7 g- p0 }Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# }9 Z6 A7 F, z% ADefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 U$ @9 @3 a' F6 _: c7 e' z; pDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- o. l" p5 q. r5 K7 v) y" A# E* IDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 k; ~$ g7 r6 c7 S; S
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 _$ A- f# a2 A' t( b: qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ z& I2 f( Z7 @) ^
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( Y) e7 a5 ~! l1 M) M$ a- x$ z6 c! O
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% C; r% x3 l5 Y7 r2 A" V3 N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ R' ~2 X# O. \
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 c7 X, S4 C8 Z- x8 LDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;& c. }/ f$ D; E H8 n5 }/ j1 @6 B
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& P8 O4 Q7 X$ L% M- S( }
# u: R% b: e5 T& F8 {
/* override diags mask for selected modules */
9 T* l3 L0 J7 x1 z: t0 Zxdc.useModule('xdc.runtime.Main');
6 \# q0 |: f3 _6 `Diags.setMaskMeta(4 u8 X( j2 x7 l
"xdc.runtime.Main",& j, L2 w1 r% P- ?8 r
Diags.ENTRY | Diags.EXIT | Diags.INFO,
* c: [1 O0 m- W$ R& [7 {6 V( R Diags.RUNTIME_ON- g! A6 ^0 |- F: n/ X: S+ X6 \
);
Q, g, Y+ I; V' b
; o2 E, f% c K- P2 G ]# |var Registry = xdc.useModule('xdc.runtime.Registry');
: B2 Q ~: M7 T6 p1 G" Q1 O/ _Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 }( G. Z3 f, dRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 e; L2 N9 f$ [* G6 M. xRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;% H5 U h" j8 I
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 a* M- T) S5 S5 X7 j1 E: J4 b
1 R9 P+ H. H/ n0 v2 [) `! }9 g/* create a logger instance */
+ m7 ~6 v$ y4 uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) P/ |$ x6 V& c# Y4 O4 b4 o! @9 a
var loggerBufP = new LoggerBuf.Params();
K7 `' i J/ sloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
Z( E4 m4 }! Q# s( D& CloggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 `+ T) b7 E/ C7 W
( {! I+ `9 z1 y0 m! Bvar appLogger = LoggerBuf.create(loggerBufP);' ?. R8 s( |# P9 s: E
appLogger.instance.name = "AppLog_Core1";/ W* i/ x" i' y: @/ Q j G
Defaults.common$.logger = appLogger;
$ s7 L2 @7 [; lMemory.defaultHeapSize = 0x8192; . U: ~. B- N% V
Idle.idleFxns[0] = "&LEDStatus";6 M" l6 f- y- |1 ?0 S% m* m
Cache.initSize.l2Size = Cache.L2Size_32K;
' H) B) \8 t( W' s m7 D# ^7 ?4 C1 {$ a
|
|