|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& t/ E# ~0 ~8 M {6 e我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& V l& W& z$ y+ H o( z- o
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ N, g2 v+ y6 u$ `1 f
% b: e# E$ d2 P- U' ?" t v是不是需要在DSP.CFG中进行配置: {: b+ B8 r I0 v+ A$ u# N7 Y
我现在的配置为- R* H6 k2 N; \1 x5 l8 q
4 |9 l+ [' ~$ K7 Y7 t1 h/*% W6 }+ M, a1 M) m4 @: t' t# h9 d
* ======== Operating System Configuration ========
+ q4 E2 Z; ~7 w. F4 f3 y */ X- p( M& b& u1 @
2 E! E+ S) N( f5 f, J. N, m- D/ T1 f/* no rts heap */
l4 A$ Y9 Q, H- V6 A% L! HProgram.heap = 0;
" C! Y7 l, M) J% N& C/ vProgram.argSize = 100; /* minimum size */! c( z- e) z! |8 j# e8 {, W m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: O% N7 E8 \$ |* C
7 R- ~9 o' O) n1 d# B# u3 E( X/* create a default heap */, {; r4 X! F" ~. n7 b) Q
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); Y/ s4 w2 h1 X3 N
var heapMemParams = new HeapMem.Params();
9 f+ K/ m9 Z8 Q0 V( ~7 T3 V+ K( fheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# s* e- b0 i! A3 a' y
4 A# B2 q" o j- Jvar Memory = xdc.useModule('xdc.runtime.Memory');
8 u- G# Q+ G6 cMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 e4 k/ k- L" c0 K
& t1 c2 Z I6 ~& x+ @/* configure System module */# @3 e9 d4 l& E6 Z; H- ]
var SysMin = xdc.useModule('xdc.runtime.SysMin');5 A) @/ J, r `4 E
SysMin.bufSize = 0x1000;2 j1 O3 }$ M7 a* ]
SysMin.flushAtExit = false;" ?' j' G( f" D4 n7 x- }2 g* {, ]. h
9 F) Y1 ~1 L( v; x
var System = xdc.useModule('xdc.runtime.System');
, g" G% s! d A5 t( QSystem.SupportProxy = SysMin;
2 m) f6 r) Q# H ?9 R7 M& u7 y( P* v1 w7 K
/* configure SysBios to use the lower half of Timer 1 */1 o R: s+ H- c' T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% Z, o! J- h7 x' S7 y/ s
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, l( v9 W, g6 N. ETimer.timerSettings[1].master = true;
4 j" O. v! f& |* K$ s- x0 @Timer.defaultHalf = Timer.Half_LOWER;
; G9 I( o" U2 c {: g' W& PClock.timerId = 1;7 f% ^* d$ S2 V. t( D) M) l
1 V0 U8 x6 `6 b) f2 A! _
- m! L. v' G9 S4 e/*, [: F3 S' E* _1 w1 D) V) U! B
* ======== Miscellaneous Configuration ========
' {# Z& T* v$ O! j. C% ~' m* N */
% o- g2 O- x) N7 O" z
& I3 j; }! y* t1 J/* set default diags mask */
& E7 m5 z0 z& u8 ovar Diags = xdc.useModule('xdc.runtime.Diags');! b3 m& N9 _% {
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 B7 e: w) P) u2 M. ?% J
' `/ m2 c4 u6 Q( z0 KDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 r- ~9 [3 Y' B1 f& k0 i: G, H: `Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; K+ r! `, V0 M: LDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' w3 P' D$ l. L# h. BDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ d6 d5 N* n, U, S9 p( yDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; v0 `& A8 `$ c( L% ]Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 z, V0 y# V' M( z3 U7 \Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- D- [% {) W2 Z( Q; `
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- L& B$ J0 f0 P+ |
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! a4 I8 `1 J2 G8 M" wDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# j1 f/ G. N7 aDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' i, f" _* m1 |8 v% h& V
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" i" B& W4 }* G! G- u
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; R3 S5 g& _3 O. d# Z2 _Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
# d4 W% E( x' j8 w/ x2 v( c" X1 p- ^" w1 S
/* override diags mask for selected modules */
1 F! r9 ^2 t' Dxdc.useModule('xdc.runtime.Main');1 v4 c, U3 v/ O" A; q4 m5 d5 Y
Diags.setMaskMeta() |: L$ n$ w0 \' G" U, G! Q6 }. T
"xdc.runtime.Main",8 Y$ B& C6 t* c1 O: Z6 e8 a, i
Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 q. H" H3 P' ~3 z( W2 Z Diags.RUNTIME_ON
$ s9 \" O7 i/ i0 `( F9 q0 o);
" d6 O/ t- H# m$ R$ h4 v. g2 m: k, \$ M2 `& k
var Registry = xdc.useModule('xdc.runtime.Registry');
. u. I2 R. o5 y- @Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 k1 r1 h2 |% ^, yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; U2 s, U h) j/ DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. |. B) ]9 J' D' R+ j
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;/ p2 {7 s5 C1 S* b: v( L
9 d8 a% @5 l4 t/* create a logger instance */
9 ]6 q7 [6 R- S! V. f* A/ P cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 Y7 b3 F6 G8 K" W9 r3 ]$ Vvar loggerBufP = new LoggerBuf.Params();
& T: H5 Z& L9 F# l/ t* P5 G$ rloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
T. `+ m' d! ]/ m6 s( E; ~loggerBufP.bufType = LoggerBuf.BufType_FIXED;' P( ^: P5 N) y3 s/ d5 D3 g" ]
( ^- ^* y4 a0 P5 A- t- W4 s% Ovar appLogger = LoggerBuf.create(loggerBufP);
+ p$ R6 \/ Z iappLogger.instance.name = "AppLog_Core1";
; p' f4 b: O2 i' C' @2 v* ^6 IDefaults.common$.logger = appLogger;& t. @! u0 d- {+ C5 ~4 r4 S4 X
Memory.defaultHeapSize = 0x8192; " U5 C* H( n; f3 A6 s7 ~9 L0 i
Idle.idleFxns[0] = "&LEDStatus";. H( q. Q1 _$ ^8 m7 ~, i
Cache.initSize.l2Size = Cache.L2Size_32K;9 y; ]; K% B7 u) c
* r2 E# m* V0 ` Z; | |
|