|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& q. ^; j5 O/ U) k: {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' M3 j) m$ q3 [7 e
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 w$ |1 m5 W- t8 E" r9 g ]' C7 R- h
是不是需要在DSP.CFG中进行配置
- ~8 r% b6 T$ E6 d0 t3 @" D( z我现在的配置为
. }" w! \5 J, ?7 d+ o& f0 T3 t! z" R5 u- D. Z; Y: @ ^0 T2 M! r% J, B
/*
2 H8 G1 h A2 R( e! C4 D4 O * ======== Operating System Configuration ========7 P" Y5 ?; _ m5 n" j, v
*/
; K4 a7 v9 z! i9 R8 ?/ Q* n5 D/ H: Q5 U3 ]/ |
/* no rts heap */( u5 z7 R8 v) i
Program.heap = 0;
$ {# ~" Q8 I1 G; NProgram.argSize = 100; /* minimum size */& o1 X0 `1 ^* W+ }2 ]1 K7 w) k& e
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: B6 _) l/ y" B) Y- z
" i, c8 S- u1 `) v2 l( S% P/ p* `1 @
/* create a default heap */
) q/ \$ D) U u+ S* Xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 y) V) C7 n% X6 X0 L
var heapMemParams = new HeapMem.Params();
1 R; t% P6 \+ D# p3 q) G" \heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 v# P+ q# Q- z# W1 e
; \3 {4 F3 M q
var Memory = xdc.useModule('xdc.runtime.Memory');! ]3 P- [# T' t u- B1 _
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% f/ F$ k3 ] {) \$ h3 N }
. Z% c/ n2 `2 S/* configure System module */8 p/ ~/ ` X+ B$ l) {" B7 B
var SysMin = xdc.useModule('xdc.runtime.SysMin');1 r( ]# U4 ^. J# }1 N; X
SysMin.bufSize = 0x1000;3 M. O9 J& }# ~5 a) K: m
SysMin.flushAtExit = false;& G! {) V2 F2 g4 |% z
8 l$ e1 c; t. T, s! h* N- l1 W% p
var System = xdc.useModule('xdc.runtime.System');
4 F2 r8 L+ C7 {& \' fSystem.SupportProxy = SysMin;2 ?" r( d9 j: J1 a$ s
6 c$ k! {( Z( e! R5 N0 G( f
/* configure SysBios to use the lower half of Timer 1 */
* O9 g! c$ C' y6 S2 jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) d- n! u* Y: H0 V+ }0 [4 Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');" g+ X% d e2 p& L* M/ j* s
Timer.timerSettings[1].master = true;% c& N$ d! x. R( V
Timer.defaultHalf = Timer.Half_LOWER;8 c& v3 i# |: E; u
Clock.timerId = 1;% J9 Y& |: L6 m
/ e: E+ q4 K) I/ c# m8 [% J P% s$ L
/*
" V/ ^- {5 c: M" Q( q& d5 a n6 a8 d: w * ======== Miscellaneous Configuration ========
2 W. r& N. G% |1 P$ l */, }) R3 F/ M( r9 U, Z$ Q. {: _
# m5 x0 ^3 n- Y" z" }. A: ]- ^
/* set default diags mask */
* _0 X2 Z( V! }var Diags = xdc.useModule('xdc.runtime.Diags');! M3 S: ?$ w- t$ c9 P0 I* d
var Defaults = xdc.useModule('xdc.runtime.Defaults');, H8 ^& D% K& P& C6 q% _
* A! r9 K8 X5 r9 k
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 Q- S3 _1 J5 N- `* b& {' GDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 {4 s" l6 ~2 d
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 ~5 v* T( v" B: k0 @
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 y0 m( A- Q2 U: E9 B
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 K a! c. m' z+ O: f* @5 `, EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 b" p$ u% B8 Z1 o. ]Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 P, f# |$ D6 g! |6 W1 G6 LDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 e Z Y) G" U4 G3 eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- g: o) M- r0 J7 {1 Z: p/ o$ B
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: y: {+ q4 s" jDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 N; x% f5 F. S% X3 ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 v) U3 u* ?( H, NDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;# D$ O' y/ ?4 R+ _, ~9 R4 y X7 ?! [
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; S% {% Q+ e* M! U9 c: \+ ]6 K P- T; s2 o3 v1 _
/* override diags mask for selected modules */
# o; k6 Z& y2 o3 F( q, qxdc.useModule('xdc.runtime.Main');/ o, j T K2 I8 S5 B! L# ^8 n
Diags.setMaskMeta(
1 ~0 o1 {$ B4 I% n7 M "xdc.runtime.Main",
- V! A+ ^# T* Y$ o, m Diags.ENTRY | Diags.EXIT | Diags.INFO,+ Q; a7 Q9 f B5 i6 S/ l0 ~
Diags.RUNTIME_ON: i& [- T& X- E
);
& `3 |+ `( d v0 f' m8 s3 ]/ b i2 G* ]
var Registry = xdc.useModule('xdc.runtime.Registry');( c8 h8 o$ Z- W, G* g) x( J
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
n1 G; e. P6 cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) ^' F% M* j* \; e* s5 E8 o! PRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 L7 S/ [' C( V9 e$ jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 P% s' z8 N- }0 ], Z
. q7 {& W$ `- l$ r, M% }) v9 I' r/* create a logger instance */; Z% o" [: f1 v, u4 v: e
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 Z! `3 Y& o p% R) x- f! [
var loggerBufP = new LoggerBuf.Params();
" E W6 w4 V8 G; N2 z, S3 m, c3 p# GloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 H% {7 K4 t( l; s3 H- r6 k2 N
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 x* Q% \1 K2 y& c- T8 L; L4 m9 k
, F8 Y) k- l5 ?) @var appLogger = LoggerBuf.create(loggerBufP);
# z2 R( G9 y! L6 TappLogger.instance.name = "AppLog_Core1";9 A" s, h( x: B" [4 }! |4 t
Defaults.common$.logger = appLogger;* \: i2 V6 M% l, f- p2 j) S" k
Memory.defaultHeapSize = 0x8192; 5 G: ]' w) c2 ~3 y' ~+ w" B
Idle.idleFxns[0] = "&LEDStatus";
& D5 K! [" p* v5 q# A3 nCache.initSize.l2Size = Cache.L2Size_32K;
8 X; c( [# G1 j) v1 y* L! y
- g- y# A* k4 n- T3 ~: |4 h& I0 w2 E |
|