|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# E5 h+ i# [* c/ |& |) @我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. h i* X; e; X1 _; a(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 K( x2 j+ X, K; t2 H7 b* D2 C& }/ Z
3 s t$ I( |+ g: _
是不是需要在DSP.CFG中进行配置
8 n4 t1 B( Q1 w; S3 p+ d7 b我现在的配置为+ E- y: [$ ^2 N3 t5 A
' Y" `; H4 h }9 T/*# o) P4 G0 y0 m
* ======== Operating System Configuration ======== n% t$ C3 g7 j( n+ a4 ~. e& H
*/
" v+ N- m1 o7 }) e4 M0 D
: W8 T+ t' w! G3 ^/* no rts heap */
, r* [$ ?( k- i+ }" U. bProgram.heap = 0;
( Z! }4 ]! z0 d( | B. L! VProgram.argSize = 100; /* minimum size */
% Y; J. `7 `6 X. \Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ P, f/ O) @9 Z. }% F2 J$ F; w
7 w) x; |$ b% r: z! H- ?/* create a default heap */
$ [8 u# G1 ? {- o; [4 x2 gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& j- l$ I- @* G/ Z0 c, K
var heapMemParams = new HeapMem.Params();
! {4 ]9 ?* v9 ?" f$ VheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 a# m: r, G a8 N6 D
9 y& f5 @3 Y% @7 P e s: `+ h
var Memory = xdc.useModule('xdc.runtime.Memory');! V2 v% U) j7 G
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* G' b- f6 h# h+ @0 p1 ]6 _- l! }
6 v; q" V& M- E7 v$ _/* configure System module */
. }0 R* ~1 N& U2 a* U8 Q( v8 dvar SysMin = xdc.useModule('xdc.runtime.SysMin');
: @, L" }7 X) z: O: Z4 BSysMin.bufSize = 0x1000;
6 |) I+ r: s; O0 x- E" s/ ^/ w" N7 OSysMin.flushAtExit = false;
! R% R6 L( @: n% H8 P& V* l% x/ r6 e6 }
var System = xdc.useModule('xdc.runtime.System');( }2 Q2 s# J3 s' q
System.SupportProxy = SysMin;
# ^: z) J. L7 x, E. F8 f2 p
5 O, _. g) J2 q. Y/* configure SysBios to use the lower half of Timer 1 */( p$ z V9 U4 F- h! H; q5 C
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. b/ {) r! h4 F) ^' r3 i0 p
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 q$ o" O' }# z$ |3 xTimer.timerSettings[1].master = true;
: A5 ~+ k* e* p7 E& B6 STimer.defaultHalf = Timer.Half_LOWER;
# B4 H6 [& v, K5 F, P0 G3 RClock.timerId = 1;
5 n; ~! s R5 b a: i h' L+ L" L# u
1 |' x8 a& l: j% T
/*
. P8 i* e- I4 c) | * ======== Miscellaneous Configuration ========+ s& w# I! |" r& q* A9 I+ l, c: d, E
*/& O3 e+ F( K1 b; Q9 c
: y9 A: w" S p- R2 v4 k7 C L
/* set default diags mask */. r1 ~: M2 j4 p3 ?( c- u
var Diags = xdc.useModule('xdc.runtime.Diags');9 k3 E1 s. g, e
var Defaults = xdc.useModule('xdc.runtime.Defaults');/ @) W4 Y2 R9 Q: ^6 \8 ?$ ^
+ L, y: z8 K' t5 H# @ K0 u: w0 q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ S7 `- w/ M, e* z- rDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 M1 H0 Q) n# Y- ?
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 X) t$ O/ H* a; i6 J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 ^' f% k/ R) D, d5 \6 Y# }' c
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 L% D$ U) a7 d4 m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 z) L; V8 f; @' z& u6 Y" XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% b! ]. q3 |! h+ A& eDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
. b; A* i9 O% m, U& ]( tDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 i: B) x! u0 X
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ i2 |6 H$ E# f
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
v6 b- c( l% [7 A s, U. NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ f* ]/ S4 B* f8 WDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 h8 f7 v2 K7 L0 dDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# P6 O8 d3 s1 f2 M, ~6 ^$ @
- ~) i, l+ l1 M) s: v8 o- d
/* override diags mask for selected modules */
$ e2 O! q7 m* m. [% h/ _9 ^xdc.useModule('xdc.runtime.Main');3 f, y3 |* V) |+ q! R1 l0 r
Diags.setMaskMeta(
% k9 z9 g' T; A4 c0 G& f "xdc.runtime.Main",
, q( Z2 x; _* h Diags.ENTRY | Diags.EXIT | Diags.INFO,
( f# V& Q0 }: B/ z Diags.RUNTIME_ON
8 ?& M! P3 ^1 w4 f8 y3 l6 ~); I+ s X0 b# }4 q/ C' ?
5 i6 u8 n9 n! t4 m" Evar Registry = xdc.useModule('xdc.runtime.Registry');' }) J2 o0 A7 X7 r
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ q/ z! L9 U% R4 W
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 t1 J! e# H5 I! @ N% ]- G: N: U
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; k( ?; d* n& ^, r b) R( r% s
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 Z9 Y9 {% `1 [, K
6 b+ z% S9 @8 ?# X( u8 H, K& h: k
/* create a logger instance */
. k0 u8 G7 @0 O9 v3 L& `" Q) W/ Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ g) N; g& o+ u2 G
var loggerBufP = new LoggerBuf.Params();" V% f$ G. T5 m% k# G$ E0 h
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 x; m E2 J l7 W. T/ b/ s5 KloggerBufP.bufType = LoggerBuf.BufType_FIXED;( H) w+ @$ L+ ?( q' j+ M
/ Q2 M# Z. r" V4 k' z$ J9 ?" v9 Svar appLogger = LoggerBuf.create(loggerBufP);
+ |+ s+ X$ v' `0 p% X: [" u3 _appLogger.instance.name = "AppLog_Core1";! f) V. Y7 @& q5 g% j' g
Defaults.common$.logger = appLogger;5 Z. o" Y# Y% k1 x( H% ^ N
Memory.defaultHeapSize = 0x8192;
( }4 L" ~% W9 d! B' X2 B# CIdle.idleFxns[0] = "&LEDStatus";
, R$ b2 o& U* ^Cache.initSize.l2Size = Cache.L2Size_32K;
( g' p0 P- H5 u; B
5 m# `' k \8 ^+ l |
|