|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 U: o7 X- f1 \. j1 g我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# } h1 I6 R( {" C0 ~5 M(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 O1 W9 D, C% u; Z- \% S( i
* h, F& E+ ~8 B9 {
是不是需要在DSP.CFG中进行配置
2 _1 B& t* G0 l' ^8 E8 v我现在的配置为0 U% u. c! y2 m7 u
1 Y/ x4 v& n5 W9 c/*
, C4 G* N" C! a @( ? * ======== Operating System Configuration ========8 l9 g' S! q3 s# `8 y2 |
*/
* x* j' r0 ?- h) C8 T) g& \8 u5 Z" d1 ]; u( p9 r
/* no rts heap */8 I$ M; ~( e! Q6 _" C1 S# x& Q
Program.heap = 0;
! \% I" ?( V! a. `( aProgram.argSize = 100; /* minimum size */7 o7 `/ @0 s, A9 @6 ^' m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 V$ U @1 m2 r" C6 z
. q9 {- ]1 D8 Q- B9 q- ^/* create a default heap */
6 J# Q6 T& U& \, V9 Ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 n3 o/ S4 }& }var heapMemParams = new HeapMem.Params();
! y: g1 A" s `- _/ k& r6 G. UheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ a/ O: R/ L# F% {& U: m. n8 t3 s6 _; c3 W6 |- s
var Memory = xdc.useModule('xdc.runtime.Memory');
F3 a; r. S* Y6 e+ [* C( _Memory.defaultHeapInstance = HeapMem.create(heapMemParams);9 t0 t- A8 H( c( r
' M: h6 d7 e8 M" w/* configure System module */
Y: q% t a/ ^. d* hvar SysMin = xdc.useModule('xdc.runtime.SysMin');5 f2 n, g& t8 F' G4 ]
SysMin.bufSize = 0x1000;2 N7 X8 n: }" i# W$ }; C `
SysMin.flushAtExit = false; m! k4 m4 Q, F
( j8 C) {8 A1 r* M' M: `var System = xdc.useModule('xdc.runtime.System');
, B) N& W) Q0 J- }System.SupportProxy = SysMin;
$ J/ o. ^" x2 Y; z: O/ d! M" m: |/ w( |2 b3 d' O8 Z2 D4 a
/* configure SysBios to use the lower half of Timer 1 */1 D$ ]6 i2 U6 c
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');7 d+ X6 D3 F3 F5 q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');4 c R8 l' {1 {$ N& a
Timer.timerSettings[1].master = true;3 [* [8 q9 _* J$ F4 Y; M! N8 S
Timer.defaultHalf = Timer.Half_LOWER;
, |7 Q3 ]# H0 hClock.timerId = 1;" c" C* N# _8 i8 _
& ?2 ]' k; ? x
5 p8 a( K n0 e9 C8 C" l7 ?/*
! z1 l) ^9 i+ X: ` * ======== Miscellaneous Configuration ========5 N% _3 d8 s+ @/ a4 B1 L
*/6 |( s5 v" l' E' f* n0 V
! M z! q. X0 N( C% o/* set default diags mask */, T! Z' V. o+ ~0 V3 v; t) L0 o# P
var Diags = xdc.useModule('xdc.runtime.Diags');
. I( I' z! g- m/ \var Defaults = xdc.useModule('xdc.runtime.Defaults');$ v( \( o+ G7 M& H) r1 B
* Y8 d7 i. ?1 T2 N) f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% O. U/ p) s# O. i# Q+ T! ~: CDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, q6 l! W& N$ e5 bDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 G, s6 s8 F2 p: d, U1 J' x! }
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% I k* z' X6 t" Q! m
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: r7 c" d5 l- d! m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 }8 q; P \' J# ]# H- O3 {" C2 p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( U/ Y$ S+ y. k, n5 E# K
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( I2 W/ E* q. t' ]- t4 s% n/ _# e- k
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
]* `1 ?9 O3 ODefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 C& q1 @6 R! Y2 V1 A2 K# Z% HDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 H. x. y+ r4 B9 y, zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 ]& o! C. Z9 M! t' q. ^$ W' gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 J! W& @1 r6 L9 {0 R7 hDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 T( {& g: v# G2 i# R
6 q9 W+ d& D7 R' H- X; U/* override diags mask for selected modules */
8 V7 L3 p5 G& _, y2 J l+ l; uxdc.useModule('xdc.runtime.Main');2 u/ g# P2 G+ `+ C; X$ i" s) [6 `: ^1 v
Diags.setMaskMeta(5 j8 Z$ ^3 ?0 l: R1 m
"xdc.runtime.Main",
8 J) f( Y* W; I: R4 E4 ~2 x9 }. R8 v Diags.ENTRY | Diags.EXIT | Diags.INFO,
: E( d+ i' V! J* | Diags.RUNTIME_ON5 B8 `7 R6 D$ n
);
) `0 I9 {6 T5 n2 N1 ^
. L9 I' w' Y5 v0 yvar Registry = xdc.useModule('xdc.runtime.Registry');+ R7 b* `$ \( m: N2 \! h. y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' C" u( {8 j8 B6 }7 ^& u" e( x3 v
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;- x& ~4 K$ Z9 n
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# E J4 x% _0 E9 ERegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* I. F3 O1 r: ?7 T2 @3 H+ e2 V6 d7 V/ H0 M) A: V& g& D+ Q! S
/* create a logger instance */
3 G1 H' m) b& j4 P5 u, wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( l: l( r+ k/ w4 {" L2 v" j# p. ?
var loggerBufP = new LoggerBuf.Params();
/ U. ?& s0 s; H8 H0 h0 c* V. J4 nloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. ]8 [% g ^. y& g& ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
; A5 }$ V/ n, t- @- {7 `
8 Y3 v' p( g5 _# L$ _var appLogger = LoggerBuf.create(loggerBufP);- g' s$ {+ ~3 \$ Z1 ?; z9 Z4 {4 `
appLogger.instance.name = "AppLog_Core1";' }; H% L0 p6 O8 E% s
Defaults.common$.logger = appLogger;8 v6 M9 J. @" b+ [$ q' C4 o
Memory.defaultHeapSize = 0x8192;
: I, f, l; {) C& b* \* HIdle.idleFxns[0] = "&LEDStatus";8 _' y& l5 P4 y( W% u
Cache.initSize.l2Size = Cache.L2Size_32K;7 {8 H1 U( y" S0 D) |
" z2 z* V7 G6 j, P |
|