|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 p$ f/ V2 n7 F: p+ `. E4 E5 E v
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" C: v- P, U5 ?+ X6 h8 N, k1 u5 x: n(不过疑惑的是,为何单独DSP仿真就没有问题呢?) R( b& C2 e/ B; K
n. c3 z! m/ H( I8 [- H7 p是不是需要在DSP.CFG中进行配置! B7 s, _% N+ Z
我现在的配置为
0 h0 h9 g. h% M# Q/ T9 S. h: P: t- C# F3 ~
/*
! h6 d( g* I4 B5 z * ======== Operating System Configuration ========
: P# i9 u6 L% C1 l# H- v1 d0 Z */
! R. p0 [# S* k6 F
1 T& b6 W* A' K7 I2 E7 Z/* no rts heap */8 P6 W0 d! Z: n+ y: q/ U7 E. R
Program.heap = 0;9 Z& N- {* t. z* K' w) x+ t( q
Program.argSize = 100; /* minimum size */, p9 `3 k+ X/ X' T: C* M9 \; w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大. ^% P1 p6 G4 {+ s4 s) r, o* u1 p
$ v( O* k9 |5 E5 J' B& ?/* create a default heap */
1 F8 K2 m* Y0 f+ V0 f. f# {var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' V% S& Z0 M% w3 e3 R% Kvar heapMemParams = new HeapMem.Params();. @* {! a6 }3 m- J7 Y$ B" v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 R* g" ?+ v1 W/ |$ f0 A( Y s
! }( _; I- i X# e/ J# B
var Memory = xdc.useModule('xdc.runtime.Memory');
# @. {) `9 A- b9 q9 X2 R$ u9 t9 eMemory.defaultHeapInstance = HeapMem.create(heapMemParams);/ q9 |( [/ c- ?* B' E; \8 `
}: Y- U: M3 m$ X: P3 o9 v
/* configure System module */
' _6 `. e0 H5 Avar SysMin = xdc.useModule('xdc.runtime.SysMin');
0 [ f. E4 {$ x6 h% [8 tSysMin.bufSize = 0x1000;
" q0 b4 P) D O( I- i8 b, _: {SysMin.flushAtExit = false;
/ ?. X( d. o+ U) k0 H/ k, @/ p2 _& r S9 C
var System = xdc.useModule('xdc.runtime.System');6 V7 q- B, J' t4 Y' e( \
System.SupportProxy = SysMin;
! E9 `* ^* W+ ~# R: C$ n6 d; }
- V5 [& v' N' a# q/* configure SysBios to use the lower half of Timer 1 */
* C" X) J# Q' u0 x3 u) gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 E/ ^' n, d/ k( V$ i0 Q% }( r9 S
var Clock = xdc.useModule('ti.sysbios.knl.Clock');2 D0 `# [; M" R* S
Timer.timerSettings[1].master = true;
4 [ A+ @3 h9 P( h1 }5 v- KTimer.defaultHalf = Timer.Half_LOWER;
+ C( k) f1 d8 S4 ZClock.timerId = 1;
$ i r7 j; x9 R/ i* B7 c% A2 \, [2 Z, X6 B
- B1 x. r. F5 K' a3 b
/*
P4 n; c7 Z% n3 f6 P* X * ======== Miscellaneous Configuration ========
9 T! @) ~; u( Q# g: Q, x */
' ~/ H: _1 I2 l0 I9 S5 H
0 M- {* t7 V1 [/* set default diags mask */2 g* N4 T8 }5 c+ s
var Diags = xdc.useModule('xdc.runtime.Diags');
8 d; k0 {' f# W0 X: h- yvar Defaults = xdc.useModule('xdc.runtime.Defaults');6 ^0 A4 y1 f$ v6 B5 z; L
0 w6 w, z' Y* C" {Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 Y% Q$ W' g$ L9 f( yDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' D% J% O5 p8 T2 |Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 M6 m2 O' v" k( t: X3 sDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ C# d$ o: v* k8 F R8 l# nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" d! p& ]1 f# [4 }! U k3 P
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% U- C9 ]7 C4 R" HDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 s3 ?2 z. C( Y% L: V3 a
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ Z; E5 A! l2 VDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 V0 }* ~& @# u& d7 F* H. \, b
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* _0 A& q. g. K4 W- |
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; m5 ~2 t7 b! nDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, |: T1 Y2 C. i3 M% |; @
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 r6 [9 c x3 t+ h: I1 G
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& H0 B7 T6 D$ a% V2 R
5 [' j3 q7 a! v- h' ~! g8 G" p. v/* override diags mask for selected modules */
+ |( N0 ?- D) i+ p5 a1 [xdc.useModule('xdc.runtime.Main');' H7 t1 Z" {" z$ {
Diags.setMaskMeta(5 a9 M3 |! P, \, _( Q! _7 {
"xdc.runtime.Main",- S* O9 r1 [( d i7 W/ f+ h& R9 e& V
Diags.ENTRY | Diags.EXIT | Diags.INFO,! C# a: W1 B6 n f8 X6 a* \8 I8 X
Diags.RUNTIME_ON
5 s \$ Z& h- B1 K/ z);( f$ V! T% w' S6 z/ d
# P( m& V: I2 m4 h0 r8 S
var Registry = xdc.useModule('xdc.runtime.Registry');6 Z+ ? D1 G% M- P; [; d, Q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, B/ {/ J. a8 }$ B7 @' J, A" l0 URegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;& ` o# U- P$ [/ ^
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' M( p6 \8 T! {8 ~Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# W$ ^, e! x& q( Y6 |
# n$ q) N- R, S" N4 y0 R
/* create a logger instance */& n# o4 s7 I9 a& z. n" a3 V6 u8 i5 X
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 E& L) Y& n8 p7 D9 ]var loggerBufP = new LoggerBuf.Params();
2 U" A4 w+ Q$ q& hloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 B! T1 a: K6 N$ r+ ]- Y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;- |9 S) R# ^, K; o* g- [0 N0 M/ s
8 C& i3 `" P1 q/ M" p/ D: I, v$ k2 Z
var appLogger = LoggerBuf.create(loggerBufP);! ]! i" S( t3 R3 J4 l# y0 h+ H- [5 Q
appLogger.instance.name = "AppLog_Core1";) z' T: }7 ~* T+ l- S$ Y r4 R9 x
Defaults.common$.logger = appLogger;0 f" i; q) q' A
Memory.defaultHeapSize = 0x8192;
& O) j+ L( v3 ~Idle.idleFxns[0] = "&LEDStatus";
% ?: {+ w# f3 h) L, w9 RCache.initSize.l2Size = Cache.L2Size_32K;
6 x4 @- G. p1 X5 Q& T( P% n' j+ C3 G: U
|
|