|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 u4 s, Q' |. l8 F& z' I我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ H: Z+ v' Q( e5 t3 X* L! H
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 u6 `: } ^/ s$ l Y, s1 U
2 x4 s- \% S6 w# p" V: T3 W" R是不是需要在DSP.CFG中进行配置$ }* a( z$ X# z/ G, }
我现在的配置为
: Q7 F7 x1 l2 P: o. K* L
, L6 A3 } C4 _. O/*; [& r4 s# Y- G3 z- q
* ======== Operating System Configuration ========
- w. S! N9 g8 I/ M$ Y *// e! \# d9 s7 I: J% o' K
: Q. {3 z b2 _) A) d5 C/* no rts heap */
1 |4 m+ e/ A- ^- p0 S4 Q) P2 j, xProgram.heap = 0;
. d# E% t3 l; V2 l! H) zProgram.argSize = 100; /* minimum size */
: G4 C( N5 ]0 ]! N2 i! JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ b- b: u# @' m" y2 t- r3 k' M, J! H
2 p3 p" j; V) W4 X* a
/* create a default heap */
9 }5 a* G! `$ S: Zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');" M6 ?/ F/ e6 r
var heapMemParams = new HeapMem.Params();
t$ g$ Y* e8 j" j1 yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* }$ D+ I7 I- U5 ]; L% V. d* f3 P. M
var Memory = xdc.useModule('xdc.runtime.Memory');1 @- e7 G5 f7 T8 N
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& w6 L- @5 j' M1 S+ i
5 E" S* }- C" ~; F; M$ \/* configure System module */
# R# W. x& ~4 @4 {+ s" c- Hvar SysMin = xdc.useModule('xdc.runtime.SysMin');* }- H! f9 j( \2 a6 I
SysMin.bufSize = 0x1000;3 |9 o4 q# u* [; {+ i$ C
SysMin.flushAtExit = false;+ s1 r( N# Y. a+ |$ i+ A2 N* W
3 P- y4 z* k# j
var System = xdc.useModule('xdc.runtime.System');
# T0 Z; F" [/ PSystem.SupportProxy = SysMin;7 R7 d( L2 D0 _- |
. w+ ^, H7 u5 M$ T% K+ m
/* configure SysBios to use the lower half of Timer 1 */, `! f9 c7 t' C( L/ k8 r% J+ \- E+ }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# S# ?1 s" g# |1 t, D/ c/ }* Pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ b3 n9 U0 z2 y. `* }# d6 \Timer.timerSettings[1].master = true;7 m: S; B5 n: l& |! K J* ]
Timer.defaultHalf = Timer.Half_LOWER;/ u# q; p9 G3 {8 i% R
Clock.timerId = 1;* b+ b& g9 n- ^+ R
& `0 b4 t! u7 K2 f6 @8 X3 a# G; a4 ~* F4 x7 T$ l2 V
/*" M8 V, b5 {) @
* ======== Miscellaneous Configuration ========
% j* {" w% v, L2 x */
; `# g4 o1 X- I& c/ C0 A
+ ^! }: }6 a2 i l$ G h/* set default diags mask */' \1 P: N7 G" e& k% n
var Diags = xdc.useModule('xdc.runtime.Diags');# a/ l' X# p) A( t2 M
var Defaults = xdc.useModule('xdc.runtime.Defaults');
" V" }5 d2 g* C( F% g/ C* z$ _& c, }5 I" ` G
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" k3 ?/ \; i) e' `- MDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; S) o, V4 I. `2 X% u3 rDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 G) `( |8 m+ z1 f Z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 N0 o" u, S! z* Z9 k9 S
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 o/ R: c0 D/ f* |, y9 ~3 [; \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 u+ ?7 c/ ^7 I9 U9 o
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 \- K4 P. J1 j, v# Q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( E/ z& \( Y: H" u" `# _
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! J0 J- Y( s3 p5 k" WDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) u4 ^' s' r$ a" m9 bDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
p" M, z, U/ c3 v7 K3 a. d; g$ r) qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- a: }0 U, ?+ |' H" z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 X" d% Z: I3 DDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 N1 K; X; J* d- }: q
" X5 e8 t* A. v* P6 \+ G* D! j2 Q) V
/* override diags mask for selected modules */; v; V% d0 @& i
xdc.useModule('xdc.runtime.Main');7 i+ e% I1 N' M a+ J
Diags.setMaskMeta(
8 v7 y' o3 W5 w$ p+ d8 n "xdc.runtime.Main",
9 a" W. m8 P* O/ ?3 \; f! G j& X Diags.ENTRY | Diags.EXIT | Diags.INFO,% c8 s+ i# k' e+ W
Diags.RUNTIME_ON7 ?7 \ ?! d; h& s+ g8 L$ V+ [
);
% m- T2 a0 n# m, \& ]4 G4 f. R3 X2 l6 ~2 Z4 E1 F: M
var Registry = xdc.useModule('xdc.runtime.Registry');& N- t) l+ h& T- x! q0 f
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" z& k# {# T/ T0 l
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ L! u Q" { oRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 i9 l. O i( M) a$ Q0 h6 z' FRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;% H2 t. R0 h3 D' o! N
5 j M$ u8 }! Z" f3 d
/* create a logger instance */* z; ]3 d6 O" x+ i: u1 p
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 l$ J7 m! Q: s' C. bvar loggerBufP = new LoggerBuf.Params();1 W& B! M) |$ R6 J; L: F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 j5 ?5 o7 \1 z8 Y* FloggerBufP.bufType = LoggerBuf.BufType_FIXED;% w! {# l2 e% H1 q& j: {5 R
8 ~! t% m0 h9 [ T& V) ?var appLogger = LoggerBuf.create(loggerBufP);
" l/ ^9 a/ n! w8 J& m& {& F2 MappLogger.instance.name = "AppLog_Core1";
) t( r: f( l5 T$ d# r% SDefaults.common$.logger = appLogger;: H4 @1 Z' s. f
Memory.defaultHeapSize = 0x8192;
- I/ U' k/ Q! U# R4 z/ B& S/ }2 D4 HIdle.idleFxns[0] = "&LEDStatus"; Q& s- S0 k4 ]" E0 T# Y p$ q
Cache.initSize.l2Size = Cache.L2Size_32K;2 \7 u" |1 I+ Q8 E. e' `
- Q5 S! j k9 g+ W# u H
|
|