|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 ?3 b- Z+ C" s: T5 J w& x
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; Q- P/ Y; P5 F0 \8 N o) C9 e
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( i" K8 R2 D: z; E! {7 J+ n6 G4 W# }8 o' q2 L
是不是需要在DSP.CFG中进行配置. S- b- r. w M4 s4 s# |) G& ^
我现在的配置为
% \; E: F" D6 {
1 ]) ]" D" G: W. R8 ], o/*0 ]5 }/ h0 c: ]3 W
* ======== Operating System Configuration ========
4 \; S/ q O% A1 D+ U+ Y, A */5 v8 }$ i( e- a: f/ V! z. k2 Z" w
% [, t' ~& ]7 @7 Q1 s9 [ J" O/* no rts heap */+ n- @3 w9 A9 G m K7 ]! g
Program.heap = 0;
9 Q! n0 ?. Y. C+ \8 [Program.argSize = 100; /* minimum size */8 M: A1 a* g/ G& X7 W0 u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大( m% d Z1 i* p8 ~
& Q# {$ w3 x Z: x/* create a default heap */
& F" A* `; ^. _1 i) D5 N, wvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 N) p) O& b* q5 g) |var heapMemParams = new HeapMem.Params();
3 { e' I# L! W3 q- P0 {heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' T: o: T: {- g$ x2 J; G- P* H$ u6 \( g* j/ I7 B, {5 `
var Memory = xdc.useModule('xdc.runtime.Memory');! _% R4 f7 |" F- N2 g5 W
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
( f0 x# k6 k( h3 H# g8 h5 j$ T" ^2 M8 E# e7 M4 w
/* configure System module */' O- S& G1 H0 w7 o
var SysMin = xdc.useModule('xdc.runtime.SysMin');7 A9 T6 q- L8 U/ t" R
SysMin.bufSize = 0x1000;0 F3 F, K/ g7 h+ I& T
SysMin.flushAtExit = false;
' k, b$ Z9 C7 S( z& G% @
# i5 y+ ?$ ]# U1 w6 pvar System = xdc.useModule('xdc.runtime.System');; F( ], {6 w8 _
System.SupportProxy = SysMin;
! d- [% c, _5 y9 n: v" U+ y7 s" n- N: P: o( @
/* configure SysBios to use the lower half of Timer 1 */
$ {: c* p! S( I* F* Ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 D. j+ A2 o3 \5 N9 }5 t1 ~& b/ tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');& }) I9 h5 B+ \7 W3 H
Timer.timerSettings[1].master = true;
6 E: z+ \; a& u% \Timer.defaultHalf = Timer.Half_LOWER;. W: _& {. O; a- j; Z( [
Clock.timerId = 1;; X9 n4 e3 v! F. W& L# f8 N1 S* ]
3 a2 q) u# r* U( s
+ G! v1 X1 V0 c/*0 ~9 M1 r1 K/ W5 L
* ======== Miscellaneous Configuration ========: \# R1 E* v5 A
*/
+ K2 f$ v! h! Z' I. m, Z% d6 |( Y, y1 Q* k$ e8 E- s9 N5 F" G% O$ C2 i
/* set default diags mask */
3 o& N, e3 Z K, g v( Y! ivar Diags = xdc.useModule('xdc.runtime.Diags');
* N3 t. M' l8 V' h5 _var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 {( D5 h* p5 M# C% p! u4 M
5 r# N7 E) L: J! wDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) q% h, m4 }, F7 X
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; S6 o1 M3 ~' H! D; C/ Y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* [" i7 E& J" I/ V4 z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 Y9 W, X1 w) s2 E0 \) ~7 Y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 ^) G8 ?4 k# t1 o
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) j# F0 g; O7 ?Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! T2 F9 `/ {0 s2 b. HDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* g; n& R: b: k' B% F$ e* U. pDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) X9 ~ f! Y8 QDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 N O1 X+ G6 q$ \% M) y5 e' H3 nDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ |4 D! f1 B* t) b0 WDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( q, {# C( m7 d o& w0 U1 h
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 B* Q) L" k; m) @8 c4 Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
T1 z- z3 s3 P( g, p
6 V4 N& j4 b9 m: d/* override diags mask for selected modules */
' I5 @1 O( k$ v; Xxdc.useModule('xdc.runtime.Main');
" T, K9 L& i) Y0 l1 a+ LDiags.setMaskMeta(
0 z$ \4 L) R& x! O "xdc.runtime.Main",# m5 n0 p5 w; V+ G
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% H3 _( S: t% r1 A6 e( v- t# r. v9 [' ~, x Diags.RUNTIME_ON- z1 V: U7 @9 d0 q
);0 @* k" a% ~% P T9 Y' q4 r
8 j& j$ j. l m
var Registry = xdc.useModule('xdc.runtime.Registry');
6 m$ F( E) g' g: lRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. Y$ G3 L5 R& R+ {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 D a0 \+ R6 y9 \; `) {& c
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 C/ b: ~5 \, k4 b
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, t9 a1 D1 }0 z3 t
' T$ S+ g( S- H# I* o0 s/* create a logger instance */9 B1 Y' Z; }. J- V, q' W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, F7 Y1 p0 \ O1 S6 B3 Ovar loggerBufP = new LoggerBuf.Params();
' O9 G$ c, ]0 kloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& s+ i$ ]9 [* d! d4 W5 I
loggerBufP.bufType = LoggerBuf.BufType_FIXED;& x% D3 h( u: |3 R1 _3 u# b
^1 g, W f! S" D. Y mvar appLogger = LoggerBuf.create(loggerBufP);
* D( h" m8 V8 Z. K K$ xappLogger.instance.name = "AppLog_Core1";. {$ V; Z, l* C! D' Y. b
Defaults.common$.logger = appLogger;/ b/ k' n, {. @+ D
Memory.defaultHeapSize = 0x8192; $ t/ W. [$ S: Q1 W1 s9 e4 \
Idle.idleFxns[0] = "&LEDStatus";
# |5 s& q6 x0 d: s) c. `Cache.initSize.l2Size = Cache.L2Size_32K;- M; R3 F4 N9 W7 X( ?- v7 c7 g3 J" \) R
) }& [& B+ ?' _: F6 z' I" k
|
|