|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 W4 f% u* R+ y) p/ l1 E我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 t5 G% A5 S# W) T, t; A! W5 r) T
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 n. A& B; H8 B* G( C- {: A: n- W" v. Z+ B( H9 P
是不是需要在DSP.CFG中进行配置
( p5 P# h; k% S7 W我现在的配置为 a6 C; @0 \8 u2 Q- A) _
, q; D$ h t2 K: n& b/*
2 r( z2 U* W( B, l * ======== Operating System Configuration ========3 B- F- R/ v# ?$ _6 d' ~
*/6 f3 m: R. m5 Y- k; ~, U* L
8 k) Y }: E, Y! E- g5 ~, w" Z/* no rts heap */
9 @; W& z2 K' B* d% OProgram.heap = 0;
. Y; \7 Z9 a( h" Q2 I6 J9 TProgram.argSize = 100; /* minimum size */1 k9 `" p( J# @" v0 o" [
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 ~+ p) |# j) ?( C. F3 z g: K! ?% q# o) P
/* create a default heap */6 J. p/ k- G9 o7 d
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 `) H! F0 B) M% k. w+ ]8 `var heapMemParams = new HeapMem.Params();
% P! w& H% Z3 n9 wheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 v: c+ H4 |; a8 F6 Y; t# ?
* Y' h/ a; x: lvar Memory = xdc.useModule('xdc.runtime.Memory');9 }" d/ h- [ E0 P- ]
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* I6 W' g) {& C# {! \& U& q' U; d: D' M$ U- u2 p
/* configure System module */
' P# a3 t% e5 a: `var SysMin = xdc.useModule('xdc.runtime.SysMin');: N% y" ~3 r/ W( v; `: E
SysMin.bufSize = 0x1000;
9 s2 W0 D+ Y% g9 ^SysMin.flushAtExit = false;4 l% U R4 t# v; r8 R1 m+ v
) h$ a" c! E# bvar System = xdc.useModule('xdc.runtime.System');
( s* r/ o w& C9 GSystem.SupportProxy = SysMin;0 c5 w6 t( k8 m
: G( `4 u3 Y0 L4 ~8 e) Z% \2 x( t [
/* configure SysBios to use the lower half of Timer 1 */1 H: l% S1 E1 A! t5 B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ c9 d" i- F- k hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 y# Z; i5 K' w& t6 pTimer.timerSettings[1].master = true;% }; C& G/ I, `7 y
Timer.defaultHalf = Timer.Half_LOWER;
8 G$ @$ n% [( P0 c! o2 LClock.timerId = 1;0 I! W7 f7 ~ d* W8 X K- M
5 A; S8 h8 R& b8 K6 w) I+ h1 p
- A. i) f, n$ k5 q/*
! H' f0 T% s7 i4 H& M# h3 T5 \8 d * ======== Miscellaneous Configuration ========3 Y2 y2 s1 C2 |
*/3 Q: q; Y' I' `% y
9 {/ a1 G" H0 g* E) S/* set default diags mask */
7 O- O6 n9 J4 L2 P. D" Evar Diags = xdc.useModule('xdc.runtime.Diags');# p# ~& Q: S. Y+ o, o: V
var Defaults = xdc.useModule('xdc.runtime.Defaults');$ V+ K( G, u4 m8 P
+ w% [- L8 O. N- D$ S
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 Y% f' v. ]$ a
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; v8 n& ?; s% T) O* q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# J, V) @" r4 w8 aDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* }# }2 v1 P- F P0 n# j# c: Q" h, @
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 m( W$ {/ z: D& v$ T1 f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& Q# ], l# n) E0 PDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 z' Q5 u3 g" R+ @# B) o/ f
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, E; O3 ~) L( P2 O' F* Z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" h5 O( g0 } i7 C5 t5 r2 c( o4 h" Z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ g3 G, v9 h' E5 R5 \Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;$ G% E, J. T3 N9 B
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. |& C9 E: L) ~7 D8 bDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. Z& F; F* p$ E; t2 @$ bDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* B% j9 f: d+ G7 a
: S% k3 L) R0 |0 E! B3 |
/* override diags mask for selected modules */2 H' Q/ d c+ G; x4 ?3 [
xdc.useModule('xdc.runtime.Main');
& w3 ~1 A$ r' R. {7 P! KDiags.setMaskMeta(
- v) u# j4 D: n1 p3 Q& _ "xdc.runtime.Main"," ^/ o- F; D# M7 ?- c
Diags.ENTRY | Diags.EXIT | Diags.INFO,
( J4 x2 i" L0 Z9 s Diags.RUNTIME_ON+ r$ g3 v/ v* I9 a8 y2 u
);- @' A4 D$ a2 O8 N8 L9 F
1 d e: V2 r; h) ?8 B" E1 J
var Registry = xdc.useModule('xdc.runtime.Registry');
$ L6 o! E( K. x. G1 Y+ z1 z- N) XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- I- S8 m% _. c- ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ t0 W* P' N, v2 [Registry.common$.diags_INFO = Diags.RUNTIME_OFF;/ L& N3 x2 x" H- W2 D1 g
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;) G3 X) `& y8 P, ^" E3 q9 Q
# f% ?+ Y8 Y! }7 a3 b. L
/* create a logger instance */4 M; H) j2 _' `2 H: R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* _. H6 Z, ]" C8 R9 m
var loggerBufP = new LoggerBuf.Params();* ~( Z! ^/ h& C0 _; `
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// [# V: N+ o) P' r" |1 ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;& s4 \# Y6 S, [% t4 ^
9 M! n& s$ [. }% U7 ]$ h
var appLogger = LoggerBuf.create(loggerBufP);- Q; ~9 s+ n3 ]" \/ K
appLogger.instance.name = "AppLog_Core1";5 ~6 K9 |4 U4 @- r
Defaults.common$.logger = appLogger;
3 h# j+ K4 a7 K+ @$ |4 wMemory.defaultHeapSize = 0x8192; 4 j G3 I- I$ z6 x
Idle.idleFxns[0] = "&LEDStatus";
) Y5 S/ Y/ e/ @/ _( GCache.initSize.l2Size = Cache.L2Size_32K;
1 @) f+ O& d4 ~9 n9 F: A) v2 y0 S0 j; `, n
|
|