|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! Q$ @7 Q) z; p, V4 x$ X$ q5 a# Q: E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下3 N6 H1 ~: t. K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% _! W, \3 B- S0 e; q0 @
) ~4 X$ M- Z9 ~/ B6 \& p1 s) J是不是需要在DSP.CFG中进行配置( g5 P& d/ z4 k* n S3 ?% Z8 P* P+ E
我现在的配置为
+ c9 f4 B7 j. K" d& W9 l: h- B2 w2 \5 q2 y+ X. e" V: S* r
/*- {+ k" j# V# M Y
* ======== Operating System Configuration ========( `, h: ~" W. P4 r" P
*/. p. K J) T7 n" y/ c
8 K1 E) `" g) Z; \
/* no rts heap */, d( d) t, c. ] }
Program.heap = 0;
5 B) t, w/ `* ]& [Program.argSize = 100; /* minimum size */ d e3 p) Q8 Z6 J5 e# V
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大 E. X. k5 J( D% N1 j
+ ^+ j, I/ W/ s i5 n& r/* create a default heap */+ ^0 f; M& N3 ^; J) Z+ ^( U V
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ E- T# ~7 i }: w: Z, T) P* q
var heapMemParams = new HeapMem.Params();
0 u8 o2 J* `4 O8 @* NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 ?) K2 o! r1 U; W- a8 J
: l, I7 h5 ]3 V5 k* Y
var Memory = xdc.useModule('xdc.runtime.Memory');
& u4 k" W; X$ r# \' RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);$ p( S& Z+ ^. H& d0 a
. `( k2 O; M5 W# u: U6 q+ C
/* configure System module */
; y* W5 O! g4 l8 X3 Svar SysMin = xdc.useModule('xdc.runtime.SysMin'); g" m# H& C, g* ]# G3 P
SysMin.bufSize = 0x1000;
6 [. B# N8 A1 x aSysMin.flushAtExit = false;9 S5 E- t. k- Y& t
+ h, x1 L2 Y+ H8 R% \
var System = xdc.useModule('xdc.runtime.System');
7 A+ b ^9 n/ M; b& ?1 f3 VSystem.SupportProxy = SysMin;
7 O! l- w( v5 N1 `$ o8 T! Q( L5 {
/* configure SysBios to use the lower half of Timer 1 */( J" p, j5 b6 T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* m% }: C Y# Rvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
* @9 d$ G5 b+ r9 eTimer.timerSettings[1].master = true;+ M3 e, |3 w7 A5 @' e8 |* b2 e
Timer.defaultHalf = Timer.Half_LOWER;$ f: Y/ y8 l: }& B [3 ^$ E: ~8 O
Clock.timerId = 1;, u8 W& H! t; F+ D3 D2 e
, f9 T0 _1 f4 ]; b- W9 o0 @; |6 i3 p, R( @& h. p
/*$ \9 @! d8 @. |6 I0 @5 Y8 b
* ======== Miscellaneous Configuration ========
9 _9 Z9 d3 T" z8 D+ h */7 i" J# e% t9 R% X* T! `
' F8 _3 o7 s0 i) \0 ^) i7 o/* set default diags mask */7 y( S. ^% h2 N3 u! v
var Diags = xdc.useModule('xdc.runtime.Diags');
' J I- U" r! r ]+ U: {var Defaults = xdc.useModule('xdc.runtime.Defaults');8 P1 X/ y0 n$ |; K3 e
/ V6 I+ b5 P! Y8 _+ `" ]Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% a. B, x+ [8 \ C# G. s
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' O; b7 v- ~; n( _& k
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ z# b2 i9 J/ V( L
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 ]' N3 }+ O2 Y" } I/ V' `; X
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! W f5 F9 i& s8 ?/ k _2 kDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;' x5 K9 K- B; c) O1 r
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& i' U( |: ?5 O' K3 L
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 m! X9 s6 b+ _2 W4 F, z8 ?
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( A; R: `; W J; H4 y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) K0 a; R. J4 \* U9 G7 J/ L3 N l, H
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. \$ g4 Y9 t/ @" {1 F, Y! O
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 K$ Q4 G7 U) j$ H; KDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 \5 L$ ?+ r ]$ }, H' FDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! ^$ _9 ]: Z( L
! s9 ~! v0 f8 b" c
/* override diags mask for selected modules */
0 @* Z( a$ ]1 V% T' k1 b+ p/ ~xdc.useModule('xdc.runtime.Main');2 W* |3 L. W1 ?" r+ k t- _" W: @
Diags.setMaskMeta(
5 {% z- N* r3 g- l& V "xdc.runtime.Main",4 E+ H, y1 |( ~% M9 A8 q/ `
Diags.ENTRY | Diags.EXIT | Diags.INFO,
, D1 A) y2 X# l# x; {" b+ k Diags.RUNTIME_ON
0 @8 Z$ d7 _: s);
8 c9 r$ K+ e5 b% E7 ?+ D r- e8 S: D5 e9 A; `4 I
var Registry = xdc.useModule('xdc.runtime.Registry');
5 o! ^8 i2 z. }; T0 y, t+ `Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
g5 s* {+ ]( o) G6 MRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF; k8 f& u$ ^2 }0 `
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# t! R2 l3 ]0 ~8 P2 DRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 a' A4 ]' r- b0 T
* A. r& t4 w9 o: A6 ?+ A- Z4 J9 e
/* create a logger instance */
1 A) V0 c7 v) L" M& u9 r6 Cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! P4 R9 |8 k# Y- ^' ~. o! xvar loggerBufP = new LoggerBuf.Params(); u- r0 P+ M* A1 n" e
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 Z! [0 P1 r9 F, B& floggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ Q6 S% r; D+ v1 E3 U: d( o: f- e
9 n6 p+ S( s$ x7 y3 s8 x; g. Avar appLogger = LoggerBuf.create(loggerBufP);# x" K a& U# s1 O
appLogger.instance.name = "AppLog_Core1";, X# B2 ^# _6 \- H9 b: K+ W
Defaults.common$.logger = appLogger;: O; X7 t/ s, m: @
Memory.defaultHeapSize = 0x8192; - t. p4 ^) [ ]$ ?7 y) [
Idle.idleFxns[0] = "&LEDStatus";4 O" L$ W- j o0 ~
Cache.initSize.l2Size = Cache.L2Size_32K;8 ?% S B! G6 n" |+ n4 ~" k
0 t. m* g3 C) p$ f& U
|
|