|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 f9 e1 B3 h m+ ^/ q( G( T) V
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( W1 Q: x) ^8 ^8 k+ K8 R/ p! w6 H8 H
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# e5 \" j6 }/ k4 m+ m$ k; c; S2 v1 F6 I# N6 ]$ k) f. O
是不是需要在DSP.CFG中进行配置
" Z8 P1 G W/ P) h+ R7 |我现在的配置为' S) Z; U5 l1 `+ _' k/ z$ G
* o8 [; n- P$ l$ s
/*) d5 e+ F6 T% G
* ======== Operating System Configuration ========
2 B/ ~5 e n* y *// r+ c6 I; h1 i) n% v
3 g4 v. z: z1 s$ ]8 j/* no rts heap */ R5 D3 z- Z9 h
Program.heap = 0;: ]9 W' b J# T1 c
Program.argSize = 100; /* minimum size */3 p0 S( c) t( d2 B+ l
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 M8 p N$ p: j% S! M
. m9 M ?. t( d1 ]4 p+ C4 j6 F/* create a default heap */
) a# H `0 z2 ` ~' L0 |! l V- gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& ~7 G1 m6 W4 m- ]
var heapMemParams = new HeapMem.Params();
+ S( [/ U: |4 a' I. D/ g$ UheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 l7 D$ Q3 @. N8 ?
$ R$ U) p4 u* F( ?" Z9 C
var Memory = xdc.useModule('xdc.runtime.Memory');! T: b% l- V, T2 z6 a2 Q! K% I
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 v6 ]- ~& R6 k: j* F# R3 X0 [$ k% j0 R9 s1 y* f
/* configure System module */5 G, ^, R- k" {5 s6 N7 Y
var SysMin = xdc.useModule('xdc.runtime.SysMin'); v; g; M; O+ P% L( F8 Z
SysMin.bufSize = 0x1000;8 k4 ^# c8 a. h" {% H
SysMin.flushAtExit = false;) ~7 w! Q# @ G7 W4 s
$ H1 H# k5 j# n( e$ ~1 E/ p& Avar System = xdc.useModule('xdc.runtime.System');3 Q) j' G& E4 m1 T, {# F/ t
System.SupportProxy = SysMin;
( J" y! Y% a8 L6 h6 R7 ~( K: u M, |. T7 L- c% P6 l. g
/* configure SysBios to use the lower half of Timer 1 */+ I" o. s5 [$ U* @9 K1 Z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! l4 n r0 J+ m6 h2 l& [* V5 ] x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ X+ e6 g( G9 }# ^Timer.timerSettings[1].master = true;
) p2 k v J4 G4 rTimer.defaultHalf = Timer.Half_LOWER;4 n8 s6 Z& G, J% }( N5 Y- n* L7 [
Clock.timerId = 1;
# D& O# l8 ~& w
4 x9 z6 d# c' q9 U( ]4 K
( B1 Z2 y7 @& Q ~ k; \/*8 V; T' O1 }- }& C% K8 i
* ======== Miscellaneous Configuration ========. U8 G3 Y" d' x. W# x5 @ j
*/
1 {# s) M& Q& V! ]) C" z2 ^( N) Y- S6 Y
/* set default diags mask */
: J+ q! r! |( J! O9 uvar Diags = xdc.useModule('xdc.runtime.Diags');
2 j7 R9 `- a* r4 p. t: x2 H3 cvar Defaults = xdc.useModule('xdc.runtime.Defaults');
. D# q4 x, \9 {. J. i, j# F7 V1 u0 L8 ]
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 v% _% ~; A2 }& r
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- f3 ^1 N9 }) l( r4 K# wDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 f5 @# a# ?, ?( n$ H+ ]8 EDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */- a) Q7 y: t+ l" R1 y% z, I8 I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% g9 k: a6 V, y9 v2 O$ ?4 P
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 D0 f8 R4 L/ ^0 t9 ^Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 s& y! ?" y2 o- L; Y; e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- I( G. N! f8 z0 r5 J+ f0 P; WDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& M3 u5 ^7 y6 Q' W1 DDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# H3 O/ C/ \: T) }3 Y5 vDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. ^" B& ?7 V9 J1 x Y; B3 a
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ r8 c# m! H' t7 `+ v6 @$ F
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;# ?" x. v7 F q% K) E6 G+ K6 [4 }# d
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 K. V" t3 [+ t# o8 N
0 d3 l0 M2 a5 W. U+ J% F& L, \# \/* override diags mask for selected modules */
% p( x5 L% ?0 L5 [. [( pxdc.useModule('xdc.runtime.Main');( _, b. B R8 \
Diags.setMaskMeta(
7 x/ U# e* h, ?( \9 ? "xdc.runtime.Main",* E# t/ z7 [# | ~; r4 ^5 b
Diags.ENTRY | Diags.EXIT | Diags.INFO,; b7 o3 J' }5 M" c8 h- X2 q) I
Diags.RUNTIME_ON+ L) e# a0 u& N) O5 T6 y+ K
);6 s' Q1 M" ?# |- J2 B: ]" U0 J7 |
2 N1 J% [" p8 N" U G
var Registry = xdc.useModule('xdc.runtime.Registry');
8 Z; D% _! k# U: zRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 S% v$ V: o7 v% n9 [0 z3 D" `
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# y/ z8 @. y |/ z2 o( sRegistry.common$.diags_INFO = Diags.RUNTIME_OFF; n0 r2 B" [" @6 H. [" H
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" q- g% w9 L$ X7 H, {( o! r
5 }2 _' i5 }, p/* create a logger instance */
2 i3 \& f2 L4 F- X5 {var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* |. ^2 _8 ~; N# N1 Y% l! }% R! [
var loggerBufP = new LoggerBuf.Params();
; }2 N/ o7 s* S6 s" ]loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; t! }8 u) x& ^+ w. Y, ^loggerBufP.bufType = LoggerBuf.BufType_FIXED;
: |/ t: t V* m7 h b! q! k8 I. J+ M$ g$ H. N, a
var appLogger = LoggerBuf.create(loggerBufP);
/ J8 S6 A- ?. v' WappLogger.instance.name = "AppLog_Core1";, ]6 \4 J* f# ~$ T' h
Defaults.common$.logger = appLogger;
( f8 P- l9 R1 `. x& HMemory.defaultHeapSize = 0x8192; , @& e4 b5 X" e& }3 z8 Q) R
Idle.idleFxns[0] = "&LEDStatus";/ J7 b- Z1 w& a" k" M! a1 Q
Cache.initSize.l2Size = Cache.L2Size_32K;1 S3 }! ?* Y; D1 w3 z8 y* G
. _. V" y; w. k% W. x$ j; I9 m/ x |
|