|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 U J6 L }" m1 w7 M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 |8 s( {5 @2 O# f2 v(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! t0 }9 t, z- A9 l$ l9 o7 t
' R* ^! x2 b9 U
是不是需要在DSP.CFG中进行配置
( ]# x$ ~2 _3 u1 l, i/ l我现在的配置为8 t+ e* L7 t8 i, I* `# g2 u% x$ z
4 ?; e. v0 I. K9 d0 q! T
/*
% F9 g. e8 a- u6 }% x * ======== Operating System Configuration ========* _$ |( Z' [, `4 G3 ^$ V7 ?+ N; h! l
*/
/ n/ @( v9 G3 o# u
1 H3 M" u. O7 P' p9 d/* no rts heap */( o: b" j6 I2 E1 J
Program.heap = 0;
5 Q4 j& U- y0 t% h; fProgram.argSize = 100; /* minimum size */( b' B" F# v1 ?
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' H% t8 t7 m$ ~5 Q* ]$ Y* U0 N. L: g9 E# M3 L4 e' i9 u. [
/* create a default heap */ X2 [" o& J% X3 [. }
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');" B& E9 d) s! i" ^- e. |
var heapMemParams = new HeapMem.Params();1 T8 |4 i. u2 K, _& P8 d9 T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* y4 {1 ]: @4 B6 k
5 C [/ r! N8 S* }var Memory = xdc.useModule('xdc.runtime.Memory');" b! d I' t1 m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
, J0 j4 W, E8 {
5 u/ X3 [1 T" h Q ^: T/* configure System module */4 `' w8 H, Q5 w
var SysMin = xdc.useModule('xdc.runtime.SysMin');
q$ z7 d! P5 ~! N3 e4 ]+ xSysMin.bufSize = 0x1000;9 D+ ^& n( Z& v: r
SysMin.flushAtExit = false;
) n( N( {2 }. ~4 O
. P' l7 n. u" M( lvar System = xdc.useModule('xdc.runtime.System');
& k3 V, G/ A/ l8 n' [5 bSystem.SupportProxy = SysMin;
# ]2 y4 t# Q1 q# K! q, f
, v* ?+ Q7 J9 S" c, T( I/* configure SysBios to use the lower half of Timer 1 */- a# V" D$ s) P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. [. I: ^, s# X% X, F
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' V$ Y- @; ~" M& O D; A' t9 H
Timer.timerSettings[1].master = true;
& b% K) e1 O- ?% j; G3 fTimer.defaultHalf = Timer.Half_LOWER;6 ~9 S- \$ f" b) m
Clock.timerId = 1;
, G7 g4 S5 J5 P! B/ m, P8 V n7 t1 f4 `6 I3 b3 i2 P" j& P/ m
+ y: T2 }* E- e- E* s
/*
/ L6 M' `- E u3 p * ======== Miscellaneous Configuration ========. E; R/ s" i1 U- Y
*/
9 K0 h$ j9 Q7 v. c/ \' R
/ T! d2 J n) V5 _/* set default diags mask */
6 k% U/ E0 _4 S3 G" k- svar Diags = xdc.useModule('xdc.runtime.Diags');
5 B' _( I3 Y1 c* [var Defaults = xdc.useModule('xdc.runtime.Defaults');* N1 }2 O9 {) U5 \
+ e" D9 U6 Z! \4 M" HDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* T* `9 `$ C6 ]# ^5 dDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. U" ~* n4 b1 {$ _$ {, m _Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% \" t1 Q3 c% I6 f; b1 @Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" Z4 T- k* d8 p4 A$ Y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 s. ~8 M! d8 [% ^
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 _( i$ d' b9 c5 fDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 J9 T1 A- a7 u6 Z/ F, W" F5 KDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 z% y& ^* O/ b) NDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 h/ n% c* b u, z# i* _$ k
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 i! `7 i: D- N2 U
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
N. h+ q7 s+ b+ qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ e# O7 c2 u# ?, W$ T1 T+ x, @
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 _' o0 J3 d2 ^2 ~- KDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 {$ W0 r1 A" Y- s6 D% q
2 Y& D& I: _4 A% ~3 P y/* override diags mask for selected modules */
7 j: p' r* `9 s) w) r0 `7 }3 a2 Rxdc.useModule('xdc.runtime.Main');
6 z: ~ }/ M6 x& YDiags.setMaskMeta($ o/ q% e' S' Y5 B3 Y" a( z
"xdc.runtime.Main",) S% |8 T$ S: x4 O1 g' ]
Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 t( x* y, J. o; N' e% \' A% r$ I( y Diags.RUNTIME_ON
2 x7 e4 a. p5 V+ k);4 ?+ `* v! ~5 l( ]. j% W! j
1 Z X5 U& r; Y. J
var Registry = xdc.useModule('xdc.runtime.Registry');
0 M* D+ t- R$ p# i7 lRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 |1 F9 g I- W. B; r0 I' w. D8 l
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ m) r; F& z# C8 V# J& ]Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
; O1 i! f- i8 }$ Y: NRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 H% H# R0 `4 R8 }9 J
`5 O) J* P+ h- M/ ]7 e7 V' |2 O/* create a logger instance */. V& r! `- y# q1 a3 J! k: y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 T2 n8 O% ?. Bvar loggerBufP = new LoggerBuf.Params();
8 U0 M* R% x, @3 O# Y' F5 y- EloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; y; e {# J* M; kloggerBufP.bufType = LoggerBuf.BufType_FIXED;; t8 I; W0 E/ V: A5 D" h
7 M5 [! \& j) I6 X# x; k
var appLogger = LoggerBuf.create(loggerBufP);
6 T# R/ Z7 E* V+ d g/ f3 AappLogger.instance.name = "AppLog_Core1";
1 V7 r( K+ g: s9 tDefaults.common$.logger = appLogger;& F4 B+ V9 t C! X: m3 X
Memory.defaultHeapSize = 0x8192; 5 X7 @( C( |) A, C0 |+ `
Idle.idleFxns[0] = "&LEDStatus";% A3 j; T6 Z% M3 G+ ~/ e5 s* y* b* ]6 ^
Cache.initSize.l2Size = Cache.L2Size_32K;
/ L) _; }. v9 s' _
5 s$ H! k2 |4 K. h |
|