|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
K9 h4 o+ j0 G' r! n. x5 Y& h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 F: r5 Z% b' L: ^% A(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 N5 b) J$ A8 N1 |8 u( S9 v
; B6 `) w7 G4 d3 B/ b, t- m% k) j
是不是需要在DSP.CFG中进行配置/ U# z2 p2 o5 n& d) @
我现在的配置为& p) M" Z0 i1 s
) s) i, b& ^* ]; L. b
/*% n1 [( l, H" _
* ======== Operating System Configuration ========
- h7 ?+ I/ H5 ^$ d# P+ { */# t2 x7 o& p: C4 R# j& A \
/ E, W. ?% Z* h8 ?8 d$ C8 M/* no rts heap */
; n( J: q/ V6 E0 S2 \2 [Program.heap = 0;) M3 L- A% f( r; G% E
Program.argSize = 100; /* minimum size */
5 G3 x( H: V0 G0 K5 @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& H* ~% K& {/ E1 h' i0 A" y
( E/ @. P5 n! e6 b$ E" _/* create a default heap */
; W! i" J0 c* t, U6 k4 F" h0 dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 U2 W$ T; K5 W- T9 Wvar heapMemParams = new HeapMem.Params();
' v) r# U. `' U; W( uheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; q' T+ W. h8 q5 i. d$ |% f& b4 I9 T( ]
var Memory = xdc.useModule('xdc.runtime.Memory');
2 q( a% C' u# r1 h& uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 d" _0 k( o1 U: F+ }8 E
5 f& g. ?' \% {$ ]5 E5 A/* configure System module */5 ?. \+ L4 R7 E
var SysMin = xdc.useModule('xdc.runtime.SysMin');
) |6 v* u4 L e, Y# TSysMin.bufSize = 0x1000;
& { ]3 I# F0 h# |8 Y/ H- gSysMin.flushAtExit = false;
) x, p0 i# H, Q4 E: c% j5 S* @; a9 d
var System = xdc.useModule('xdc.runtime.System');
7 c0 J) x. ?, B {) n; Y0 eSystem.SupportProxy = SysMin;
T; L# P5 Q. c5 J/ |( C8 _ v0 ^* s/ Y: A
/* configure SysBios to use the lower half of Timer 1 */ h: [; @4 o \# s$ U, ?
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');5 d1 d$ O: \% V- y/ w
var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 K2 z8 I$ H1 R q7 J0 @+ G- j+ s
Timer.timerSettings[1].master = true;
1 b, K) l {" C: ]Timer.defaultHalf = Timer.Half_LOWER;5 F0 |/ z0 f' S7 d) _
Clock.timerId = 1;- Y9 s3 w( P! b, Q4 _6 F
$ v/ t4 |+ r2 f7 a' L4 L- }3 x2 {/ h% f3 Y5 m7 G, Z
/*4 P. z, V" M& G/ T' m3 x n
* ======== Miscellaneous Configuration ========
6 a; P- ?/ R/ L/ b */4 h: s; T( L! l0 f7 Q+ I1 j6 N# A
# u1 O2 _0 L. r3 N/* set default diags mask */
$ k$ E3 S! F6 C1 P1 Avar Diags = xdc.useModule('xdc.runtime.Diags');* `8 F+ \$ Z5 _, R. j- g9 \
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 N/ d1 z+ U0 y
( f3 o# O' j" `! {Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 a1 R Z8 o* ?9 d/ s5 h0 n7 X) [
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; X+ e, n3 d5 \, O0 G/ T! {
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 X( W6 G, C# u$ xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 K3 w/ X" D+ N3 G
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; M0 X5 R! x% _6 KDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! `7 P! ]! f6 j; s1 G. qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' o9 X: v, [: O8 uDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' l5 t" K) W' w- {4 E O5 P) S
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! G% K; @% Z5 I* }7 |6 d5 m7 T
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 x+ w/ y8 q& l% J) s, v
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) A1 {$ j3 ~1 l/ ?; G. pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' e- c8 Q6 v& U! i- ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, G! n& } e' i7 BDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ x$ p( U. n+ o. O7 ^4 `! J
5 F# ~5 c5 G. @( G7 v/* override diags mask for selected modules */$ T& e5 ~% w' M; t" ^* \3 u
xdc.useModule('xdc.runtime.Main');, z5 B& ^3 m1 v' L. q, g9 w) j
Diags.setMaskMeta(
. ^* G3 U2 z U2 I0 r; p "xdc.runtime.Main",
0 B6 c; }5 z' ?* x g Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 T5 t( c( X' h: Y6 B8 S. N2 P Diags.RUNTIME_ON" o w7 c* O+ G2 t" m
);/ {; U8 p5 G7 n0 n6 A- {3 o/ B! C
* ^' w+ y2 ~. g+ Pvar Registry = xdc.useModule('xdc.runtime.Registry');& F. v- Y' k! ~; A
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 k3 E, }5 S9 l2 J. E. }0 |Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 g- [# u! E' i7 n, d5 Q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;$ k7 Y+ j9 ~. _8 `
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;& c1 m4 H9 |4 M% ~0 A
. q" E7 R1 c4 F! E$ C
/* create a logger instance */9 r# @- t) m" l) L8 g
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. [4 I9 |% l8 Yvar loggerBufP = new LoggerBuf.Params();4 ^) N' u6 W" y0 E, s" s3 ]
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! Z, v- U- C: ], V* D1 RloggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 u: j# E a; [- ` i' s; ^- L* K; U( g3 U; {! u0 N% z: c g" G' v' g# e
var appLogger = LoggerBuf.create(loggerBufP);
6 w0 H$ g7 S7 {: [appLogger.instance.name = "AppLog_Core1";* T) |" A4 d3 X' ~3 n6 |8 d
Defaults.common$.logger = appLogger;
# a+ ]4 L, `2 T, V7 |$ ~Memory.defaultHeapSize = 0x8192;
1 e1 t: @6 l- |Idle.idleFxns[0] = "&LEDStatus"; i7 F- ?7 o g& w( E
Cache.initSize.l2Size = Cache.L2Size_32K;
Y& t/ v" R3 l8 K3 k4 Y
+ K' Y7 k9 `8 J6 z# r |
|