|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 }& d9 T) ]- v. o- ?; H
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) [- u+ d% O% T6 K(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; P9 |: Z. d3 g3 g. x9 Z& V5 K* e6 ~3 @% j. [$ u
是不是需要在DSP.CFG中进行配置6 r( ^. B, Y3 d+ B+ I( I& Q0 q+ X6 }0 u
我现在的配置为( L9 R- k( U1 j" f) u; M( y! N; ?4 E
9 F' h' R& _1 `7 q7 S% C
/*4 B: e/ a: X; `- ^* e H$ r
* ======== Operating System Configuration ========- U0 e* B+ [5 C& v
*/
+ Z0 f' E6 p) }4 C
, n7 D' G4 x. d- S% K/* no rts heap */: j. g \' B$ m, T
Program.heap = 0;
9 f" C! f$ l% m0 U) {; f/ c: LProgram.argSize = 100; /* minimum size */8 ~3 e* g2 [7 N- C. h( U. h l
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' N0 E5 j$ w3 N5 a# ^# U
- [4 o+ \& n! [+ O( v/* create a default heap */9 }* O3 V% \. d6 b/ \. b7 t
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. u0 V0 f8 N, I+ nvar heapMemParams = new HeapMem.Params();
& X6 E& x: ^% k) J( I2 E& yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( L) T1 `) H9 u- _
1 Q% \" R. j( b& Q9 L
var Memory = xdc.useModule('xdc.runtime.Memory');
6 k9 r2 v& G7 r8 MMemory.defaultHeapInstance = HeapMem.create(heapMemParams);; Q0 J; t4 u% t
- H3 L" V2 ~/ C* i/* configure System module */
6 T5 s: Z x0 i2 Tvar SysMin = xdc.useModule('xdc.runtime.SysMin');8 g5 Q! i5 b6 x7 C
SysMin.bufSize = 0x1000;
; n/ [! D+ g9 G- C: s7 c# TSysMin.flushAtExit = false;" x2 W2 q4 G* V/ i; I! j* r
, D8 ^4 c, z4 S1 yvar System = xdc.useModule('xdc.runtime.System');
0 E( c) ]; B! v( s+ y; Y5 uSystem.SupportProxy = SysMin;
4 E" g$ x" u' r2 K6 c, q1 Y: G; m5 F0 f7 p& c' i
/* configure SysBios to use the lower half of Timer 1 */; m* o* _, O7 H2 O
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- Y t( i5 ^' }9 ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');
) o7 f1 k. E' C# H5 OTimer.timerSettings[1].master = true;) j& ?1 I% _7 y3 w3 f' p8 P
Timer.defaultHalf = Timer.Half_LOWER;
3 }) j, I! J) i) [2 f5 @* Y9 MClock.timerId = 1;
2 a; }: W6 g) H1 e+ ^' k5 x# O) ^* ]! m2 T
* R- g. e5 z; I7 H) w4 U
/*
; b# g- X3 ~% M/ E * ======== Miscellaneous Configuration ========
4 X( D0 E: G" c( I D */
1 R7 M- {: p6 b+ s4 C
: R% F& O" x* e/ z' @- v/* set default diags mask */" s; X1 P6 o) ~2 H1 s8 w* t
var Diags = xdc.useModule('xdc.runtime.Diags');
B% R: E( l' C% z. wvar Defaults = xdc.useModule('xdc.runtime.Defaults');0 N' b3 R' m% F6 A' w' a
; x& q" Y) J; p7 h$ DDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 s, x0 N, |% r6 v
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ y9 |3 d9 ~7 z$ C2 n; k8 l
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 H- F. `) @( x4 O3 X. R9 x
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- D" D, `& i7 k4 B' cDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, O7 L! v+ K" Y0 q* A: i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;( c' l& a% J! m9 U
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& J* T9 N. l/ U4 {* K4 H @
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: y, ^$ N6 |' J: r( vDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;) n: e. |. h) u, U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 r) ~" c; b0 D6 g/ s7 W; [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) l% c0 Z% l& f' [; GDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ |( B1 b2 i+ D* E" I* sDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ z; [+ m4 T6 \' u$ m
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 _, K7 G. O# K- k9 j& K
; c9 g0 m5 U8 I1 W
/* override diags mask for selected modules */
8 j; l- U* L3 [3 N0 exdc.useModule('xdc.runtime.Main');. A* Y0 V9 A1 e5 D1 D
Diags.setMaskMeta(
! h) W. j7 e; j2 q8 v2 t9 a' ~ "xdc.runtime.Main",
2 R8 |; y% x, x, W* v2 A& e/ a Diags.ENTRY | Diags.EXIT | Diags.INFO,
; V* {% f3 f% H+ B) T7 W7 A& E Diags.RUNTIME_ON0 n$ l4 m/ S* y5 ^
);
7 H. ~3 D# X8 O# f& x; |9 `% [9 s% `
var Registry = xdc.useModule('xdc.runtime.Registry');% U7 ^! e& i! `1 r: c7 _/ B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 }, o/ Y6 `. V9 T2 J0 ^' h. [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 `5 W6 Q/ k$ h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;/ c. g ?5 ?7 F ^9 p3 X; h
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 s5 w* `9 j! m3 V
, @ o& z- L1 t/* create a logger instance */
) a4 C! Y3 H9 Q% Nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) d8 e1 t8 B; o9 Q5 @var loggerBufP = new LoggerBuf.Params();! ]- H. n* v# E2 U, r
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! R h" z7 N! U& z, b" N4 H4 sloggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 o) P D' U0 E
7 `+ F0 x) c4 B5 e/ ]var appLogger = LoggerBuf.create(loggerBufP);# W+ a. f9 D) x- B0 O: L
appLogger.instance.name = "AppLog_Core1";) \/ M! T, w3 `/ m# O \
Defaults.common$.logger = appLogger;
4 d/ V8 f- a$ i* mMemory.defaultHeapSize = 0x8192; 5 J' E4 z8 Y* l3 Z6 D5 B
Idle.idleFxns[0] = "&LEDStatus";2 K8 R5 v+ e- N# v1 x
Cache.initSize.l2Size = Cache.L2Size_32K;, B' I @. |# f$ j5 l% }
0 N. [3 S! e4 y) }; o! `- D2 A
|
|