|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) z/ \) t. @, y" D6 j/ ?! z
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, w+ K; Y- V% C! w5 x3 k! W& {5 r(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ f9 z2 u% a0 y- }
# v" F, X. j- [' I是不是需要在DSP.CFG中进行配置
8 y/ v# U& O* A- }我现在的配置为
" y' q0 [. _: h" t+ ?
3 l- q6 a/ P8 w: L" s/*) h; j/ w. z6 y( q& X
* ======== Operating System Configuration ========7 i: M* T0 b, s0 c
*/
* f" w' B% W. X7 F8 l L+ w# b2 c: ?6 Q# a) S2 o3 L' O3 c$ w' l
/* no rts heap */
7 x: O% M& W" |& e5 LProgram.heap = 0;1 @, {7 j$ ?2 @
Program.argSize = 100; /* minimum size */
: ?5 s( Q9 J$ O6 W- e) y: TProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 ~& y! O- b9 G) V4 R# l
5 M1 C: U7 x S( H+ e, F/* create a default heap */
3 z3 J! F1 N# I0 ?9 d7 Y3 cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
& u! J/ C. z3 i# U) X9 \5 h! ivar heapMemParams = new HeapMem.Params();
9 c! u0 H+ ]7 F$ [$ oheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, l; i* B! s! @1 Y9 W. L7 m8 k+ |
$ \ T$ o5 w( hvar Memory = xdc.useModule('xdc.runtime.Memory');& j) P( L+ T' i0 |
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& Y4 G" R3 ]( T
* a4 ~) u9 }1 g( O/* configure System module */
. }2 W, z }' hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
' `- K; a7 F6 \0 PSysMin.bufSize = 0x1000;
$ ?1 k6 A1 }5 Y( zSysMin.flushAtExit = false;2 ?- N* L. m9 i
& z; m8 p4 q9 q J) k
var System = xdc.useModule('xdc.runtime.System');
# @0 j! F' H" @; V5 |8 C. O6 ]System.SupportProxy = SysMin;
5 e( ?4 Y! b$ T) F6 C& E3 X7 {6 p8 F& D s4 ]: X9 B0 @
/* configure SysBios to use the lower half of Timer 1 */
( h5 w3 e6 t3 {/ K3 nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& ~, P9 _% H/ `+ Y( G
var Clock = xdc.useModule('ti.sysbios.knl.Clock');# `9 c1 G" W+ `( y
Timer.timerSettings[1].master = true;
, \, Q0 `! K& p( CTimer.defaultHalf = Timer.Half_LOWER;
% L- n" I8 R; J. |( b9 K! p% cClock.timerId = 1;
5 L: |" g( a3 k* |, @7 P# H) Y0 G& P5 T
& M. }9 L5 I1 F! T2 ~* T8 ]- ]/*
0 j+ X* y W% x# F * ======== Miscellaneous Configuration ========
! D8 ~( j/ l* p$ z. o */4 t& M) l6 g0 I
$ B+ L! M. U. W0 }" `9 X& R
/* set default diags mask */
2 o G m2 h; S$ e C' x, v% |+ Rvar Diags = xdc.useModule('xdc.runtime.Diags');
4 |7 W) U' k0 V3 T+ }# S' ~ pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
0 ?* r$ Q' Y# v% N# }& w+ { C* m/ a0 E# h: p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, E4 Q. _8 L5 Q: y* w5 [
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( c7 v' H# v4 L! ^! J. i( o2 h1 `Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ L6 _) ?6 I, T0 E! a+ lDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( h4 w, b6 p; c) K' GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) |/ T d9 i. b5 R
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;# \. T" ]4 Y% D: F) k' V
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( r) c* F, X+ b3 U; Z' H. Q2 VDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
( w; G! z8 v9 h1 BDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 \* T7 w2 u% d+ z* W
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) `4 {2 J/ Z6 n; H) k$ n3 n% \Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
q! Z) C0 V7 mDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ l* w" [2 F; s1 V. i7 SDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;& L( {& F% P9 t# {$ K. x% ~$ s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ |1 r& Q6 Z( y8 Z6 C0 P/ @
7 a& ^" I3 N( P/* override diags mask for selected modules */# Y" r S# T' `' Z3 C* ]- X( I
xdc.useModule('xdc.runtime.Main');1 {5 A6 u& N, s' r
Diags.setMaskMeta(' M) ], O. X; T" H/ K
"xdc.runtime.Main",
% I/ p/ u8 O: i. l Diags.ENTRY | Diags.EXIT | Diags.INFO,
; Z* |9 U- {. {5 i$ u- } Diags.RUNTIME_ON# J" N+ f' ^1 H; j/ K& W& ~
);$ s, G) V8 B& L0 Z( e# {
0 V- W. p/ t/ w* S# I; Z8 z8 r2 V8 e
var Registry = xdc.useModule('xdc.runtime.Registry');
! ] u+ Z9 y- n! b3 K$ iRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 ` D5 ], a' c9 [- s" X- F$ ?
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 B% Y! s- `/ G! T7 u# j" iRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
* M! X3 c; g: V/ yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;( B6 q( p7 z0 F* s9 m. s' Q( m3 ^
6 O( ?7 E# }7 o! t
/* create a logger instance */
2 w7 w! I' K1 d0 ~$ v, Rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' |( r; i" O2 U: r! I
var loggerBufP = new LoggerBuf.Params();
" {7 E M7 `. u4 ~3 ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 U: ]# l9 \: n! `8 N' t
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- {. h+ Z c- y7 }# W
, J4 Z" d. H& \7 D3 F0 s! G/ E/ Jvar appLogger = LoggerBuf.create(loggerBufP);
2 z7 M2 i% O! sappLogger.instance.name = "AppLog_Core1";' N0 c+ c) ~& G+ A
Defaults.common$.logger = appLogger;9 j3 e! f4 x0 l5 b* c4 }/ j
Memory.defaultHeapSize = 0x8192;
( c0 c* A7 O6 C1 wIdle.idleFxns[0] = "&LEDStatus";
0 _' @! ?7 w# z, F; R# T) qCache.initSize.l2Size = Cache.L2Size_32K;5 t( z) Y+ p, k" Y$ o. x
2 E7 D# P Z. o3 n2 X* i/ k! u* j |
|