|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, p8 `) ?$ z; j" h) q6 H我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 j x+ p- _& G$ q4 W G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 S, ~4 w7 m) l% o6 J j3 \
3 [/ Z, q9 u H! L/ B! _% ?" S
是不是需要在DSP.CFG中进行配置7 k8 b9 c, b9 r; I
我现在的配置为
6 a3 r4 C' G! c# n7 g, y7 I1 c* z7 O/ F
/*4 ^9 q' T* T6 e
* ======== Operating System Configuration ========
# j4 u$ P7 x. U, w2 l) ]$ ^+ F! A */( e1 A; n [2 n" r6 s( M# X5 X
8 W; k+ a- Z' H# L/* no rts heap *// P7 U5 q0 P& H# X: ~- s( _
Program.heap = 0;
$ w# ?/ ^* E# U+ O! W, o ?9 yProgram.argSize = 100; /* minimum size */: }3 i o" E4 N! `3 C& _
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ q4 l h2 K# f% F7 m
% K' n* e7 k% R9 `$ q/ J. ^/* create a default heap */! V7 Y0 o! R5 g; E1 g
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 H+ O: I: p6 @- {) b8 X- V- ?
var heapMemParams = new HeapMem.Params();3 V3 A/ b$ a V ?0 X* T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* h" z' d3 Y$ I# R; G( p* c4 \
! S0 L+ i( N; h& p8 Z$ _; p
var Memory = xdc.useModule('xdc.runtime.Memory');) ]/ L! L7 c7 U" Y/ S
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);, Q: R$ N' C B5 S
; ]4 @# U5 l- p' f5 g
/* configure System module */4 J* X6 E$ M8 }% D# \% j
var SysMin = xdc.useModule('xdc.runtime.SysMin');2 G+ b7 Y# G/ b
SysMin.bufSize = 0x1000;* l( Q6 Q+ u- v) d0 s# w
SysMin.flushAtExit = false;9 \+ V5 C0 \1 i1 `$ b1 g" g6 j
2 @+ Y! s3 _; x m
var System = xdc.useModule('xdc.runtime.System');
. ^" J2 w( [( @7 USystem.SupportProxy = SysMin;; H. G4 M3 w h' ^8 N- N; p- P
5 [ }+ D0 | p" Q+ ~0 M) Y
/* configure SysBios to use the lower half of Timer 1 */
/ L9 n* k0 q1 p& U6 J% cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 [" K$ h; m6 y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');4 \6 v7 R6 L4 C( n) l
Timer.timerSettings[1].master = true;2 q* O" v( q6 n/ k1 ~, ?9 h
Timer.defaultHalf = Timer.Half_LOWER;. t: Q+ l0 ^1 H5 b7 k
Clock.timerId = 1;% P" `9 O, u# G+ g1 C, {, f
9 n$ v) w! G0 r6 I* }, e$ P5 Z$ ?" b( _3 s
/*7 _- a- l( x& S5 [
* ======== Miscellaneous Configuration ========1 A$ I- m- B9 L) U1 `0 u% C2 O' U
*/3 `3 v& H. G" C# B' q: q' ?
2 ~, D: U+ s# ^( t5 I$ X8 H
/* set default diags mask */
& T j, B |( ~. c7 [ S6 K" v+ ~& Evar Diags = xdc.useModule('xdc.runtime.Diags');
$ W- R" d( y0 @5 G' C* Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');- E( Q c& i* J% [
2 Q* d! m5 q, b6 n
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 D% v9 H7 d8 i/ nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;1 o1 `. Z3 V" D$ I4 j4 i
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' L- @' E ?1 F+ @' iDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 D( [7 w/ j+ i$ q6 S; x3 Q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only *// ?& y) H! q6 V! ?& h9 M$ e. p
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;( \% b/ Q8 ^9 r
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ O( I* _$ R8 F5 _( \Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& b% H" j% b3 d' r% v8 o
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF; o: E% a- d6 b; }
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 B/ U0 y" O9 u1 ?
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# G# i% y( r' U6 r1 e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- z6 v; ?5 R' P' [0 N
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# E; D+ ~: h' Y, k- y4 cDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% Q: d7 `0 i/ x- Z2 A5 h. Q. n/ F/ X; ^9 V
/* override diags mask for selected modules */* u: }3 t3 L5 t. C, c
xdc.useModule('xdc.runtime.Main');3 e* b H0 u) X) b7 R
Diags.setMaskMeta(
1 b, K6 a- L6 i" Y# e! E# { "xdc.runtime.Main",
- U5 f* O3 R z- P# Q Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 l F+ d+ Z* ~; `$ l+ V Diags.RUNTIME_ON
4 I) ?# G) t4 } X4 {6 A5 k0 O);
$ O8 n6 P4 m+ W/ M+ g: |; _8 u1 F3 J3 @# e1 x) C3 q9 w
var Registry = xdc.useModule('xdc.runtime.Registry');/ K3 e, w/ {7 X [' e$ `+ r
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ U( |$ Q0 |8 @! ?9 i+ n/ o
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
, a/ H/ l$ X7 l+ i5 Q, [5 S, _Registry.common$.diags_INFO = Diags.RUNTIME_OFF;0 _3 s7 @( j9 G! w3 F- n5 X, r2 R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;; j p, X3 q& i1 M
5 w9 {- D U( f0 t, }
/* create a logger instance */- @+ ^5 `- l; j% }3 S4 A% l q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" J( f% |3 B) ~) k# B: Uvar loggerBufP = new LoggerBuf.Params();
& z1 W' ~( E0 f& {2 B- B: A# sloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: C/ s1 ]! j ^- `
loggerBufP.bufType = LoggerBuf.BufType_FIXED;: F# K: O7 k% e, [& U Q! q
5 C/ D: H& Q1 z1 s
var appLogger = LoggerBuf.create(loggerBufP);
/ m0 N( ~1 C- WappLogger.instance.name = "AppLog_Core1";( F6 U: _, M) W- Q5 v% F! K
Defaults.common$.logger = appLogger;
2 N' l, L! O- U. QMemory.defaultHeapSize = 0x8192;
+ q+ ?1 c! N( j) T* O( LIdle.idleFxns[0] = "&LEDStatus";2 n# H9 R6 C2 X6 z( ^
Cache.initSize.l2Size = Cache.L2Size_32K;6 z- T7 U1 [& C0 n& r
1 X; c. g( c6 n9 E( _
|
|