|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 h* k2 J; R+ U' f* e% p7 a我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. G [% Q; F6 L: H& A
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& Z5 n# p. X4 L; { U
1 K' d, Y" M# h" P$ Z
是不是需要在DSP.CFG中进行配置3 A7 z% L) `, W% B. A; x/ q9 `
我现在的配置为/ C; U" Z& G q8 \0 W5 Z' |
. W4 r$ C* p, F/*; i+ F" e: j5 a
* ======== Operating System Configuration ========. Y' s5 O, x- v; O1 @9 y
*/
+ U# D( H- M. I+ [) L
# [# g1 N8 r' D4 K/* no rts heap */
$ g5 \' `8 d' }2 T* ^Program.heap = 0;) T0 m i/ N. }0 n! j9 A q
Program.argSize = 100; /* minimum size */3 c- Y% L5 T, F1 t- c! K) A
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 \8 R6 Z+ r% w1 S
* O! o) k% Z# w8 ^; }/* create a default heap */( ?$ J! |! S6 S" u9 X. J5 [
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 A( C8 t8 ] q" Y7 Evar heapMemParams = new HeapMem.Params();; b2 p1 y9 D6 B$ T }2 g6 G
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 X b4 V, s9 h) ?" b: V" U
& I/ u! R( {/ X, |7 Q! I6 L0 x# O0 [var Memory = xdc.useModule('xdc.runtime.Memory');
+ B- ` r' s* ^3 t! xMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 Z# [7 `" t f& A- C2 \( |( [5 r4 z
/* configure System module */
7 c: N7 H( l9 }, v, fvar SysMin = xdc.useModule('xdc.runtime.SysMin');* [9 f+ r) i9 J9 T8 X. f' ^. Q
SysMin.bufSize = 0x1000;5 y: ]% L# O, `( n1 ^" D4 P3 s
SysMin.flushAtExit = false;
* ?' q d3 D$ f- Q3 ^: [
, h% r7 Q" d. |: M$ [var System = xdc.useModule('xdc.runtime.System');
m* s5 y6 y" G8 RSystem.SupportProxy = SysMin;
) ` {! A8 B7 @/ {) I7 S
5 O: P% R7 A h, Q1 [4 \2 o! Y/* configure SysBios to use the lower half of Timer 1 *// F. V) G( P8 L9 E) D/ I$ |9 z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* d0 |# J! R" Z" J. o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# b& Q$ [8 n3 c3 p! Z8 XTimer.timerSettings[1].master = true;$ H# e# p" j* N2 t6 q9 |: t( n
Timer.defaultHalf = Timer.Half_LOWER;
7 J- \3 Q$ y* v vClock.timerId = 1;
) n' _6 |5 t5 Z
3 P* h+ V4 {* l. p
6 i/ x, E; W5 r( o! F/*
8 T! l! \5 b- F( r * ======== Miscellaneous Configuration ========
- m) ?/ ~! E7 u */9 b/ p1 O) [" t; Y7 ~) S F3 g n/ A
+ {5 [, ?- T/ @. k
/* set default diags mask */! B1 L3 F c# K. v. B6 @0 M5 [
var Diags = xdc.useModule('xdc.runtime.Diags');4 e$ G/ V7 t$ u: x' o6 X
var Defaults = xdc.useModule('xdc.runtime.Defaults');, n6 _3 l8 u0 u( r& v
" {, i6 M2 u% iDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 ~" q$ v' v2 v7 f8 P ]3 b# o( KDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 q6 e J w2 U4 z V3 ]& kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 M* K1 D- g0 P% T( I* M5 X
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 v- n0 m; n# E7 m% }) E5 d: ?* qDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 `) Y7 P% E+ R( Q! r1 UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) R6 v2 i/ Y2 o! MDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- N& b( F- j+ R! n0 GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 C$ [5 e+ x7 T% Q$ ?
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 t( q3 {% a! o! ^
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 B8 E& J$ X1 T, k. ?
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 j: `! Z! U4 KDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* ~7 S. I/ e. _6 Y# [4 x. t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 ~7 U' p* w2 `3 u6 _4 z! B8 WDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; x! m% A' j- h+ l7 f+ M1 g$ p% X, }9 P1 g3 m& G
/* override diags mask for selected modules */
1 e" Q4 ^( w! o% P3 v jxdc.useModule('xdc.runtime.Main');
( d o1 J! }/ }/ Q4 k& k5 UDiags.setMaskMeta(
( n! ^: K. [7 s "xdc.runtime.Main",
* L6 p/ K0 q* B( z( ^9 K1 s* [7 h Diags.ENTRY | Diags.EXIT | Diags.INFO,
' S1 o0 N- i& W- T9 | r3 L Diags.RUNTIME_ON
; L& Y! E* H; u3 e" N);* s) a; G4 B* [8 U
0 ~ z* k T' W, J) u* ~var Registry = xdc.useModule('xdc.runtime.Registry');" A; m" s4 z+ @$ j1 z9 }" W7 o8 B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ k3 y; i7 `) S0 C, i
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- X0 B( p' g. `5 m" zRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 c+ U* k0 x% W% ^ B" bRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 p* b$ ~4 j# {% z y
8 h0 d/ |+ W: V8 a4 T2 ^/* create a logger instance */6 o" @& H# t/ |# y, M' s* ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ ?- h$ N: C" X+ h, [/ w
var loggerBufP = new LoggerBuf.Params();
, ]& ~) L3 r7 P8 a6 ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 Z' }! j% H U: d
loggerBufP.bufType = LoggerBuf.BufType_FIXED;0 E% l) s) [* O4 t1 b+ T2 a
6 N! l K5 {+ Z& yvar appLogger = LoggerBuf.create(loggerBufP);" R2 G/ G- P' J3 |1 A: C3 {! ` B
appLogger.instance.name = "AppLog_Core1";/ P0 x4 x8 \3 f/ z, R! ?
Defaults.common$.logger = appLogger;
5 C, w w& a4 X6 NMemory.defaultHeapSize = 0x8192; / q; K8 g8 E+ X6 e5 b9 E
Idle.idleFxns[0] = "&LEDStatus";3 F* R1 J1 I5 N5 c( p2 N
Cache.initSize.l2Size = Cache.L2Size_32K;& e) O1 S; V2 y! D3 z+ Q) U# L* u9 E
* }" G6 S8 E) g' O1 f( |" T' t) w
|
|