|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* B$ S e. z& d) h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下3 V7 L+ Y% X/ E" a
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- w7 S: C, {" Q8 n
( `* L% Z% n. v5 z, g
是不是需要在DSP.CFG中进行配置2 f0 C' R) Z: s$ e( Y2 l
我现在的配置为* f% l" I q- j' J
/ }- {7 d% l' X: G5 L+ _6 Q/* t k" V5 _9 \
* ======== Operating System Configuration ========
- u* y# n" B4 O f5 l8 X */$ @8 p7 i+ `; V6 x% y( o! x1 G
& H$ z* [% S5 d, ^" ~2 Q/* no rts heap */
% k1 h6 ]8 N6 z9 M/ ^Program.heap = 0;+ t0 O8 |# y$ w" a/ B7 X; ^) S+ W
Program.argSize = 100; /* minimum size */. y% I! z K0 f9 e% o4 ~
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; M t9 S, K. f- Q; q6 Q8 {1 q/ z( {. p9 X6 S
/* create a default heap */; ?- F$ O8 M% ]8 w: U
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 s, [% r9 u$ o, r! g8 [( x4 x% D* dvar heapMemParams = new HeapMem.Params();( F6 i) N3 d) d9 w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ s) }$ Q- \. J: ^
" T! W L, ]9 E8 |; j# Uvar Memory = xdc.useModule('xdc.runtime.Memory');
1 c" C/ p! w- T5 UMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 H( C, y5 J8 `6 w# k+ Z, n' M p4 N( p5 S( @) m2 e) V
/* configure System module */3 X& b' i0 Z( }0 s# Q: X
var SysMin = xdc.useModule('xdc.runtime.SysMin');
* l! v: c. }" K7 `2 I& f8 \SysMin.bufSize = 0x1000;
0 ^. Q! y& K4 @% G0 wSysMin.flushAtExit = false;
0 K* J/ @) R" I2 G" n
, K, T& ]* t$ T9 C: Yvar System = xdc.useModule('xdc.runtime.System');* Q. [5 r9 W5 b" Q3 J
System.SupportProxy = SysMin;: z0 _; l) Q R, N- i5 ?: ~8 F
5 @* |/ V; r: |! x" p
/* configure SysBios to use the lower half of Timer 1 */
! n9 O% p; G/ e+ J2 D2 v2 A `1 E# ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* x1 @7 ?2 M' j; `) f* c' `var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 M& P4 z3 r l) X2 e
Timer.timerSettings[1].master = true;" o7 W( b. u+ E+ S3 }) b2 G
Timer.defaultHalf = Timer.Half_LOWER;
8 A! h1 ?1 N; i: z: l$ dClock.timerId = 1;2 z; x1 L1 r4 s+ x
- |6 f9 Z& `/ u
; J6 a4 ~4 J+ m7 @$ C2 W. N
/*( o4 K% n- ]- b! `; e# q4 @
* ======== Miscellaneous Configuration ========
$ q, e% e8 V# i M" r; n */, ]- } S- D' _+ H% L
3 B' a; s/ ?9 o& ], r3 u. }" k
/* set default diags mask */
5 D0 J' I: }+ C9 [3 ?: Evar Diags = xdc.useModule('xdc.runtime.Diags');; Z- z2 D1 i" w6 U: C7 n: z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ J5 p/ k' y. y- u3 R; x/ ~( k1 |; u3 g: I
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% {# y3 g5 f, }3 `! d
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, K% p1 {& ^0 j# ]Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% K" k$ j5 \* F) o z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% }1 v& P ]. ?5 U X JDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; X( B$ Z! M& C$ I6 S* [
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ G/ X7 ]5 j- r$ @( D
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
z! a8 J. }3 V! {1 xDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 ?% G& d" t0 ~0 f
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ g* u# U+ K% }( E) k% x9 j0 oDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 [1 g' m- L! ]! F- T3 j( b
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( f+ {4 ?' x d5 J- V2 ^
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ c' [5 @3 ?" c7 n3 W, K- t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; C% {! n$ e1 R( ~; g* [7 k& D$ h! J
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 R1 D$ M' ~/ M- }) Q
# S) G6 s1 {6 j2 H6 k! Y( J/* override diags mask for selected modules */8 q8 m' G+ c: g) U. |! Y$ c
xdc.useModule('xdc.runtime.Main');$ R1 M, F2 c$ A, ]8 y2 ?6 ?# B1 X
Diags.setMaskMeta(( q% d9 g# ^; g2 @, w* ~. v
"xdc.runtime.Main",
3 S9 i6 t0 \* C; j3 }- j$ l s( D Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ w, }" f3 v" Y4 L/ a5 j+ C Diags.RUNTIME_ON
* ?/ U3 M& ]; N7 L' ?+ u);# X! A7 E2 o1 q8 f
1 k0 ?: l" j! C' n- k9 D: k) b- p
var Registry = xdc.useModule('xdc.runtime.Registry');
$ I6 C: A" v; E" L4 O' _Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
?+ w' l" U5 L, n C: C; xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* D2 C! m+ G8 ?Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 g) i2 A, Q0 h% Q5 N+ J9 v
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( `2 z7 ?# M; y- z' j6 n" t$ X5 L$ a9 ~2 E# `. T3 S
/* create a logger instance */
' |* k/ [ T: e7 X# w) X% ^" ~7 r9 Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
q% t7 W& m" evar loggerBufP = new LoggerBuf.Params();7 c8 w$ k: |/ M& X5 W" E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 [, s% [0 r; e4 AloggerBufP.bufType = LoggerBuf.BufType_FIXED;& u- X' ~ u3 O6 L3 D0 x
$ V3 O1 x4 Q4 P4 h; U2 wvar appLogger = LoggerBuf.create(loggerBufP);
$ u* [8 Y3 {7 F; g' s/ IappLogger.instance.name = "AppLog_Core1";! ?$ N- y; Z7 i9 F3 a U
Defaults.common$.logger = appLogger;: A) Y3 D3 ~$ ~2 o/ I# O
Memory.defaultHeapSize = 0x8192; # M2 r8 U3 k* E+ `
Idle.idleFxns[0] = "&LEDStatus";
, i! w+ J2 m3 X1 p6 LCache.initSize.l2Size = Cache.L2Size_32K;+ L/ z: N! v$ p$ \) n. x
: f# q: a$ ?( g. w; T t8 E I8 y |
|