|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( a" e) r/ X+ h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 C9 N4 N/ g- |* G* ~6 M' o
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 E0 h$ R& A5 F' c# M
7 S9 K8 h, K0 B' u# L! J是不是需要在DSP.CFG中进行配置
5 o1 S6 r# R) g' W我现在的配置为
8 `# t# y% K& _6 U# G* Y t
% L: Y4 z( p. i+ l! H/*
3 g9 I+ [! |5 S$ d- d0 u * ======== Operating System Configuration ========7 t8 X0 j- Q; {
*/
- X2 C( a3 t9 u: T9 O/ H9 F( d- W5 B" D& b. z
/* no rts heap */- |; _/ a- ~3 k. b! d3 g
Program.heap = 0;
4 p. m' d; K4 w2 t$ u( `' `Program.argSize = 100; /* minimum size */
, ]- C* q& {# h- R8 s, j/ \Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( ^) D0 D [/ X$ D
) g1 L7 N/ s( z8 ^/* create a default heap */
0 o8 z, C1 y9 rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ X9 d' M! V( b9 r' V; l- Jvar heapMemParams = new HeapMem.Params();
3 h9 T# n& `! p2 r7 WheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( A! N7 }, M" s% `" b! r4 U
/ K7 r" b' z( C5 ?
var Memory = xdc.useModule('xdc.runtime.Memory');
& ]2 h; R* W F; E* tMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 f" E2 O3 S+ D6 B0 A# G: \* O
H0 ?0 J1 ~ p) c2 |9 D/* configure System module */% ?. S8 [4 g4 m% }, g
var SysMin = xdc.useModule('xdc.runtime.SysMin');% B r' M2 A1 N! S3 U
SysMin.bufSize = 0x1000;$ |8 g# I5 ~4 P
SysMin.flushAtExit = false; k% H0 S8 n) Z& [7 @
2 D C0 ^: B' Y7 L0 {* L2 {var System = xdc.useModule('xdc.runtime.System');
/ ^! n, j5 d8 ySystem.SupportProxy = SysMin;- j' `; b% v5 K- R4 N3 }- |# n
1 s; f+ C/ M. i: q( U3 I
/* configure SysBios to use the lower half of Timer 1 */1 `- I& K- \; q B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ z, E8 G7 ?7 ^! evar Clock = xdc.useModule('ti.sysbios.knl.Clock');$ Q+ G6 u: t& ?' ?& b7 ~, G1 r
Timer.timerSettings[1].master = true;
0 Y8 j+ V+ Z# K3 x" z3 MTimer.defaultHalf = Timer.Half_LOWER;# e& N0 h2 l/ c, f
Clock.timerId = 1;: f: w) ^) v+ \' J5 j- S, J
! U; `1 }1 s5 R/ u0 g; J' M( M
8 ^: T) V9 \7 c* B) i' G/*
8 ~: ]7 X+ [6 m( [* o. G1 Y * ======== Miscellaneous Configuration ========. E% K4 X% S7 F& c+ y5 H4 L; l
*/! u) U, U: f& Y P I1 L. v
" T) l( g# o5 h) A. I8 c$ ]/* set default diags mask */9 X: b' M9 r; G1 J; q( a, K+ g4 L! o
var Diags = xdc.useModule('xdc.runtime.Diags');
2 y, Q: ?" K7 v9 z! evar Defaults = xdc.useModule('xdc.runtime.Defaults');
7 [0 ]" d; D% {5 r* O% n7 G' O+ v; g _# ]$ E
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. u' n! ^0 j o8 ~! l
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- D6 W0 f; Q6 [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 p/ Q) W, ~( E/ R* V g. ]$ B2 _" ZDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 ?$ f4 b6 m# M( CDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: G& E2 W- a6 s: I. {$ |
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 A$ }* J# ^: t& J% Q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 `6 O4 h# F3 D* l% h8 T+ b
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 {/ |, c0 U4 `) I1 F8 DDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( o; e# i5 D1 U# j+ z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 p- s1 P9 Q9 W& v4 m8 i
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 b3 J3 v. n& M" z# Y" vDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 U: i# \8 U9 `" K/ ?3 b" g
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' S/ F* D6 E% ?- ~
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# q- }3 M; b2 N
" D# s4 E9 w, \; B& D J/* override diags mask for selected modules */
2 t8 x! m* V1 `8 I3 }$ s4 I$ dxdc.useModule('xdc.runtime.Main');
& g( W1 I* C- R7 T8 h0 jDiags.setMaskMeta(
5 H' W, s+ J% B% k% }: ^& v% x "xdc.runtime.Main",
( R+ E* T7 F6 J4 K3 u Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 L& t3 D& m& J, ^1 R! Y6 ` Diags.RUNTIME_ON
* L$ A3 ?; y7 p/ R4 l);
+ Z& ?' a+ }9 x% o% }
* `% {, h+ S v7 z$ x7 I" Lvar Registry = xdc.useModule('xdc.runtime.Registry');4 |8 Y( h+ t" ]5 e% ?' o8 ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ T+ a1 L2 O$ Y4 ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, E8 k9 A8 E0 J% U/ h" j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: C. d8 \/ C. s% ?' h: dRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# J9 _9 X- [ K& [( K1 i$ z8 b8 J1 t) X4 t7 g) Z
/* create a logger instance */9 C/ `( E2 b4 t$ A, u! Q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 h0 w3 \6 r- E5 H9 H* g
var loggerBufP = new LoggerBuf.Params();9 n5 S7 U6 h0 u, V/ ?9 i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; @3 x5 V( O3 O5 |loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% _( L1 E0 M$ S0 Z( O/ H% p- K' K6 D4 E. q( b
var appLogger = LoggerBuf.create(loggerBufP);
- Q% M* w3 m; `: z ^6 Z1 CappLogger.instance.name = "AppLog_Core1";
& }2 C$ x* _) G! IDefaults.common$.logger = appLogger;- W9 F6 W, E' n
Memory.defaultHeapSize = 0x8192;
# F4 @, {; x, V, w% {Idle.idleFxns[0] = "&LEDStatus";; u0 |: ?: z* z' @" T
Cache.initSize.l2Size = Cache.L2Size_32K;# R5 Y" {, s8 c, c; U7 W
& p1 N4 O# ]6 z' t0 d |
|