|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 U* H5 V0 K, Y7 n b- w3 P我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 x% I. [( J9 M. ^! _/ j" v
(不过疑惑的是,为何单独DSP仿真就没有问题呢?), w/ z `3 k+ k/ p
* v3 _8 C2 N' j1 }% m& h
是不是需要在DSP.CFG中进行配置) y7 \/ q" R* d# l0 R- \ O) \" r A
我现在的配置为9 u( b- A3 ~* B( r/ R9 q% E
n7 ]7 y M( I e3 Z3 Y/*! t( |% W) ~0 v8 C) |
* ======== Operating System Configuration ========5 |' {8 j/ c* P! k; S# y# y- e) o
*/* r/ P/ |- Y* A( S
; i5 C4 K- \: a$ c" U3 C% M+ E/* no rts heap */9 \* f3 q1 c8 \) a) \
Program.heap = 0;
- G7 \1 q, \, UProgram.argSize = 100; /* minimum size */% Q( ~+ A, c- `5 _) L Q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 E m% b2 t' P, j* A: D/ `" U4 ]0 I( ]: Q
/* create a default heap */
0 h, _8 l. L7 @7 h9 Dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ k/ e: g) |$ u+ E1 v5 D
var heapMemParams = new HeapMem.Params();
4 o& A7 B) Y+ pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' Q6 C2 \( V7 W6 V1 a0 P
4 Q' ?* I3 k! A
var Memory = xdc.useModule('xdc.runtime.Memory');6 E& E0 w3 N! J' P
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 Q" {/ [: D% l2 T, U' {. _0 J2 |* r5 Q' x
/* configure System module */) Q- q8 W" J- P5 }6 |% b k
var SysMin = xdc.useModule('xdc.runtime.SysMin'); H* _: a$ T# l: E
SysMin.bufSize = 0x1000;
+ z. n2 ] C8 z: m3 `SysMin.flushAtExit = false;4 }' \ T$ E: O
. e8 d0 f) v( {5 C, W" s. n0 Y; f6 Rvar System = xdc.useModule('xdc.runtime.System');
# w4 e- o& A! tSystem.SupportProxy = SysMin;
/ u$ X6 `6 }. d( r3 a; o
3 U& q! e$ T0 ?/ x6 [- I; X/* configure SysBios to use the lower half of Timer 1 */' I, o8 ~% r3 J9 ]# {5 D
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! E) ]/ s( `- ^! O+ d3 cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 v: q0 \. H2 h3 ^" BTimer.timerSettings[1].master = true;, D1 N( e, H- ?" b* R7 S( m
Timer.defaultHalf = Timer.Half_LOWER;
: o- y, [3 \6 p% \4 ~; `* MClock.timerId = 1;
9 p) }6 k. w0 b9 d& _/ f4 U2 f( F2 V# N
3 ]+ W- b# [' C' K! E8 j+ T, t
/*
; P+ V5 P; U: [/ y * ======== Miscellaneous Configuration ========; f O0 w- S$ H9 j6 K
*/
6 T+ _6 G- U9 ~7 `2 {' h7 U2 c' L. i/ }* d
/* set default diags mask */+ n3 d1 Y3 m8 [* ~# i2 C
var Diags = xdc.useModule('xdc.runtime.Diags');
- P7 R' p7 K* z( c. ]. }5 S8 ovar Defaults = xdc.useModule('xdc.runtime.Defaults');
, [& p% u6 R' [! {9 i$ W9 { H( H2 d2 o7 O: Q2 v
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, W9 U, ^* p% a/ v( Q: UDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 ? k" a, r: @" g
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! U$ n( ~& Z& CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' A% J& w. Y: _6 oDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ a' x! R5 C/ @Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' }( N2 t1 Y5 ^0 `3 _# SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 ~5 m* G9 r5 Z" Y+ BDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ F& E# E* c6 J! i8 J/ h: f$ TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: I! }! e7 J: w) t/ k9 t1 g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;; y4 G7 U# D1 q' G
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 Q+ Z( O9 \' ~# b1 i* W6 ]Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 C b" l5 d8 V5 u6 HDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 X3 l+ z2 P2 K3 T8 P. `5 r1 a) Q$ ODefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 T: l1 y& a- q: F' k h5 Y5 b7 f. G0 g* P
/* override diags mask for selected modules */' [, [- H( ^ A0 L! [* K+ K
xdc.useModule('xdc.runtime.Main'); |5 p7 t4 g4 `& y# I; O, q9 `
Diags.setMaskMeta(
/ O; l' I7 o' e "xdc.runtime.Main",
' V. q! e" L [8 I; q Diags.ENTRY | Diags.EXIT | Diags.INFO,& {) G4 A$ i" a r2 P& v1 c
Diags.RUNTIME_ON0 Z& z7 |% p3 C0 V
);5 _6 E) I* a6 E y2 E1 p
: r. j0 H/ f& W" ]7 b+ }var Registry = xdc.useModule('xdc.runtime.Registry');
& F3 h7 h' R+ h+ W% x' dRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ E& |( e1 o" ^: o6 rRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' J& u8 D) q. f g8 t& ^* z0 TRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. n- n1 B8 A# h4 C
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;! u& o$ a& w1 w9 E$ E6 l
$ L% p5 }4 N; C5 ^2 V
/* create a logger instance */. D& e4 x( D' P7 [4 _
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" \- T7 i# x. k. b( uvar loggerBufP = new LoggerBuf.Params();* h9 Q- F: U/ k0 V& z* l6 G+ j
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- W; o$ e% D& P |1 WloggerBufP.bufType = LoggerBuf.BufType_FIXED;
! N# |3 L- {5 l7 J; B& Y5 L3 Z {8 G+ x9 Q4 V
var appLogger = LoggerBuf.create(loggerBufP);
( r, v. x# }# sappLogger.instance.name = "AppLog_Core1";1 J0 S3 \5 L$ ^0 \& Z
Defaults.common$.logger = appLogger;' u8 }4 r% |1 U( W# \$ y" i/ v. h, w
Memory.defaultHeapSize = 0x8192;
0 c; n2 A7 Z" w1 Q0 iIdle.idleFxns[0] = "&LEDStatus";
& O% R" v- D; Y3 \+ n/ u0 B8 P2 GCache.initSize.l2Size = Cache.L2Size_32K;
' c7 p3 g: j* c) |& P2 ^
' m2 K B0 p4 k" q c |
|