|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; Q3 E2 P U6 P: Z2 |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 O' k" G) C; C* ?" s6 _(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 g. y( Z/ x! B L
; N+ R8 }3 i9 o$ l! y/ K' _是不是需要在DSP.CFG中进行配置
+ E( c ~ Y) r9 `0 K3 [我现在的配置为
/ v, I' y4 W# \3 x d: [$ H1 H% j( ^2 ?3 l/ G8 g" v$ s$ {
/*# x" b' e$ S H
* ======== Operating System Configuration ========
! T* r; L ^4 c( ^4 }( [ */5 V) c3 M, g$ }7 z! u! c
# p4 w" E/ ^' R" d& z' d( ^
/* no rts heap */5 m+ D0 a- r# Q5 n
Program.heap = 0;
3 q/ d$ `# a' \, v0 cProgram.argSize = 100; /* minimum size */
2 W& ^- A9 O0 ~, t1 u5 `( rProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" q/ ?2 D& i+ S0 n. R5 x' L- G
: T( @, ~: h9 I2 U& R4 [" y8 W/* create a default heap */
, D( p* y+ K' p9 I; R' uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% i% k @/ k2 \3 d' x6 r, Uvar heapMemParams = new HeapMem.Params();2 ?! ?, |9 _% y$ [$ z
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# t2 Z: G$ u" A0 A
7 G% w. N g) k5 L+ J" pvar Memory = xdc.useModule('xdc.runtime.Memory');% P3 x z. O" ?. Q+ C
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* _9 I& ~0 Q7 i+ N: o9 H$ {% c) Y
- H7 y; T3 q K
/* configure System module */
9 P; J2 {9 k4 L, Rvar SysMin = xdc.useModule('xdc.runtime.SysMin');* s# F- U0 K: O
SysMin.bufSize = 0x1000;
. M9 ]+ q) e6 G- o% G% N- E, n- nSysMin.flushAtExit = false;
" Y; g4 E( C/ e) [ b& B, B- E# `; y
var System = xdc.useModule('xdc.runtime.System');+ w5 E9 z. c0 g f+ M7 O
System.SupportProxy = SysMin;
* k3 r) ]8 T- h: B
( ?7 n. H' }9 l- u# I9 G$ V/* configure SysBios to use the lower half of Timer 1 */
; v9 ^$ o4 l$ V7 o* \1 [$ d, Bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');- l7 S9 I L, _: j: o* C
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! q2 h( d- r9 GTimer.timerSettings[1].master = true;- W- R# l1 Z7 G9 T3 Z' n, s$ `1 K
Timer.defaultHalf = Timer.Half_LOWER;/ ~6 Z3 [1 Y) }" R
Clock.timerId = 1;% T: z0 U5 q) v1 z" A6 P
, Q& }& U+ m( i: _* o+ ?( V, {4 R
/*6 \2 Q8 e9 t2 X2 Y" u; W2 A( q
* ======== Miscellaneous Configuration ========2 O, j$ P' P* g1 |0 D
*/* `5 q6 r) [0 g* \& Q
" v% T7 B1 n5 T0 v/* set default diags mask */, b6 w/ ~5 {# R- D: y
var Diags = xdc.useModule('xdc.runtime.Diags');
( p9 M. r' v# U1 ^var Defaults = xdc.useModule('xdc.runtime.Defaults');$ N( t% s7 w5 [( j1 X' ]# q1 ~
9 n ?# i) x, e1 A. \Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 W1 a' n9 b7 W2 T$ j1 aDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ y& G8 _/ U0 s" L7 o1 @
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 \( U4 `' K* U; C: B6 w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 D& R3 n0 z! i* ?+ `# d2 f9 x1 H" Z1 XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
% H' ^! o3 U. I/ E/ U- x+ D; N1 ^Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& _8 h( W8 z1 B6 b& |Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ u; r: b0 T. E" V- w' t ~0 ]* h) ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& o; k4 W2 m4 I% ZDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( t/ j, M7 @( E
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) @1 i3 ]' o( g+ i6 ]2 kDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" X, X* W' @7 W, }1 q0 ?) qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% f- s! O* \/ pDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;; ]' ~1 m* f" Z5 A5 N; A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& }8 S; k/ c% d* G
7 R3 [- U! D) q7 G1 }$ s/* override diags mask for selected modules */- X6 b$ E0 Y1 h. m
xdc.useModule('xdc.runtime.Main');
2 Z, y1 M1 P& pDiags.setMaskMeta(
' L2 C4 y) a" k8 o "xdc.runtime.Main",
' }7 y/ p% I5 m1 N, d1 K1 t7 f Diags.ENTRY | Diags.EXIT | Diags.INFO,
: Q V( L+ `8 A, Y6 d7 b& L Diags.RUNTIME_ON1 W4 N/ b) Z# ]' R2 q9 T) n8 b# \% |
);: h3 `2 ~+ _8 L
% ^" \0 E) C. Kvar Registry = xdc.useModule('xdc.runtime.Registry');/ m. V- ^8 G. H7 e' z! s/ z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 S# V8 |( Z: N9 V( b
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; W9 ~3 r/ D3 `. {Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 E; S' i+ |0 b2 c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 j6 K( J$ C$ Y- I& X
. P% C& m& J% P
/* create a logger instance */
& ?1 J5 V9 l9 d- Y. a3 n1 @3 o$ ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. [2 }3 g& ?8 a8 Ovar loggerBufP = new LoggerBuf.Params();
4 K$ ~2 B4 a) w! g# sloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 v+ L6 P# D3 P% sloggerBufP.bufType = LoggerBuf.BufType_FIXED;4 u4 i6 F4 h$ \5 K
3 ?, n, V9 s& m* a: I: n6 I
var appLogger = LoggerBuf.create(loggerBufP);
+ t5 p a+ ?3 S1 N- {appLogger.instance.name = "AppLog_Core1";
1 U7 }' L+ d: V, F- A1 V" a. c& J5 ODefaults.common$.logger = appLogger;
1 G$ S( }, e; E4 B a2 P; M+ h4 AMemory.defaultHeapSize = 0x8192;
& f+ s2 X2 Z! E dIdle.idleFxns[0] = "&LEDStatus";0 ~3 F2 W: G0 [% x
Cache.initSize.l2Size = Cache.L2Size_32K;
+ O2 ~5 r$ x$ P. E- G0 k" `- k, ]# y) [7 U2 o# I4 E
|
|