|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# `: N/ C* @# a* t5 L, d我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ _, \) l( O8 e q5 u& I/ F4 w(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ F# }! ^+ q2 ^* I" i& ] a Y( F% B N |- d' a
是不是需要在DSP.CFG中进行配置
' i. r8 V+ S7 Z+ ?' K( |3 n我现在的配置为
- V1 V5 H! I \7 D4 @ w) S
) I% ]$ {6 P% B/*
; w) s1 V8 j8 l" l$ g- @6 V * ======== Operating System Configuration ========
9 [3 B: p0 }2 G% X3 r1 o) Z+ b */2 }' z1 }, ^' [, y
4 p* ~8 Y. N' O7 e7 t1 E
/* no rts heap */
4 W. t, i* Y! I! w+ X: I1 }8 x# e2 }Program.heap = 0;
* H5 J. f% k' p. h; K c1 rProgram.argSize = 100; /* minimum size */: N( G- J, [4 m/ \" ]% z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大; @6 H0 k- ?6 \! ]6 b: v, ?6 I
Y5 J' o) X) a' J& L2 L
/* create a default heap */
; p, Y& q! j6 _6 H# e9 Pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); w% ?& [8 n9 O8 [! Y& G
var heapMemParams = new HeapMem.Params();! a, p! Y3 I" y! b2 T; U
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ i! e" M9 x/ F1 M0 m, X4 l: `0 L# e5 i: R5 i
var Memory = xdc.useModule('xdc.runtime.Memory');2 M" m, c T; r9 @- R p2 I
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);+ G2 [1 M- k+ [4 n* N. o" I
6 d1 N8 m8 t! B/* configure System module */" H1 U# M( ?) k( l
var SysMin = xdc.useModule('xdc.runtime.SysMin');
# j& R, K* p7 A0 H! ?6 O. T0 sSysMin.bufSize = 0x1000;: a# V h4 Z& \. {4 F
SysMin.flushAtExit = false;
* L. A# z3 ?! h
& X' ^. r- h) \7 E, {9 v+ n, pvar System = xdc.useModule('xdc.runtime.System');1 N l* w% ?2 f% }0 f1 m6 i( a) r2 @. z
System.SupportProxy = SysMin;
+ v, A: y/ p% N; O6 _& M
5 c: ~& o4 }/ H5 s. s/* configure SysBios to use the lower half of Timer 1 */
6 v# K L: M% m v/ ~var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& t1 L A0 b( F8 J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 E- F$ y$ w% s( w3 T1 w8 `3 eTimer.timerSettings[1].master = true;
8 w3 @! h# _. ]8 G( R: f, e) eTimer.defaultHalf = Timer.Half_LOWER;" E8 j3 l% ?. R+ f
Clock.timerId = 1;; O4 y8 T; I, L/ D" Y
( M' G7 r0 {$ _6 Y: J6 U% a* y& ]
1 h9 t$ x k- |- l( e/*- m" r+ t! Z* c8 J6 G% v6 t. M
* ======== Miscellaneous Configuration ========2 j) m, Q" `0 I/ |2 j
*/
# I- R1 f6 K" O& {( {) K! r' s6 Z V
/* set default diags mask */
, |9 d b2 T$ |! Z4 v9 Fvar Diags = xdc.useModule('xdc.runtime.Diags');
7 s3 R. ?6 [1 O; D- a, qvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 J! `7 K' }, K. [: _1 ?! u: x) t
$ X/ n& G- A4 O! w PDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" `& o+ i8 S& l; w9 D+ F8 ~
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 g) U9 g# |. P) r) l( ]Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;) j$ W6 i i8 m z" b
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 }5 L2 `5 L1 X* JDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ D- p) N9 @8 S; x- G
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) h0 E! `+ ~: cDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ Q3 J* f* k d4 d- @4 A& E. f
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( ` y: j- j& q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" D, M4 q. Y9 v& c
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 r, p' W2 t; `1 }8 |: x/ p
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ R% a0 x) m! D9 I2 Q: L/ w; UDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& h, k9 O" O2 J& D# i. uDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
v' C8 {& }& }' }- ^ jDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 Y' |9 c$ N+ ?0 U* Z
( A6 T" a7 `0 q8 Y& f4 |" r
/* override diags mask for selected modules */. Q# q1 M- J: w' e
xdc.useModule('xdc.runtime.Main');, @8 N6 s1 i# \; _: i
Diags.setMaskMeta(2 I/ v5 [' c9 ?% f; ~2 k1 ]
"xdc.runtime.Main",. q+ P" J4 o% O& t; W$ O( L9 F
Diags.ENTRY | Diags.EXIT | Diags.INFO,+ N8 S0 v2 S: H) ^5 C) j# h& W
Diags.RUNTIME_ON
# u' N+ K6 g9 V8 H" a. w);# x& @4 x, M' C. N D. g( m
& L" A5 n: J( t. O! Y+ s3 p
var Registry = xdc.useModule('xdc.runtime.Registry');
8 r) r! T1 c3 ?. m1 fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" V1 A9 L: n% A- J( ]+ H- WRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& k6 v" V5 L% i/ g+ C) Q URegistry.common$.diags_INFO = Diags.RUNTIME_OFF;( B F. O1 u2 h- N7 Q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# O$ i0 V8 o- N6 j% ^. X: n) a$ d% g6 ?$ z$ F2 z+ k# d0 l7 C
/* create a logger instance */# }' _1 l7 ^6 q8 _
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. \+ i4 x# E x. v9 j5 ^
var loggerBufP = new LoggerBuf.Params();7 J( @+ o1 m3 x& W8 U z' n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 B. j; \) y; S2 u
loggerBufP.bufType = LoggerBuf.BufType_FIXED; i" l0 H! m, g; z' v$ W
0 G8 |) Y/ Q0 n; C* A* c
var appLogger = LoggerBuf.create(loggerBufP);
4 x6 V0 A( g8 O* h, \- j0 \appLogger.instance.name = "AppLog_Core1";
9 K. d9 m/ n# zDefaults.common$.logger = appLogger;
# [# w7 f: Y. i$ PMemory.defaultHeapSize = 0x8192; : j5 y1 s2 n0 c/ J# A
Idle.idleFxns[0] = "&LEDStatus";' y- K" x! Q9 p
Cache.initSize.l2Size = Cache.L2Size_32K;
) B7 x* X9 r: v. q# _/ |5 S) F* f( i3 ?
|
|