|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 A' k* S2 M& [% |% q X) N1 O
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 q& W6 d, \2 i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 [6 I f- W6 f& W
: o q& R( y5 a) U, [是不是需要在DSP.CFG中进行配置9 l# C/ z) ?+ L5 n4 J& A
我现在的配置为
; u, R& {' J" t) ]. K3 ]/ ?
1 X6 z) ?8 i! Y% l5 f6 e/*
( Z; b# t7 w; \, R0 O6 K: Y; Z * ======== Operating System Configuration ========
) T* }) B1 d5 C */; x3 @1 U* G, g6 F9 ~& O
6 ?! Y; _, Q6 V8 h* L/* no rts heap */9 p2 M+ I$ m" p S5 b* b
Program.heap = 0;
2 y, ~2 e: V/ o! r3 Z5 l9 t1 _Program.argSize = 100; /* minimum size */. J; H, I) d+ {9 a( q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, i5 W/ `; o) f `* [
% }! a( z% z# e" C# [0 b
/* create a default heap */
* ]5 \/ J) F) w: V' \7 l4 d Vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" `0 R" f* V0 jvar heapMemParams = new HeapMem.Params();
; Y/ I: R* l! g5 ?heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: R* S. v3 e/ y% ]$ h+ T& V `# ~! I8 S5 [: U
var Memory = xdc.useModule('xdc.runtime.Memory');
$ T, i" E$ z9 gMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 Z* y- U0 u5 B6 W3 I: @/ w% d: q' p' | W6 d4 T, e
/* configure System module */
8 W9 x) d6 m9 W8 P( r3 Cvar SysMin = xdc.useModule('xdc.runtime.SysMin');6 I/ s6 Y6 F8 L! f9 ]9 D
SysMin.bufSize = 0x1000;
5 w( a& e! }& @$ gSysMin.flushAtExit = false;
3 v( ~! _3 B/ u; G9 m4 | ~' ^' u; H6 @
var System = xdc.useModule('xdc.runtime.System');
( K; L+ a+ s# G3 BSystem.SupportProxy = SysMin;
( j+ ^7 y4 ^ F. q! d
8 Z' T7 v9 q$ F5 r/* configure SysBios to use the lower half of Timer 1 */9 W8 \7 X- v; m/ q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ S1 t5 z5 H: _3 O! q' F
var Clock = xdc.useModule('ti.sysbios.knl.Clock');! b3 i: m, Z: \* W) u
Timer.timerSettings[1].master = true;/ w9 B( L' s+ Q V- J0 v8 P' H
Timer.defaultHalf = Timer.Half_LOWER;8 o6 m k* m. q0 ]" U
Clock.timerId = 1;
" k J: u/ N; J$ q
6 Z8 s% D) s( N8 ]. b
7 p3 @' ]" I. m t3 X8 I) C4 d/*' R9 e1 V/ ~6 |# k4 ^9 d
* ======== Miscellaneous Configuration ========: J5 ~$ q0 E" u, D t
*/* v8 s8 T, v) n* G% `: v8 A3 y/ p
+ L" j# P6 t# d8 ~9 _* S/* set default diags mask */2 ~& d+ T1 c3 H# R( j
var Diags = xdc.useModule('xdc.runtime.Diags');: g2 l* i8 S9 k% V2 C; d9 `2 M
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 |. `" d4 o6 n8 F4 X# f0 d/ n( ~+ y3 u O& w; l
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 p* I* c. N+ ]; x( x9 e! M2 [9 p8 wDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 ?- c5 _3 |) [
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ r; D4 _/ r# c7 t8 c
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% z i4 k4 ^' s: o) A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ R# O8 L2 d& b a" q- J4 {( G
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" y1 P* y8 Y/ M- @ @) hDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF; b: t. O9 i$ [
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 k8 a* ?8 _+ U9 M- E0 Y5 x( r5 oDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! N! w' r% F4 z- @+ I7 f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( G3 v' X1 j% x% Y0 A2 H
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ n3 ?3 M. R% h+ Y& _Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
u) D. p, ^) h3 |( v/ KDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 K! m4 h. d4 I. i6 l" ?; ]2 u$ EDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ J! e9 T, ^$ w
- V" Z% R, n' n8 h, f& E: s8 D/* override diags mask for selected modules */; U- S# p% m' h# D( j0 ~
xdc.useModule('xdc.runtime.Main');
8 s# V1 \' m# O- W3 V: NDiags.setMaskMeta(
: k# g8 a7 l# @ "xdc.runtime.Main",+ b* t j3 E B: V2 j. F# m
Diags.ENTRY | Diags.EXIT | Diags.INFO,( O& Y+ W0 J4 _: S5 V8 m, k! c
Diags.RUNTIME_ON
8 r" ~, b* o6 f6 N2 _);
& M/ `2 ]) J9 B) l' T* N/ G$ z0 V6 Z5 P' A( y/ |( X9 `: E+ X
var Registry = xdc.useModule('xdc.runtime.Registry');
- T+ Q& p+ E+ m8 V3 A( yRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! E" S; T# K+ U
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 t X1 Y v! q! X0 _! g1 H
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 |3 u, L( g9 v3 F
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( z( I# T0 ^, R* f) _( z0 n
' [5 Q" E5 P+ r. H# J- l/* create a logger instance */
5 S% ~5 |% [- G2 Ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; t5 P+ p6 _- G5 I. C. T7 Fvar loggerBufP = new LoggerBuf.Params();
% ^$ }1 \% ^+ EloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 C: M( T% k, z. ~4 d OloggerBufP.bufType = LoggerBuf.BufType_FIXED;( Z t& V) P: Z1 L; V* ~9 K6 P
7 j9 c/ f- f& p% |( V% Svar appLogger = LoggerBuf.create(loggerBufP);
2 y) B, C! H+ h; h( l% ?# F0 VappLogger.instance.name = "AppLog_Core1";5 A m# z* J$ R' \
Defaults.common$.logger = appLogger;6 Y4 ?7 D0 U9 _) q- B$ T# n; ]
Memory.defaultHeapSize = 0x8192;
" s x2 n8 H$ J+ a9 k$ L2 nIdle.idleFxns[0] = "&LEDStatus";
5 x X+ J% [- p1 jCache.initSize.l2Size = Cache.L2Size_32K;( y9 r) O" ^. O8 m1 z- P1 {; ^2 O
# l4 J8 d( _0 }6 a: i0 Z& ~, l
|
|