|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 j4 @$ Q: }" ?
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 {5 M# E- w* m& X1 {(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 K0 ? ~3 m0 b5 Q3 m$ w: G) }) j( F# ~4 z
是不是需要在DSP.CFG中进行配置
`4 L1 c! K; H9 s8 F1 S0 C7 G$ @. W3 U我现在的配置为( Y+ F3 g9 |% [
" t+ s% Q# ^" N0 ^) a/*+ x3 O' j, M; Q E: M- x& B) _
* ======== Operating System Configuration ========9 F9 N7 K; f! r
*/
: A% r6 u" M+ [$ J7 q) s
* ^* p# g( m; b' {+ h7 h# J/* no rts heap */
W2 u' ~0 j& |* i/ {- a5 P5 qProgram.heap = 0;% N$ C7 O5 b* ]
Program.argSize = 100; /* minimum size */
9 J _0 b5 |6 Z/ {* AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大- C2 i( ` ]/ J: @6 w, I) |! g
2 R1 o1 F8 ?" N& F7 N
/* create a default heap */
' I% F6 w+ t! f8 y7 o# m& @* O; A0 |var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 j1 C5 @4 M0 x* lvar heapMemParams = new HeapMem.Params();
) b/ s0 b. [# x' Y+ w3 n$ C& IheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" K. i5 i' \! P7 V0 m
) K) `5 G3 C9 Z& K' ]# b/ g6 ]* V
var Memory = xdc.useModule('xdc.runtime.Memory');& V+ r; ^9 I* U: y9 A
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& u. M3 a+ Z2 D1 L
, M2 U* F8 y5 g9 u$ |/* configure System module */7 O$ l6 h: T9 e
var SysMin = xdc.useModule('xdc.runtime.SysMin');) {) O8 a. ?) f
SysMin.bufSize = 0x1000;
: e" z0 _% @# N8 ?& D7 K! jSysMin.flushAtExit = false;
h4 c# l7 R r( \( N$ o9 G' |" V4 b4 R. K( c
var System = xdc.useModule('xdc.runtime.System');
$ Y4 [; t( T9 B- l8 g5 t0 CSystem.SupportProxy = SysMin;
2 `# C% j& f. \: V6 r R
8 I* y; C7 W" H' X1 q/* configure SysBios to use the lower half of Timer 1 */0 O, o- s; e' D% f9 s8 Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 U# B: @0 ^% q2 b4 ^: b/ A
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 X5 R( p5 l8 T% |3 z) A
Timer.timerSettings[1].master = true;4 N8 C. N# k* i% F3 T- l. {
Timer.defaultHalf = Timer.Half_LOWER;/ ?9 i" \0 w% @- \/ K
Clock.timerId = 1;8 j8 C% c; H, l3 C4 d
) w* Q. K3 T) [/ f) p: I# n* A! K2 W
* g: _6 @* g8 G8 N) t# q
/*% \: W6 v0 [" ~3 o& o0 v/ p& n0 W8 Z
* ======== Miscellaneous Configuration ========% W( n& w$ ~: v3 `. D H
*/
. K I) N7 E! E a* @: O6 J* O
/* set default diags mask */! j+ w' H) Q, F/ T! m: m7 R
var Diags = xdc.useModule('xdc.runtime.Diags');/ v! P7 [; @$ u* o8 d$ C
var Defaults = xdc.useModule('xdc.runtime.Defaults');
% D {# |! [' }! k. ?5 S+ F; _ ]3 D* ^
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# { n J+ l( T* e6 |: I' S+ S
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 c3 v$ Q, S6 n% U5 V, T9 hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# c5 B# f9 O$ p6 l. [Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 ~, e! I7 z* d3 G0 E6 y' c5 mDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( Q1 M# d" W7 `; ^' o
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;( H. B' w6 R' _, ?6 p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) H6 g( j( }1 u! V3 l, W# {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 h+ G3 ?" `. U1 aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 r2 Y" j' K9 D5 [, }
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 L% h* X! a! N1 [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. G T, T- ]5 ]& o5 m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 a) Q% Z# d/ ~/ X. q9 ?Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 B; y0 r8 A0 n+ A8 |: l
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
- W: k; }+ F( o2 h/ |- r6 L7 Y: i" y u$ p" c- }/ B
/* override diags mask for selected modules */2 b9 o. O( l6 w9 y& g
xdc.useModule('xdc.runtime.Main');* r4 @+ {: S: X2 I/ T7 f
Diags.setMaskMeta(4 q+ C% Y* L L I! G
"xdc.runtime.Main",
, G( g- S8 [1 ^; O( } Diags.ENTRY | Diags.EXIT | Diags.INFO,
' @2 E M- ^$ t0 C. O; u+ M9 k0 T Diags.RUNTIME_ON
* X$ D0 f: }/ h5 r8 M& H);
$ d7 o! x0 ?! L$ H+ E2 B1 Q+ ~+ g' @+ B4 I
var Registry = xdc.useModule('xdc.runtime.Registry'); T% w, I3 L: X( h
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* Y) \. w; K) [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 P& v9 ]* O/ u1 ^4 \) \Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 K b5 j- R' m; w( G7 rRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 P9 }, c' G3 W/ S( ~" n1 e
* E; Z' ~5 n- l2 z0 Z/* create a logger instance */
. _* y, }( b; P9 Y6 Ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& y+ X) h! }4 |0 h% Z
var loggerBufP = new LoggerBuf.Params();
- L8 O5 ~2 P5 ^# ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* I, r1 m1 ?0 z1 ]5 aloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 k1 k( X2 o: \! e4 q3 k; h9 B, u1 M+ `1 N
var appLogger = LoggerBuf.create(loggerBufP);
* L. H j) O: t& n" P- SappLogger.instance.name = "AppLog_Core1";: W, U6 A( t7 m
Defaults.common$.logger = appLogger;
2 g6 {3 m6 u! z$ M0 }* I& w: nMemory.defaultHeapSize = 0x8192; ( h% A: S; v7 Z. x; Z" `6 E
Idle.idleFxns[0] = "&LEDStatus"; d2 q D" h9 L& N; l
Cache.initSize.l2Size = Cache.L2Size_32K; d ]; o& i- l W% S$ P# t, a- L
+ l7 q- b7 r; u* Q- X
|
|