|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 z8 D A# U/ n4 e- d- Q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& j" z! n. a, l8 Q7 j# f(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ t& U& J; d7 V
& }: [& E3 |& {% `是不是需要在DSP.CFG中进行配置
. m$ w H# F. o& e6 L: Y/ A我现在的配置为
9 E/ t% \8 g! B0 S/ Q. k: j0 N
$ M; ?! E( O- J& ` t- C/*
" q% M+ y& L5 m+ i; u- C$ S9 M * ======== Operating System Configuration ========5 m' i8 T$ G+ }) z* B; t" `% H
*/# Y1 W `# T8 q2 D! ?2 Z" g& H
! U6 C$ t8 y% x$ t, b8 u% c
/* no rts heap *// l8 s4 ], R9 N' z
Program.heap = 0;5 _/ K5 H2 m$ e8 c ?" g
Program.argSize = 100; /* minimum size */
5 t1 ~3 \) N& X9 o! d0 p: i( BProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ n5 ^5 w s9 N3 l: W: y
# x1 ]3 B; \$ A% }4 V8 D @/* create a default heap */
. t; q7 f5 j9 l M8 Y2 [var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 M1 @, u7 G D, f( c6 u7 cvar heapMemParams = new HeapMem.Params();9 B. Q' B7 B$ g; z X0 ?: r4 ?4 Z
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* ~- P8 q) H$ Q p. {3 e
$ H& U& m0 t. Y8 a2 Q
var Memory = xdc.useModule('xdc.runtime.Memory');! I/ d; s! F, @: r4 y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);5 {$ U6 p8 M. w7 {8 p# _
" e: S5 h- ^, M' E1 g( B2 A) ?
/* configure System module */
8 Y0 ^ @1 r1 w0 D u, t, Dvar SysMin = xdc.useModule('xdc.runtime.SysMin');3 c# y, K* J" i6 q
SysMin.bufSize = 0x1000;
- x7 }1 {1 ~& q7 I8 e9 l& v5 o( hSysMin.flushAtExit = false;
# h+ f4 d$ E- D; }$ H% J
' k0 Q4 w: |7 {: f. evar System = xdc.useModule('xdc.runtime.System');( z$ H0 T" f, e, s# Z3 h( Z
System.SupportProxy = SysMin;( {0 @9 f- _9 K2 Y2 y5 B
* I3 f8 M7 s- K' c1 |' X/ V/ S/* configure SysBios to use the lower half of Timer 1 */, x; N, n* P) ?1 g( Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 l& _6 \ p6 O: c- x$ `var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" V" P" @+ X1 N) uTimer.timerSettings[1].master = true;: I. t* k, \7 R
Timer.defaultHalf = Timer.Half_LOWER;1 v2 Q) g* x6 C
Clock.timerId = 1;
9 P) D( V# j. d5 Y1 U( A& h% ^' M( {
y6 M6 o" r) J* m/*6 s$ i6 k" c2 L
* ======== Miscellaneous Configuration ========* ?2 Z o( q/ f" {* E
*/
& y- ^9 ^8 |& L( K; a" q+ M, T! D d/ u% Z) L2 n
/* set default diags mask */
8 I8 F% _: L. U& J* @! jvar Diags = xdc.useModule('xdc.runtime.Diags');" V" I$ X! H5 X5 c8 L
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 R& _3 w0 k3 u( u1 X
) e% l4 R9 ^0 }: L, aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% H, Z+ C1 o! O C. E- Q: _Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, ]& A6 S: ]4 s1 F- ^: ZDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ b) ?/ W! f7 O0 |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' {* k1 u+ L! @% F& v6 `; CDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! s9 Z/ E5 v1 {' _4 l) S( P rDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;( g# t, P! R5 X9 g4 n2 t
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
3 S' V( p- {# N2 B* U' PDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* [- M+ F+ y" X+ wDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* K3 E; E5 z; Z4 ?' ]Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( i+ q2 P- W% U x, q2 m5 R, S+ j' ]
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% V, C7 f. b+ T- e+ PDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. I! M& z: _( S3 _" J
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. g. R3 \' J7 p1 \- f# k x
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. J! U' t7 F1 X% F1 ]" f( n' } M
5 T) P" a! s. m+ q f7 f/* override diags mask for selected modules */
- g2 b( G( |% o# \- L5 Yxdc.useModule('xdc.runtime.Main');
) ^; h* G3 J+ M) n/ O$ ODiags.setMaskMeta(1 K% q; A0 `6 p4 U. C: S. }
"xdc.runtime.Main",2 _/ S/ Q) v0 H1 r; }
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" O4 h! H( }- c Diags.RUNTIME_ON7 o/ h% \/ E5 X" ^( |) C5 ~
);
! Z+ j1 v7 k' g5 V0 o/ E2 I5 Z! ]
5 K; {+ \7 l5 y3 r) Lvar Registry = xdc.useModule('xdc.runtime.Registry');
& `$ z3 d) g; E9 Q1 a5 Z0 a4 \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 w- r% \! ^ F5 B5 v) N$ xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) F9 \3 m* J( d" K' ARegistry.common$.diags_INFO = Diags.RUNTIME_OFF;2 J+ G8 e; x7 ~# S F
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 A j% Z" A8 ^9 t
1 M; o- z1 M% }: b( W8 [4 e+ |/* create a logger instance */
0 w o) I" j# Z! ]var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
m, @$ n& y- x8 Q3 V, zvar loggerBufP = new LoggerBuf.Params();; V5 y5 k; s/ B( r5 u; i! T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' M. ]' W/ R- k1 JloggerBufP.bufType = LoggerBuf.BufType_FIXED;) D" X5 ?. a4 V9 i) N" ?
. n/ d7 z4 J* ?9 Y9 q
var appLogger = LoggerBuf.create(loggerBufP);; {/ h1 S( S9 Z# L1 X* x
appLogger.instance.name = "AppLog_Core1";* M- i4 p) ?( Z$ ~9 L- y
Defaults.common$.logger = appLogger;0 {( P5 Y4 u! C& K
Memory.defaultHeapSize = 0x8192;
( n* ]$ m- U) Y% m* @Idle.idleFxns[0] = "&LEDStatus";& G4 y1 s/ V# k3 U- y
Cache.initSize.l2Size = Cache.L2Size_32K;% [4 ]; I( T- t) R- c* M
9 b2 j( R8 I! | U. C4 T* i$ A u |
|