|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 j9 T$ ?" N5 p: @6 |0 C
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- d, x/ i" P6 `
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) V. ~7 G# H+ x! U2 C& ?# O/ T3 h& t2 Q7 V m4 g$ H
是不是需要在DSP.CFG中进行配置* m8 t3 u/ @1 R3 V. y" N: J
我现在的配置为
) n! f* \* T. E, [/ i C3 o* c! h9 S4 Y- Y" `( `- P8 n
/*$ }! S2 }' B6 J* D* ?1 a
* ======== Operating System Configuration ========- R9 ]" m% c& N( }0 B6 X
*/; C& ?4 J. X) A, N4 ~" ?
, u6 H( i6 Z/ s0 R* v' O
/* no rts heap */
# N2 B) z: b$ t7 }9 EProgram.heap = 0;) {0 w3 X- v" w5 Q* {
Program.argSize = 100; /* minimum size */
4 {, U5 y, ]. o. d3 o0 A" GProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
9 Q& X2 u2 [- J# r" C: g3 H& t7 r5 ~8 i3 o
/* create a default heap */
( L/ o! p- y" ^6 r; }+ l& xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: `: K% L9 e& @4 p& I$ J
var heapMemParams = new HeapMem.Params();
$ K* Z! p0 A) P! i, P" Q: J$ LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% x4 G5 E* D* _* J: I# H3 ]0 Q2 q( o- V+ V
var Memory = xdc.useModule('xdc.runtime.Memory');
$ V/ ~+ s8 f( N( \: Q% o# mMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 A1 B! T% |$ w4 g( Z
5 a% q' l& L: T/* configure System module */: k; T6 W. I& Y( F+ P& i* z
var SysMin = xdc.useModule('xdc.runtime.SysMin');' |, o0 }8 W$ |$ y6 G2 O& C
SysMin.bufSize = 0x1000;, _: j$ z' t7 t3 `* a% l3 }; H
SysMin.flushAtExit = false;5 t, j' ?0 F0 W
& Z* H5 d |1 gvar System = xdc.useModule('xdc.runtime.System');; J6 d$ k8 z& ]$ E
System.SupportProxy = SysMin; z- Q2 }3 m) n9 X; W5 X$ E
, v$ p3 c1 {2 f' P( L! j9 h3 I
/* configure SysBios to use the lower half of Timer 1 */6 x& |! v: ^3 M4 P0 W: u
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( ]9 s9 n: K7 j3 o) @; }
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
) f7 M% ]7 p/ T' @9 |: Z. l+ ?3 jTimer.timerSettings[1].master = true;: n8 m7 ~( i# V6 G# V1 t
Timer.defaultHalf = Timer.Half_LOWER;. J' w8 p3 \' ` T! F, B
Clock.timerId = 1;
8 {) s& |9 o9 B2 H
3 r* Z" R _4 o# s7 ~9 A
( @6 `4 _7 q7 q6 I* G u3 x/*
8 Z; q8 v$ `! Q- I6 r * ======== Miscellaneous Configuration ========
# Y5 Q6 z. y" D# k" ^2 ?9 d4 { */
& h; v- s* W5 }- I- w5 _5 F; ?
7 ]- ?( r/ v) x3 C% h5 n: d/* set default diags mask */
7 S9 E' T. O1 s% hvar Diags = xdc.useModule('xdc.runtime.Diags');
( x% I, c, ^* d6 Gvar Defaults = xdc.useModule('xdc.runtime.Defaults');6 P/ c. o* U6 ]+ l' w0 f; _
0 t) J! ~% [- V
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 n( V% {1 L7 X& B) v
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 o3 O. x$ l6 C/ eDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! Z: W4 b1 ?! V& S; w3 C- `
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% q+ o; R) m' j( a* k7 z0 b7 uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' m( T7 w! K8 c1 s' @; H3 \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 S( x1 [4 ^2 `
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 B" b2 {, {/ s, X) D0 d6 f7 EDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
5 X, X% S' |' n3 uDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; Z, }0 ]. h6 s) W2 @2 K4 \* `
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 M# W7 a8 n* Q' Z1 Z, ]3 r
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# R2 C9 D+ [$ _6 |. L5 Q$ p) Z8 Z8 ]
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ H/ w B! c7 R2 `Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;, J- a+ j- c5 L4 z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 Y; m1 `$ l. y9 m) `
% p7 s. ~% e$ I- p9 u0 ^$ T; O+ P
/* override diags mask for selected modules */" K# y+ C% v9 l% z6 L0 {
xdc.useModule('xdc.runtime.Main');, n% X' o& x1 \- x6 x
Diags.setMaskMeta(7 A1 \" O/ p K0 x( J
"xdc.runtime.Main",4 `( [: T7 S ~5 T/ ` l" I# s
Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 o# ?5 G o" C' R2 u3 v' u Diags.RUNTIME_ON" A! i5 a6 r V5 q9 c w3 a: I
);
+ M" r: O/ N7 |5 L; a. s) P. i* V4 u
3 j" v( b' U" p# s3 J9 c Tvar Registry = xdc.useModule('xdc.runtime.Registry');3 M7 Z* O- e3 T. {/ e& t- G
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& s. Z. O& e# C. R. f0 O1 |1 MRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;; B3 a# R( z$ v* H; o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 Z) \5 d' v J" f' E" ?' Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) h; c3 r" |+ c! }& n
# c! r! n$ f* D$ P$ D/* create a logger instance */
& [( }7 I: B/ Q& D' H' N1 L7 q) avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ d( ~- }# C! U7 p. p3 H
var loggerBufP = new LoggerBuf.Params();
$ z0 ~ V; U% E* |, B1 i- |loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 I% M4 t8 p1 j K3 O s" g; H
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 _" g8 G$ u) b2 k3 R. E( E
' ]- q) d P. \5 P0 ~8 E, Svar appLogger = LoggerBuf.create(loggerBufP);
8 G2 _+ i5 d; z t+ aappLogger.instance.name = "AppLog_Core1";
! l* s6 q/ j$ ]" D. s V4 Z% }Defaults.common$.logger = appLogger;, z1 E; O: U3 l9 C9 E
Memory.defaultHeapSize = 0x8192; $ ^& k, p- U0 E
Idle.idleFxns[0] = "&LEDStatus";
) z9 Q# ]$ \ D% X7 y" b- gCache.initSize.l2Size = Cache.L2Size_32K;' e& e- h. [/ U
; o( P4 J! B; S# T4 i/ Z! e |
|