|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 H' J4 ? N6 s. W" C$ O. {3 L& h5 e
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* v* K1 A( y C3 k. D* k$ t; d# I(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 L" p: ~ V+ |7 @# D, v, U- S
' K' v9 q M5 v) ^3 j- Y
是不是需要在DSP.CFG中进行配置
. t$ D( p' h9 K* e我现在的配置为
, ~- Q: H0 j( S9 n4 c! [' E# X: T* q+ Y% [
/*
" b$ l# F# O1 C9 ` * ======== Operating System Configuration ========
2 m/ N0 T* g; I# F" {! o* i */. ]/ Y6 \0 j2 w% E" N
0 X% r* @; M/ a$ g D2 b/* no rts heap */
8 w: w* L/ W- S: XProgram.heap = 0;4 G6 [5 p5 f/ Z% X, z) r I
Program.argSize = 100; /* minimum size */
7 [0 r& t! E+ ^9 t6 b) V1 c w; cProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大# ^) P( {; Q* L* [& ^( ~
4 F2 Z$ b+ H7 F& O/* create a default heap */. S& R& \. I6 Z% m% G; k& r0 e
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 s3 E& T. U. T( X+ a( Wvar heapMemParams = new HeapMem.Params();2 h5 D) G. Y7 S( d& N
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 D3 ]) g; s; i& t" o) L c5 w
& x$ F/ s x3 U. r; y5 t! z
var Memory = xdc.useModule('xdc.runtime.Memory');6 x4 Q% _2 ]0 k4 G7 k8 F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 N/ w; u! \; w# ]
( F' |: G$ [8 V' z) D/ Z/* configure System module */9 w6 p6 c4 y0 V4 V: L
var SysMin = xdc.useModule('xdc.runtime.SysMin');2 \& c6 I" j4 ~& Y
SysMin.bufSize = 0x1000;& y4 g, H& v# \; B* m3 \ v
SysMin.flushAtExit = false;
' p7 N$ C, k6 |
; M v0 w4 c( e$ j. Kvar System = xdc.useModule('xdc.runtime.System');% r* l( C* B4 C+ ^! L6 h9 ~
System.SupportProxy = SysMin;5 [# `3 a, `. H8 C& s/ ~* J
3 Y9 i* D6 e3 o2 W+ p1 P4 M6 {
/* configure SysBios to use the lower half of Timer 1 */" m5 O% A/ `- l$ l
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 P# e/ F2 w% S- ?
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ v2 J) Y- a! S. Z4 I6 ^
Timer.timerSettings[1].master = true;5 |% c7 a* v# z
Timer.defaultHalf = Timer.Half_LOWER;: n( @# v( i0 [4 R* l# }* f
Clock.timerId = 1;2 k) q& x7 L9 |4 q/ U$ c
( O1 c" f5 x5 o. l. b
: t, @! O, @! S( X7 T5 `
/*
3 L) k5 Q+ g- x- s6 ^2 e+ p- w% D% V * ======== Miscellaneous Configuration ========% X ~" k3 Q' F
*/& {1 Q c* F) L0 w9 }
) Y% u7 b, e8 J: K- ?/* set default diags mask */
+ ^( h4 |& i8 l3 nvar Diags = xdc.useModule('xdc.runtime.Diags');! ?+ R& P) s% W
var Defaults = xdc.useModule('xdc.runtime.Defaults');9 C( R' w+ B8 X2 w8 X6 C
! v% p8 Q, p8 w) h1 w% fDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- c* k9 m( s. w9 E1 e. X9 Q7 O& G
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ _! ]! V# o$ p" S% }
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 R; @7 J: y, Y5 r, E" V j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 D4 n2 | D& n/ o/ s# c' K
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 E6 |1 y# o: z2 M9 J8 z$ z# r. xDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;. d9 F+ {! E$ Z: F( S- B
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 q) |4 ^( C( h8 IDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 Z; G7 V5 p/ L! C& i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* y2 Y9 D# X7 C: YDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 S% G$ j5 y' L, W: S- b: e
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ j+ p% E' {$ q; }5 Y' Z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" `7 s* v2 q/ F ~6 dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* n: d' ?7 [( WDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) T* W7 R ] S9 q9 e
& q& |- Q0 e. S! i/* override diags mask for selected modules */
/ u1 {; g4 {- ]8 f t- u( dxdc.useModule('xdc.runtime.Main');5 @, c) i/ m( Y5 h' i
Diags.setMaskMeta(3 a+ `- k8 _0 Q: ~/ P
"xdc.runtime.Main",
: q6 H6 ?0 e5 ?% B Diags.ENTRY | Diags.EXIT | Diags.INFO,2 u7 s0 Q7 r- Y: u( M/ q- i
Diags.RUNTIME_ON
8 V) t4 O& g' G" B);
. t+ \- S0 x& [5 B& M
6 h; ~- G$ d. s2 L) _6 Y3 Hvar Registry = xdc.useModule('xdc.runtime.Registry');
4 a6 z& c1 w, HRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ q. h7 X# h" n! [% _0 U7 ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 r. L2 j3 N- B% \0 }" X, BRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* C' ~7 ^4 D" \! b/ A4 u
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 h3 ^% I Q8 \/ _# I' v. D
9 j: A- u$ x q( @5 o
/* create a logger instance */, R3 K* t% ]" z# A# Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* b- f2 L) k- o$ l, z" o7 G" V; `7 h' _
var loggerBufP = new LoggerBuf.Params();
3 c* T2 [& {& Y/ a! c6 q8 p3 W1 a# KloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* o. m! U Y) K
loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 o" Q: J/ X0 @: z( L: m. _6 n$ w$ @
0 p8 F- u- [% X- R9 u
var appLogger = LoggerBuf.create(loggerBufP);
0 |+ Z$ z7 U4 T' NappLogger.instance.name = "AppLog_Core1";) S Y! Q' K( n6 _& i
Defaults.common$.logger = appLogger;
) j1 T5 g0 r+ \$ GMemory.defaultHeapSize = 0x8192;
; L c0 x- g* TIdle.idleFxns[0] = "&LEDStatus";3 l* |8 Y+ I. L+ g% X2 z) k4 T
Cache.initSize.l2Size = Cache.L2Size_32K;
9 P# ^" R5 k `6 {) q' R9 O" _ l# J4 j7 a2 Y) g
|
|