|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
" T% J8 _% Y* h" A+ B我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 s' l& |2 m# k+ `4 O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 \0 h+ R3 g3 ?& w. c2 X1 K, @
是不是需要在DSP.CFG中进行配置
" d0 q$ N5 E) D' l, }: b( u0 Y2 n我现在的配置为$ Q8 H0 Y& k }3 o+ V; K1 X- W# n' H
+ g& [9 ~ V6 @/ N' m/*
2 D: F6 Y' v9 c. ] * ======== Operating System Configuration ========2 u, A1 f$ E6 C& C
*/4 {8 I& `9 Z7 a8 v4 i
; S' b# R" R6 J. v0 J5 F/* no rts heap */
$ ] Q9 p+ M5 `2 u- t2 oProgram.heap = 0;
$ c: x& w& [! r. |) N0 C3 kProgram.argSize = 100; /* minimum size */
" E/ P& }6 V3 y- m! ?Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( e- v; o7 z1 W8 n4 J1 V" H$ D
2 r* s% e8 m" y3 U/* create a default heap */
. R5 Y+ q, a i+ U8 z9 |- uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) E* ~7 \, w' z- q$ I# ]) Y, o
var heapMemParams = new HeapMem.Params();- P# E, [2 s: C) J, v( e9 v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# V- I+ }! P$ P. X
: S2 Y9 O1 m. d3 h) Rvar Memory = xdc.useModule('xdc.runtime.Memory');6 N; e; \9 L5 E
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: ? Q8 G, U" M) w$ F: B. p p
, V; ]: c8 ^( a3 @+ j ^! v/* configure System module */
( M; B& a6 p' y$ D i/ V Zvar SysMin = xdc.useModule('xdc.runtime.SysMin');
$ a- U1 a) Q. m4 d) j( JSysMin.bufSize = 0x1000;/ _. }: N& o: z# Z: O7 G# X6 a0 q8 F
SysMin.flushAtExit = false;6 Q) }: H' q: b' Q1 X) ]5 K* Y( y
: d+ t6 J* P$ U4 |! {var System = xdc.useModule('xdc.runtime.System');! D' f5 q- t- K; O: C
System.SupportProxy = SysMin;
( }7 `$ P' u6 C. Y1 E" g
- a# A8 U7 D1 j+ N( K2 ?. D# j/* configure SysBios to use the lower half of Timer 1 */
6 M" n4 j8 l! \' l( }% D" Gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 j- C H& U5 P% \2 v; l7 o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: H! f. h- W) i- NTimer.timerSettings[1].master = true;
. Y3 @) X0 e8 U: l5 ]. ^) o6 QTimer.defaultHalf = Timer.Half_LOWER;5 e- R: w0 ]/ [& u
Clock.timerId = 1;
5 S5 M1 v2 {0 [( } \; |2 E6 p
0 R" h* _1 E( j0 z5 }# l" L
+ F# Z. Y2 J3 A& J6 P/*
4 b( i! ~3 E& ~2 j * ======== Miscellaneous Configuration ======== H8 Q' [3 L8 @% ~$ w) V; l
*/
: p t4 m4 G4 T6 c/ I
& }6 Z9 i7 n9 H z- L/* set default diags mask */
5 F' Z: e t8 X. a( E5 a% pvar Diags = xdc.useModule('xdc.runtime.Diags');
; d) O9 \# c c/ T& wvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 S# A; w1 o- a! E% n) h5 k
* g" f, x2 N9 {- w7 kDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# T0 c0 N3 i* C2 J1 m; O2 D
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 Q# ]3 o2 m5 f+ l
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;) Q8 }- N- P ~5 b/ {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 T u8 C. j$ h0 JDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */8 A& z- P( P* T# S4 s( _
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 ]$ x7 S) P. v5 z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: r; r: s1 U$ F+ WDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ u3 q: g; L/ S# R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; z+ @$ C; z7 |& t
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- o8 M$ g$ H- F% M
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 z& q$ E) Q ]/ D
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 V0 {( J" U* j8 H$ P9 h4 y& Q8 IDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 e' u9 ^- w9 v5 \5 B [Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ N4 {( L# f5 p! x! o: X$ [- O, u
5 e" D `! x/ [, U$ ^* e
/* override diags mask for selected modules *// [! H3 Z' l+ ?; ~5 V3 o
xdc.useModule('xdc.runtime.Main');
K8 B5 ?* n. l/ w) PDiags.setMaskMeta(8 |& Q" B; w, Z0 p* Y, T
"xdc.runtime.Main",) y. N0 y, n+ ~. c; `4 v6 l; U
Diags.ENTRY | Diags.EXIT | Diags.INFO,- K$ c0 |$ V! H" f8 r
Diags.RUNTIME_ON& j% q0 ]5 H. \3 U; {# ?8 j
);
3 D+ x4 m* B# I% f0 Y9 p% w# l2 u& L4 [5 L8 T$ W. E
var Registry = xdc.useModule('xdc.runtime.Registry');; D& F+ u" o% Q& V- b; ]1 d
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 | d0 p. B' B& |6 v1 D3 ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF; M* r5 q% f [9 ]+ H/ b8 r
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 F* @1 d3 n* _" _; H7 yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 k7 H7 `/ P8 z/ A
4 b* S" n4 N4 r, w0 c" I6 Q$ C- G B/* create a logger instance */' T! V0 b: O* f0 J# R0 B K
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: F1 {* i. S# i. n/ E ~7 ]! qvar loggerBufP = new LoggerBuf.Params();" p, u: o, z' m i" l
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. `5 M5 M. o# q* F2 |+ ]9 LloggerBufP.bufType = LoggerBuf.BufType_FIXED;: r6 Q& s# i9 u1 W! ~0 d" i
6 H- s/ b2 ^, j, c7 p5 c' ?# M
var appLogger = LoggerBuf.create(loggerBufP);6 L0 \% a+ \2 a A: @
appLogger.instance.name = "AppLog_Core1";' L% Y8 y* f; X" D# _! `8 z1 k
Defaults.common$.logger = appLogger;5 H: G. ~; g& h) G! u4 i+ S! \
Memory.defaultHeapSize = 0x8192; 3 U- N% w+ i! X6 r
Idle.idleFxns[0] = "&LEDStatus";
4 B+ F$ ]! T# X' WCache.initSize.l2Size = Cache.L2Size_32K;! ]$ W6 A; S' a* t5 E- z9 R
# ^9 u. {7 u, U3 H! G; S9 \
|
|