|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 M9 Y6 e1 q% z! V- |) f3 X4 _8 y
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! w" U) o( L) a' y7 F1 V
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( l5 o6 b7 l2 ]" O, c! x3 C( F- o/ @
是不是需要在DSP.CFG中进行配置
& y5 G8 l- l: a5 ?( r `我现在的配置为
3 t" E% z7 a, Z) M; E* b9 i% n! l0 k, d" E3 r& @) g" u
/*
7 ~5 }: _4 d6 G1 d1 k! e * ======== Operating System Configuration ========
5 _, f9 t8 N* o. { */
) w: W8 e! _. V# ?3 W( n6 g ^
9 {: d: g. ], x/ C. G/* no rts heap */4 u, T$ \- |1 X
Program.heap = 0;4 w5 u3 Q. E* _% B5 {- [
Program.argSize = 100; /* minimum size */
; U5 C% r w3 A' m7 GProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ G3 _- x" r5 U3 r
' ?: I+ i( y; e/* create a default heap */% Z8 e. H" u: Y4 n# J2 ?3 }
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* T$ b: d, w* r% v/ Z- }var heapMemParams = new HeapMem.Params();
4 T8 V' [# |' \9 P2 ?( ?0 C* }heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. S1 V5 Y3 M! G4 J0 f4 L1 A% Z# a0 T8 s2 m$ p) y2 F7 D4 X
var Memory = xdc.useModule('xdc.runtime.Memory');
4 E2 r" B' M$ c/ e- B/ n; HMemory.defaultHeapInstance = HeapMem.create(heapMemParams);* b- ~+ g5 J! W9 R3 f/ b
, Z( b4 j) h/ J7 B' x2 x& C2 j+ [/* configure System module */ }2 S6 T9 z! D. V' c
var SysMin = xdc.useModule('xdc.runtime.SysMin');
& M( L( `9 T2 I( B/ j2 W0 v+ iSysMin.bufSize = 0x1000;6 r4 ~, V' o K t0 R T- [
SysMin.flushAtExit = false;% _1 l2 m+ E& M# Z) \, f; r9 n/ g
9 c, I9 s0 ^! N+ A* Kvar System = xdc.useModule('xdc.runtime.System');
6 J( x9 A$ @" {System.SupportProxy = SysMin;7 D6 E0 c! h c) [
9 S5 i- X$ p9 G" T: p/* configure SysBios to use the lower half of Timer 1 */
+ k. ]& o# w* k0 F2 H4 Z+ y5 }var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 L" m# [8 w- Y) }' V3 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 C3 Z# s% F; fTimer.timerSettings[1].master = true;2 k7 }2 ^ v. t* P* T. D5 a& R
Timer.defaultHalf = Timer.Half_LOWER;
5 H' C% y: V" M: LClock.timerId = 1;* U, q( X9 o- Z
6 T" |$ J3 s/ _* H4 f$ V
- |6 L9 \6 J4 L, P9 H" G3 r$ r9 ]
/* k% D: r) Q% R" W8 E* |2 W0 p
* ======== Miscellaneous Configuration ========, k2 \: E$ Z$ x3 t+ [2 X
*/
% ]' ~, I0 K% T$ L4 F" ?
$ l' L1 K; `/ ?/* set default diags mask */
" \" ?( ~1 d* u! gvar Diags = xdc.useModule('xdc.runtime.Diags');2 h! y' ]' w' r; r# e, x- R/ f( g
var Defaults = xdc.useModule('xdc.runtime.Defaults');5 p! n9 [1 i6 u5 a5 E- |) [
. t3 o: M+ r3 r- L9 e' P s$ TDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. J: N5 Q- S0 ?, z( E! [! F6 w7 |
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# Z) D- a! y6 f# i4 l- v; O
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 O! r* M4 x/ e8 p
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */- l7 m O- Z: p: l6 s
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; F/ W9 W3 M8 b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 K- ]$ j$ w" ]
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF; v) z% ?1 e% x ^+ h0 Q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
/ D6 Q2 M! V8 u: L# `1 xDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 k4 s$ _- }! H! [5 B2 r) ?4 s- tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 t6 k& ?( m1 R+ I: d+ m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* R" i7 M d& J9 ~$ i
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 | I- y% d) `0 y1 D5 J) d/ QDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- ~" J1 \' [* n9 K# A. n' p2 `- hDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;: v: @; h1 m, v! a" q9 t
. n5 F i! \ W0 Q" z7 ]
/* override diags mask for selected modules */
* W4 d z! G4 _. j: gxdc.useModule('xdc.runtime.Main');; P( D! O, A$ [
Diags.setMaskMeta(
% h2 ?& K7 C T, H "xdc.runtime.Main",) h) S: p3 F0 a& ]$ s# U: e
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" a! R" _; e1 Z) X7 J Diags.RUNTIME_ON' k5 T! D, }/ [" |; e
);
8 R' i1 e. ^( J" ]. z
) F& _- b* b: i+ |/ c6 Hvar Registry = xdc.useModule('xdc.runtime.Registry');& R! `9 B% a. { l; v
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
X. r% _& o- D! ~2 d) k- @Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 ?# _. R+ t; W0 [
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 J& B o! h+ n' j u+ R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
J# l+ s" l3 u7 I2 @/ v! _; @' L$ s3 ]: e
/* create a logger instance */
: A8 p/ j' r5 t- R# j! f5 xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 b1 d. @4 }9 }1 f9 w. [var loggerBufP = new LoggerBuf.Params();; ?0 ~- u' e8 s% [1 S% V U
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: k! Z" }2 p6 K* \8 g1 _) Q8 F
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" b! v0 H! v% U4 x& F7 w7 ]- P
$ J4 [% y5 t8 T2 }' e
var appLogger = LoggerBuf.create(loggerBufP);/ \; C! n7 o$ X; F' ~7 m" W$ j$ a" ~
appLogger.instance.name = "AppLog_Core1";
, t+ |3 Y3 Y% x1 jDefaults.common$.logger = appLogger;5 I/ x6 O2 s: Q8 u$ @; @
Memory.defaultHeapSize = 0x8192;
& h$ O' U/ Z( M. m2 m* bIdle.idleFxns[0] = "&LEDStatus";
$ W) `& z% } w A" F* J7 l3 kCache.initSize.l2Size = Cache.L2Size_32K;
. i3 G5 [' w* H5 q6 E1 k* o' ~& b6 s: I( a1 V. e
|
|