|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 ^# \) @" o' P3 T# u我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 T; I4 b( D: W3 K- `4 L5 A' J7 [
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! L" ^2 ?( r! \' L# t0 `6 I9 K+ z' I6 r" W H& j0 k* D' B! h' m/ R
是不是需要在DSP.CFG中进行配置, o0 S+ J3 G7 a
我现在的配置为6 R* D1 E" A5 _/ P
7 A; U9 O/ A0 f3 ^
/*7 y& ]0 \" M2 K# Z2 u
* ======== Operating System Configuration ========
- ~* j1 K1 T* X# V# x* g */. i# i1 K, t8 h7 r5 t5 ^% c& D
% p$ m/ Q! ^6 D. L! t6 ?' Y# ?/* no rts heap */& Z1 r7 }. {& Y j. n' R H
Program.heap = 0;" |1 W6 w4 B8 i8 {7 o- Q6 r8 S
Program.argSize = 100; /* minimum size */: ? I# f7 L& _; N5 m/ W$ i& E
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
U' Y# _ u; m2 E' N: c# W( P0 C6 h8 F1 l) G( v/ F5 k
/* create a default heap */
$ g9 T/ _- O$ x6 qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; Q! @, e6 r7 zvar heapMemParams = new HeapMem.Params();
3 b) D: T8 a; C" |' v7 ZheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% _4 l7 \0 P* d, x/ O& H H
' i- U$ o. d9 B( _, g
var Memory = xdc.useModule('xdc.runtime.Memory');
! x b: c' F. n( z) K7 O1 sMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
a3 ^2 X* ^! R( s2 Z) x3 r4 c( j7 z( q0 b
/* configure System module */- a/ L# T: `7 k: m# l1 C+ @1 H
var SysMin = xdc.useModule('xdc.runtime.SysMin');$ J, h% `9 s8 c% } n: A, A9 a
SysMin.bufSize = 0x1000;
! t$ |$ _5 O6 U7 y: L4 {SysMin.flushAtExit = false;3 m# P! J/ c; y
5 u0 M, D* U* l4 a' x1 @+ ?8 t
var System = xdc.useModule('xdc.runtime.System');
/ g) o; j" e& t5 z- kSystem.SupportProxy = SysMin;
6 ]6 }4 U4 v; l% i( P5 g0 f- [- I) V: @- L
/* configure SysBios to use the lower half of Timer 1 */
2 N6 b G5 Z7 j$ F$ \% h* W/ x1 \var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% B( p M# Q% h/ i0 ?8 h" r
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! x+ ]0 }' C) B% }$ @6 ITimer.timerSettings[1].master = true;
! K) }8 z0 o5 JTimer.defaultHalf = Timer.Half_LOWER;$ R( Y' A0 n7 Q0 k4 R4 b; e* y: D. X
Clock.timerId = 1;
z$ s# Z8 ^+ ]% x4 n! f* O
; e7 [8 |7 I" j1 k7 q6 I3 i/ O& X& a; R" y
/*
; ^% Q2 _0 d2 C% M- C * ======== Miscellaneous Configuration ========. o6 `) T% U& s& y
*/9 H. `( j$ L- m+ G# C$ \
% ]/ }" J' i- g P. }# l9 e3 i/* set default diags mask */
( d, k9 R( w4 F, G( c) Ivar Diags = xdc.useModule('xdc.runtime.Diags');3 M" S$ G* H% o( {- p4 V. g- `
var Defaults = xdc.useModule('xdc.runtime.Defaults');
7 F) R4 g; w# P$ D% d' K: C; k2 \2 g4 W# n
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ d, h" M; \& VDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! L+ C! k5 @" P5 B v( { @2 e1 U s2 ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ H8 ^2 g( m$ I+ j3 c' Q/ a1 W) f: vDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 ^+ O6 x4 h3 \! u# N3 N8 v" ~Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 p5 y. ?! w2 k# E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ ] P, u7 o; w. J4 U
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ r8 n) h6 J' b' D1 g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ {4 v% Q6 t* z% y/ fDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 o0 G7 E% ?$ G! a, l. NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 Y+ L' I, D- k% X1 t
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. t( ?$ A0 Y; f* `
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- X: K) i: c4 @! ]; R0 {( r7 ?Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ \. m2 {% v' |8 D/ A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ n4 Y, V. ]& W1 h0 `0 o+ M
8 D* T1 S" M* W: Z/ ~( Q
/* override diags mask for selected modules */1 g" q1 C& o ~/ K
xdc.useModule('xdc.runtime.Main');
, v5 A5 z# l$ i% G# vDiags.setMaskMeta(. {3 f! `9 o' Q/ i: r( T4 Q7 K1 ~0 _6 R
"xdc.runtime.Main",
( a# `! o& ?- J9 V, R# D2 Q* h Diags.ENTRY | Diags.EXIT | Diags.INFO,! s: [/ ^' s" T% I: k$ w0 O
Diags.RUNTIME_ON/ d; R- ?. ]! K( W2 m) W
);* o" u* u) S5 S& u7 k, _
) [6 E+ Q; F8 m
var Registry = xdc.useModule('xdc.runtime.Registry');. x. q$ \# @5 l
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 f$ q7 g( R- u' Y. T6 F$ IRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; g7 ?' ]$ {$ h$ ?# q# f0 J1 SRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;& ?/ R) F5 P; W% Z
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 T! T& H, T( p4 R! H% J
+ M7 w' }( I% E$ y/* create a logger instance */1 S' @5 o2 O2 w8 |8 u
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 p6 t" X0 x. V# b
var loggerBufP = new LoggerBuf.Params();
6 ]- o8 A! {' D Q0 m+ k$ floggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
X- F' q3 F4 L5 O* V( dloggerBufP.bufType = LoggerBuf.BufType_FIXED;, B0 C! C: E/ n" H F7 p# i
8 b4 ~/ h. D4 X/ [' A2 J: Evar appLogger = LoggerBuf.create(loggerBufP);- Q. v5 E) t3 c4 o: x2 S3 V4 [9 d
appLogger.instance.name = "AppLog_Core1";' e1 l9 D. z, j f! M# ]
Defaults.common$.logger = appLogger;* y6 B( G$ @1 j9 X
Memory.defaultHeapSize = 0x8192; 1 P o' V0 z( d2 D2 S
Idle.idleFxns[0] = "&LEDStatus";3 N8 @# |4 v3 L+ U
Cache.initSize.l2Size = Cache.L2Size_32K;. d0 O7 }' ^% w
/ b" }) T" b7 `3 M. T$ t+ |# N
|
|