|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 R% K! @8 l; x: \0 j我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 ]3 G7 h1 \7 p(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# Y0 R: O. s3 c& l1 F+ a
2 h* ]- T) d$ D g0 U! u" E是不是需要在DSP.CFG中进行配置
- Q# e4 ^+ `/ o2 r我现在的配置为' r. _- \) g% s- l, Q( N, j: `9 h6 v
, L% m" u( K4 h. @- H0 y, ^
/*: w- y; Z' m: X
* ======== Operating System Configuration ========7 y6 W) Y; N- k4 A+ M/ E2 ~9 l
*/
4 X* m* n4 {3 B2 G; y/ a# X1 _% E) G: W q& ]- x
/* no rts heap */) w& B! B2 S$ x! H5 B, W. H \( C
Program.heap = 0;3 E$ Q, ^' k2 [, y. g
Program.argSize = 100; /* minimum size */' o5 o) D8 T6 }! |( ^2 W
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 y+ `5 J5 H' E# g+ q- C# q& n, e" K0 |- m4 `
/* create a default heap */ i. }) w! Y5 B5 t. w
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 m3 `" E- O( f' [ i Jvar heapMemParams = new HeapMem.Params();
' _% K, Q, `; K$ C. d; b, YheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 b4 }6 \9 {( t( ]
1 K. W$ N! V. h, C. W
var Memory = xdc.useModule('xdc.runtime.Memory');
2 k* A+ Z1 w0 K+ b8 _# YMemory.defaultHeapInstance = HeapMem.create(heapMemParams);1 n6 b& ]2 Y1 A/ g6 j
& f/ I& R. V5 a) X5 D# ~" g
/* configure System module */( U0 {, B- f4 M8 f, T7 i1 d6 Z
var SysMin = xdc.useModule('xdc.runtime.SysMin');
7 \$ K! O' j v2 o' F: V: Y" TSysMin.bufSize = 0x1000;/ `+ ^- g2 ~; \2 a5 J1 t* p: j! L! l. d
SysMin.flushAtExit = false;& R9 J2 k1 |7 r/ H+ k3 r
+ }, F7 I9 _+ j5 r6 e
var System = xdc.useModule('xdc.runtime.System');
* _! H% x& S, X k R: OSystem.SupportProxy = SysMin;
/ x, p5 d( n# `! `3 S
6 ~0 r6 [& |0 y! p, J3 X Q3 e/* configure SysBios to use the lower half of Timer 1 */& \- d% b- ~. ]
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: W' S/ f( w: T/ G6 V M3 M: C/ L8 H; p
var Clock = xdc.useModule('ti.sysbios.knl.Clock');# z8 K) |- ?3 B* P) ^5 d
Timer.timerSettings[1].master = true;. q5 v% y9 q9 P' q' G& t1 v
Timer.defaultHalf = Timer.Half_LOWER;4 y3 T2 B( V. \: b7 s2 U* g' W* ]1 U
Clock.timerId = 1;
- Y8 s$ v% J) a2 S
5 d% Y5 z) ^% y; ?& p$ j) P6 }- a. G4 K
; K$ O; h2 j- T$ b$ T, Y* v/*
3 w; H$ l, Q# j4 M- h# K * ======== Miscellaneous Configuration ========& b V4 ]# I5 s: e
*/
, W. e# r' T7 ?- R1 W
) M8 h4 x+ L- `( @/* set default diags mask */
) G5 a0 b. I& T( |; ^' tvar Diags = xdc.useModule('xdc.runtime.Diags');
; N1 ^) o% S4 H% R; b# ovar Defaults = xdc.useModule('xdc.runtime.Defaults');
( d# @6 h' d3 s3 b1 x' {$ y* a6 Z" P, v" ^7 f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: j: G2 K6 X8 \; ^: R5 F3 }+ XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- R7 b+ t, M0 M4 G' T' s7 qDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; L" @. @6 l' D. [, d8 W( G* X2 O
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& b- {. P* w& o V- `$ tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 x$ m: m9 i: r& Y7 nDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ H' ~+ x" g) R# m( ~
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 g: x' l5 \. O; B: j; FDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- g" r) L6 R* L: U7 ]6 v
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' Y c' ^3 a! {
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 Q" T# p/ P( _, u- V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 [- p# A8 O- d
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% [/ D% W" E: Z% V* e [# YDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 ]$ c5 R! v0 a7 _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% j- e0 M: m+ k& `& v
4 T( ]8 U$ P7 x; t/* override diags mask for selected modules */
, d' I# G) T2 G0 ~7 ?- Txdc.useModule('xdc.runtime.Main'); t" T- Y3 ?' B! A3 v4 }. E
Diags.setMaskMeta(1 e% g+ M! C" u/ ]# G" a
"xdc.runtime.Main",
/ {% m7 l, h6 G% @8 ^/ C Diags.ENTRY | Diags.EXIT | Diags.INFO,1 e6 T s. ^8 p. j$ J
Diags.RUNTIME_ON2 e2 y+ v/ a. G+ s) x
);
9 L( c7 e+ a, \3 `9 Z" ]4 v4 M. c# H- V8 Q0 b0 ~
var Registry = xdc.useModule('xdc.runtime.Registry');( R; a: H! H' I* }6 u" s
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# [: A' u" Q! K' m% |
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 h) b' b. J5 W) E& b9 P- O# y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 M" Q$ Y2 {( h6 qRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* \: d w; I, B$ [/ y% ^, N; a. m3 @5 ~
) ^ i3 g7 F) U3 {6 I! G8 A0 E/* create a logger instance */9 i( S/ T, c! u5 Y* o: o! ] \
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- P9 V% u! O; P4 v3 H. zvar loggerBufP = new LoggerBuf.Params();, { e# R7 O: |7 w# b
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: g! p4 X% e) I- W) U; @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* v6 G D7 I$ m8 u7 L
/ _& J! ^1 X* ~) rvar appLogger = LoggerBuf.create(loggerBufP);
* G/ ^" O2 A7 U/ B0 Y. c' x1 qappLogger.instance.name = "AppLog_Core1";
+ F' Q& W N" `; X* Y- ?+ @5 LDefaults.common$.logger = appLogger;
) x2 I, V w/ L! E& T% ~Memory.defaultHeapSize = 0x8192; 9 X t# I" o+ g/ ^8 T0 _3 J" f
Idle.idleFxns[0] = "&LEDStatus";
, P- e: V, f* S! n2 TCache.initSize.l2Size = Cache.L2Size_32K;
# Y _9 A$ L. R( |2 B! K
" y; w/ O8 c5 x |
|