|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# j: T$ |* a I; D8 }* L我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 d) q3 @3 f9 f+ S% s6 ^
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 Y' r. ]4 E) {9 B, y
# C, y0 Y8 t' Z/ I
是不是需要在DSP.CFG中进行配置- r' S5 H3 O' r5 v: I: g
我现在的配置为: l2 h n4 R0 |% A2 t1 p% T0 X
. ]; {6 ]" _& k. Z S/*+ @# j& Q# T; Z3 t( B" m) K, K
* ======== Operating System Configuration ========4 F a0 B1 u1 k" g! C9 U* F
*/$ |/ F. n7 w3 f: ?1 {1 l
7 ~: w* s0 C3 o0 ]4 f2 j( ? c' B/* no rts heap */ ^5 G! x0 v- }9 C% n3 ]
Program.heap = 0;# x) E: c' s3 \* J: q3 V
Program.argSize = 100; /* minimum size */+ a2 q4 \& e8 N2 `
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ g+ c2 u4 D6 P2 M
& T( _* a- m% `: u/* create a default heap */
! n, p g# M5 S" i' ]: U4 uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, v; @. g% ?% n6 j
var heapMemParams = new HeapMem.Params();3 u( } M( a* e+ G# p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 b7 |" f0 Z1 V, h) c) W
, _8 B4 e# {# x7 U( T3 E- |var Memory = xdc.useModule('xdc.runtime.Memory');
- Z+ q2 h( B: m- ~" s CMemory.defaultHeapInstance = HeapMem.create(heapMemParams);# P1 R; r; O! ~3 Z/ h. x
4 H9 S) z% r* [/* configure System module */
2 ?; L# r* `9 ]4 X( dvar SysMin = xdc.useModule('xdc.runtime.SysMin');- X7 ]' I& W. G6 x
SysMin.bufSize = 0x1000;; f- j9 Q# H, [9 G8 Y" d# k; ]
SysMin.flushAtExit = false;: E" s# c( D- L. F! O) Y8 `
, \( h$ h; S' I- b7 Q& V
var System = xdc.useModule('xdc.runtime.System');
2 r& E$ o5 V! D* x2 JSystem.SupportProxy = SysMin;
& C; z6 m3 @' ~; r) R6 y' }
4 _$ m2 N) R' e! C/* configure SysBios to use the lower half of Timer 1 */3 j$ k3 e- o. N3 G/ T: W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 X D: c: ]& ?var Clock = xdc.useModule('ti.sysbios.knl.Clock');( t9 u) ^& s0 e' j8 x/ f
Timer.timerSettings[1].master = true;
+ q5 {+ U3 k! ?* Y6 vTimer.defaultHalf = Timer.Half_LOWER;
1 U" {, _5 S0 c( p- Y EClock.timerId = 1;9 @6 d2 |$ N; c
2 V6 d5 C E% k5 \
* t" \9 R: W" ~/*8 a$ _4 q# F4 @5 [: _0 H! v
* ======== Miscellaneous Configuration ========
* n( p/ z5 O: A1 a */ g. f" l; v! W
$ {. M; l2 T$ x; V" C7 u( o/* set default diags mask */2 |- F& c* b6 Q% m% D
var Diags = xdc.useModule('xdc.runtime.Diags');
4 F* A, G: M# F6 L% P/ Z: svar Defaults = xdc.useModule('xdc.runtime.Defaults');
2 T! p. z2 Q- N2 s7 z- g
; N$ _+ ^2 z5 F4 P7 UDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, U7 |! D6 j( V( u6 X: t/ Y! |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 m# T! I' O: ^7 O4 F# zDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: }0 Z1 e; e* q8 a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 `7 K$ h, D4 B3 L% {( @7 NDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- ]8 |$ t# O; h' kDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;( j* {5 a! N& b
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: F1 ] D/ n8 ~) S3 _& iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% {1 |! p" f* B$ k. _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ j% q5 g a3 N/ @- I6 O. F
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ `/ ^ T* {- I: I) y8 IDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& [( j, q" F3 @! }0 E( ], WDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' D. o* v9 ] D( F S5 l; I% [# CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 N4 z2 i# U. b; l( [8 VDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& o& F/ O& h# v9 O# l
7 D+ s" m* E6 W. L# ^/* override diags mask for selected modules */
# z) f/ P3 H2 |, Nxdc.useModule('xdc.runtime.Main');
0 ?. N$ N& G. y3 J8 n- QDiags.setMaskMeta(1 u% \1 Z6 u6 l9 H
"xdc.runtime.Main",& {' \+ O8 P6 Y% l( Q; Z2 r% ]+ F% _- m
Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 M* z3 r8 C1 U* S Diags.RUNTIME_ON) `1 E2 T6 W+ Z$ D( g3 m, F
);6 S3 r' j: d( p g6 B
0 w6 U- T G' y$ w9 Q; T
var Registry = xdc.useModule('xdc.runtime.Registry');3 A$ N7 F0 M& _% Q+ b5 }
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ u( w( f$ [& e# Z' I) U
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;- W. u- h) }& `3 V- V2 I5 L( N
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;9 i/ W( Z- l. g5 u- {$ m; _ ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 L5 K6 P4 {: ~. E9 d0 b/ m
# E4 x# S9 P9 R/* create a logger instance */
; K' y4 |& U( V3 Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# M) g, i3 o* ~
var loggerBufP = new LoggerBuf.Params();- `+ R+ Z8 F3 u1 G2 @2 @
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 n; w& m2 s2 k% r# W1 dloggerBufP.bufType = LoggerBuf.BufType_FIXED;
- b% D, k: D- J% ~3 e0 x' b7 P U# ]. ~. J$ l
var appLogger = LoggerBuf.create(loggerBufP);
( N7 ~8 {7 _6 ~( }0 t8 A* RappLogger.instance.name = "AppLog_Core1";
1 [3 ?6 c3 k6 s i! |5 y8 _Defaults.common$.logger = appLogger;
3 x3 P# ?% C& K! S* N oMemory.defaultHeapSize = 0x8192;
d" }# G* C& N# LIdle.idleFxns[0] = "&LEDStatus";
c0 `# @) c( D) K, i% ?9 A) i+ lCache.initSize.l2Size = Cache.L2Size_32K;
: G- ]8 R# g* u5 ~0 B: i% K- n; T9 O q# B
|
|