|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 Z! m9 {& n' G' f; Z& C% E( v5 O
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 k, c2 B0 N0 M. ?) T$ f2 Z% t7 ]; W
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 ^( |/ P ^# J
2 Y7 ~4 c& o( i1 \; y2 {是不是需要在DSP.CFG中进行配置
# F2 Z! l' O7 w9 d我现在的配置为
! x+ D7 m6 p7 G5 r- m& [% x2 l+ Y) x$ G; P7 n* S
/*
: Y- }% M& \ t X& u6 b( [ * ======== Operating System Configuration ========. w6 e7 x& C' W) ^
*/
, ?+ a: R8 T; g' V# w
% j2 `: p9 e* ]8 Y2 C/* no rts heap */( ]$ i* r9 y7 X* T4 \7 F" Q5 m4 e
Program.heap = 0;8 F5 R/ {/ d \" J. `( g2 [) R: @: s" j' {
Program.argSize = 100; /* minimum size */0 a- g! q7 k+ y' _, H8 j
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- R, f+ m) i0 d6 A: R o8 d K# l3 _
/* create a default heap */
) E3 ~" c/ u6 n3 Rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, ? V& j$ H2 Mvar heapMemParams = new HeapMem.Params();
7 a8 _0 y: K. q6 F- I# g R4 CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- F# L; D: ~( ]/ a
9 n% b' `' G8 ?. x* M
var Memory = xdc.useModule('xdc.runtime.Memory');: B7 R& Q: Z+ @/ c! e2 i
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);9 g0 F* b: T3 H7 E8 t8 f
. o& {) ]% B2 B% d( L$ ]/* configure System module */
, ]( K) U1 _; Y: y6 v6 ?1 [var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 F3 q0 [' T4 b$ o. m$ K7 [SysMin.bufSize = 0x1000;
4 z3 z2 A+ U# wSysMin.flushAtExit = false;, k8 U, a' H1 ^# U) q0 r% D
6 o! e+ {, H& k9 k3 m& v
var System = xdc.useModule('xdc.runtime.System');% p n$ ? c, e8 \5 ^- c
System.SupportProxy = SysMin;& Q, I* i! l4 N& ?$ ?7 `, r
) I+ G. b: |# ?- s/* configure SysBios to use the lower half of Timer 1 */
/ [! s( u* _4 Y! I5 F: _var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; e* x8 b6 h; h; p' z/ _
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ z E/ m2 I; _. V! fTimer.timerSettings[1].master = true;
J/ d Z) |- R+ d9 L0 nTimer.defaultHalf = Timer.Half_LOWER;3 E- e( ?4 j( @9 u1 T a
Clock.timerId = 1;
/ F' q- K% W* U3 @7 o( K- y5 V5 A/ L* m- |! _' K
2 E1 L) K2 a) m7 P/*
* x( O7 [3 L- ^! c0 T9 U * ======== Miscellaneous Configuration ========
; g- Q" a+ J& i \. s */
7 e( ^2 d( B c" a, G0 X& l! O% R A9 A
/* set default diags mask */( M$ Y4 J% t5 { c
var Diags = xdc.useModule('xdc.runtime.Diags');
1 ]. R% x( @( U6 V Z' J+ dvar Defaults = xdc.useModule('xdc.runtime.Defaults');
% r0 i0 L$ W( u9 T) j
7 _ R8 q$ Q: L6 g$ }5 A- ^Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; q. _4 o* r2 O" R& a! C' O2 ~, e2 p" g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" p8 u* \- h' z+ L2 O# o. O
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: K! v" }( T/ Z3 nDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ J, O% \+ t: U, g' ^
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! ? p. F I0 w! y- iDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;" z- R# Z' G9 l) N3 n2 ]4 X
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* t* E! o. M! n) e, x4 {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
) u& A, ~8 @5 [7 N' LDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. ~/ F. E1 G6 V9 i6 ADefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% [0 }4 k! b/ P
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 w7 p8 _" b# j
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& v9 f5 |# d6 v Y$ U' `
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;) R+ I2 c( D7 \1 y4 ~0 z- g. i
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 S' ]6 s! S* a7 c" y" d) R
1 R% U" r/ N) A/* override diags mask for selected modules */0 m) h, j8 b1 V- ?
xdc.useModule('xdc.runtime.Main');% ]- z5 z% I* Q7 e) L
Diags.setMaskMeta(# D3 E! s% X. u" q m; j; h
"xdc.runtime.Main",
) ^2 n3 M9 y3 j! L8 Q Diags.ENTRY | Diags.EXIT | Diags.INFO,3 C+ O0 E. J" g$ @2 K" h& F7 i+ `
Diags.RUNTIME_ON
& ~% F+ v r4 k) b0 r+ R0 ` u);/ |- \5 I) Z$ m' w, F# E
8 z, l" V( i' f1 @var Registry = xdc.useModule('xdc.runtime.Registry');9 l8 K' p8 b! E( O- l# \2 \7 W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ H7 v: X/ P6 ~& p7 ]9 r3 V7 ERegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;2 E6 Q% h) ? [8 V% z% x
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- J- i. f: O( S6 Q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 j% i- H+ o+ u. _: b
, a/ q0 b) E) x0 ?$ g7 z6 v, |" \0 j/* create a logger instance */
. y9 q' m' O8 K* A4 {* Zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% H# _+ a" H3 D1 m9 [) Dvar loggerBufP = new LoggerBuf.Params();2 [" e6 Y7 K7 |/ n& P4 ]* K5 i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" o' \8 M5 E- ` [loggerBufP.bufType = LoggerBuf.BufType_FIXED;" \4 p9 g# `+ A: v5 |' A3 F
' ~( G$ @" s/ U+ l. \
var appLogger = LoggerBuf.create(loggerBufP);4 Z$ n* i% t6 v* g1 c& m
appLogger.instance.name = "AppLog_Core1";
) b. z& ]0 S( S( j& N WDefaults.common$.logger = appLogger;* E8 C% |5 P5 U1 g1 c# M% P& l
Memory.defaultHeapSize = 0x8192;
6 M) O6 s, l+ S7 e9 LIdle.idleFxns[0] = "&LEDStatus";
4 V. i& F2 z( K1 i4 ^3 lCache.initSize.l2Size = Cache.L2Size_32K;
+ W9 A$ I8 b/ K$ f4 J
* }' o, Y1 t- A8 L# r0 o |
|