|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( N4 i6 O) Z3 c我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! L l: w4 }2 ^3 O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 n3 d' Y5 G, m5 I/ u3 p- j( U0 L
7 l' E9 V- U; v; p是不是需要在DSP.CFG中进行配置
& M% q' c, A: v. q1 _. k' |我现在的配置为
" R* p( D2 \ e1 t; x
& B$ B4 w! l1 C* z/*1 n, @" V8 z- |
* ======== Operating System Configuration ========6 `/ u1 X" x' {7 a
*/8 x ?" ^4 X; ]9 K5 [- Q
^5 ^ o) S+ a4 R+ P- D/* no rts heap */7 T! ^& n9 ]% i# P
Program.heap = 0;, l3 p+ V( j9 W. p$ ]
Program.argSize = 100; /* minimum size */
) e2 n) A! P8 z$ {1 k- _& A* ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 k, c# a' N& H0 v) X' P/ K0 v- a& }& D# P: Y7 q3 U
/* create a default heap */
6 q; H# o8 X* |( o1 C6 Z6 d/ Uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# b! F' z" l- W9 ]5 `
var heapMemParams = new HeapMem.Params();
' y( |5 O. S& s5 B' o0 ~4 N4 V* CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大6 ?9 ?' g3 d* ]$ J+ `/ C9 Z0 d
; d. s# H$ d; S5 L6 Y5 D2 E. {var Memory = xdc.useModule('xdc.runtime.Memory');9 ^6 {( ]1 u. l$ Z! K. ]/ f$ |1 A
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
) t H; a7 g# ~% r0 c1 X2 V
" ]! @+ z& \; V- V: K( K# m/* configure System module */+ q& M5 N0 [1 b5 C! a/ M# Q
var SysMin = xdc.useModule('xdc.runtime.SysMin');% g( H4 `; O/ h. w9 q7 V0 F7 K
SysMin.bufSize = 0x1000;, n; K6 O) D1 h: y) b
SysMin.flushAtExit = false;
, S" E5 T& {- l# e, j9 r) W% o, Q/ R/ A( @% F! f p
var System = xdc.useModule('xdc.runtime.System');
8 h1 S# g: p1 j1 D8 v( `System.SupportProxy = SysMin;
/ N8 v/ i6 [# p- e7 D3 W
: F% ]- ^! W* K% P* `5 W! S/* configure SysBios to use the lower half of Timer 1 */8 A# v! q9 U4 c& Y- _8 H+ K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 m! J! l+ L5 r& p. W9 b" Vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 L; L" t9 r; r& q$ ]% K0 C2 _% uTimer.timerSettings[1].master = true;
2 u% L7 x, z, P( S0 k0 eTimer.defaultHalf = Timer.Half_LOWER;
# Y) k2 l6 J* D( e; rClock.timerId = 1;6 C$ u, Z# w+ H. M3 S# k) ?/ H
) _: w( D/ A2 j; z
1 Z" G( j8 G8 ~
/*7 E8 n; s' `" l4 R. ~" K5 q) @: F
* ======== Miscellaneous Configuration ========
: z2 v! ^# h9 O) L; m* o */( o( ^- h$ {' I% S) C: R
4 W4 q B3 _5 c/* set default diags mask */
% r: p9 {8 k) b( P4 m! u( P$ Svar Diags = xdc.useModule('xdc.runtime.Diags');( |2 v2 `2 h' O3 E% `: \
var Defaults = xdc.useModule('xdc.runtime.Defaults');- W! x) b( ]! @0 x7 Q% l
) d5 ?* ?. R( Y1 c" S5 b! y% b
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
q0 f. r1 L h+ v; U, pDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
/ \/ L9 H- Q1 I- m9 u) j+ NDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' M6 i% u3 B- P! ]5 M( W9 q( ?, g8 iDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 C( N& s9 ^. v3 [& h d* e0 N& |4 F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# u4 B1 R5 x* i5 J' U* E' uDefaults.common$.diags_STATUS = Diags.RUNTIME_ON; L; H6 t# E v: E
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% b& G& ]/ k1 V8 ]* y- Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
N4 r9 W' i* V# B" YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# y) g Q; X* DDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) u. y" I8 I/ ~ o3 XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 L* Y4 ]8 u3 \' o* x8 Z0 S; e4 x
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) I& X0 V- ~2 ?/ ~. I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 C3 l1 F# h! @9 z4 KDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 C E1 T, A T
- @/ }8 C) g4 `, A
/* override diags mask for selected modules */
- c: u4 Y, n$ e. h8 o( mxdc.useModule('xdc.runtime.Main');, o! ]+ H4 I8 x o6 @
Diags.setMaskMeta(
' n+ m$ w% f. F& y9 [# L# o0 p: n "xdc.runtime.Main",6 N% f/ Y! c6 }# P+ x
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 y: q0 i/ _) [9 B2 D
Diags.RUNTIME_ON. u8 G; M1 I* f5 C, M* ?! F3 v
);) ~+ h. k6 L& R h- C. Y
9 ?. E8 c! l0 hvar Registry = xdc.useModule('xdc.runtime.Registry');2 c: n3 Z9 S- B( P H
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% u; t3 j/ r- f* R ~, z) x) sRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 ]& s' H9 R' K' G
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' Q4 R4 x: v8 G4 n5 ~Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 @* s3 W/ Y, p! U: X
" S5 ~+ w4 L/ k" a& N/* create a logger instance */
: l1 z$ ^1 ~/ m* F5 J+ J; |2 Z xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& a# w! Y+ r7 c$ I2 V0 zvar loggerBufP = new LoggerBuf.Params();% H# G% Y: K* v0 u
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ V' |0 d& [, p. P$ }/ h% \ XloggerBufP.bufType = LoggerBuf.BufType_FIXED;, O# d3 H: y1 g
8 \# K T4 T' o; j% r
var appLogger = LoggerBuf.create(loggerBufP);% I9 K5 F4 [& s- N$ ?
appLogger.instance.name = "AppLog_Core1";
4 I% w1 e, g+ N! H7 v. u7 N: YDefaults.common$.logger = appLogger;6 F! a* K7 I" E* B9 d- ]& k' d
Memory.defaultHeapSize = 0x8192;
. ?' d( t8 b' N" t7 S: t# ]Idle.idleFxns[0] = "&LEDStatus";
; N8 ^7 v* T5 ]2 r L$ W; A6 p4 OCache.initSize.l2Size = Cache.L2Size_32K;; o/ x4 N- ]3 M* n- e u1 E/ Z
, _3 s, U. C3 J3 W( Y6 ~ |
|