|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 X$ Z9 n$ W& f0 T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 ]' M0 w) S4 k- F+ ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- o& K$ q9 z% g8 w
$ Q- e7 k& V. F! s& D
是不是需要在DSP.CFG中进行配置: \1 a3 q( M2 f# s; A+ U
我现在的配置为& ?: o$ C! }' l
0 P9 |2 T4 j3 s" K/*
9 V6 P r8 p4 m* S * ======== Operating System Configuration ========
) R+ g9 B+ Z, ^3 I9 D */
y3 Q9 u v0 g7 k* [, W/ |
3 z7 a0 `$ R3 n4 e/ o/* no rts heap */7 m4 L3 Q* u1 @6 I
Program.heap = 0;" P; M; z4 |% L: K
Program.argSize = 100; /* minimum size */5 N4 J0 k; ~" ?* F3 O
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 |+ t4 _9 H, o: ^0 A: E. A; I1 B- O T4 s9 D) t' V+ {4 ^' {
/* create a default heap */
" l$ ?* p9 q" l' S" nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; _ a; l( g" |5 \
var heapMemParams = new HeapMem.Params();9 a! G" `1 M6 u! n& g, ]1 c
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 o0 e* l3 H+ g6 m) d
$ \% U% N& M# M. b% {( A) D( cvar Memory = xdc.useModule('xdc.runtime.Memory');
& V: U! r; o! Q LMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
: A8 e; t. C% Z% s' a1 \
2 O% g3 C. H8 A- |/* configure System module */& D1 q7 |! Q! Z/ Z: O- s
var SysMin = xdc.useModule('xdc.runtime.SysMin');, p' I2 i( k0 b7 u) h
SysMin.bufSize = 0x1000;; ~; a1 v7 V5 N- Z6 B# Z, v
SysMin.flushAtExit = false;
8 ~& l8 Q6 p( s! h# C' G0 G9 h# w
var System = xdc.useModule('xdc.runtime.System');
5 B3 K) e1 L& W* \1 W9 lSystem.SupportProxy = SysMin;
: }/ A/ \4 f( W! R: u! \! `6 d1 `% ?1 P& u# w e( U
/* configure SysBios to use the lower half of Timer 1 */
6 c! ~9 | u( Evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. |2 H- A/ u9 Kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ w# a$ p! F2 D% N$ k% E0 ~' gTimer.timerSettings[1].master = true;
% B- B3 m+ P; w. @8 K/ QTimer.defaultHalf = Timer.Half_LOWER;
# p2 c3 S! i9 m9 Q0 eClock.timerId = 1;3 H, i( Y2 i, y# I- }
# }+ r( d5 r7 z1 M2 p+ a1 ]0 p& b- M. l+ P0 h- k. ]# C1 m
/*
/ Q- e; u7 a! _: W4 W* d. z * ======== Miscellaneous Configuration ========) p9 I" M2 M& u$ L/ Q$ b) B
*/ C( v" _& ^% U2 [8 D) B% K
# s7 C* z# u5 b/ N) H/* set default diags mask */
9 b7 Q1 x. t. _2 w, pvar Diags = xdc.useModule('xdc.runtime.Diags');. l& z9 H( b. A' ]8 f6 j$ ]% y% ~2 R
var Defaults = xdc.useModule('xdc.runtime.Defaults');
9 e- \0 S+ L. Y6 f, M' K. [7 D N0 `. d1 `& L* J
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 M n. [9 H- m: \Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 Q6 N6 e& ]. X' S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. f* G4 \; G, kDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ g% C7 Z5 X/ a' }" M8 \Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 F: T* R! I% NDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ x! l0 b2 M- {0 jDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 K4 `. z8 q/ z- G: j$ @1 qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ ~- ?6 b: U! R6 X+ ~( gDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- P- G. ]) H& y4 Z/ b4 Q- h9 sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 g# s: x9 o8 e
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- I& I( o: `' ~. \3 @7 g& }Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 ]( j8 l9 c3 \+ vDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;, I1 |, \& _3 X9 _* N
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 ^2 O- |2 ]5 D1 e+ E8 N3 z; x+ _$ T. R7 j4 m
/* override diags mask for selected modules */2 a1 [! B( h" q+ L" ~# ^
xdc.useModule('xdc.runtime.Main');0 C; S: @1 o7 B* I" q
Diags.setMaskMeta(( n+ q1 i7 x' O
"xdc.runtime.Main",1 p% [! J( M7 ]1 R0 p
Diags.ENTRY | Diags.EXIT | Diags.INFO,
& O$ a4 Q% s% k6 E( g" A J7 P Diags.RUNTIME_ON' P5 J* s0 B5 o7 q5 ~- r& V, S
);- q; ?& x" J! F; @; n, Y
: m$ ], w- l9 z4 e, \2 P2 R. pvar Registry = xdc.useModule('xdc.runtime.Registry');
! v6 b; U( K/ j) y+ B! S& V( ?Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, C5 A: {5 w) c; J8 W( i3 T
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* t5 D7 f, M8 m5 N
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 ?3 F1 L" K' M$ F, }( g
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ L9 z0 R: [9 f4 M v: r) @$ d: _" }( P) n! P- c
/* create a logger instance */
1 j/ F* n* k* d o1 c+ T/ L5 F, L0 jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 B/ J3 b1 }" X9 s9 O6 z4 O
var loggerBufP = new LoggerBuf.Params(); Q& Y* M( B4 c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 }7 V5 k) q9 B0 C! w; `
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. U; O; m- v k' F* g$ A, Q
9 }, c5 O* f L+ W
var appLogger = LoggerBuf.create(loggerBufP);8 s! c* [: `: R" }
appLogger.instance.name = "AppLog_Core1";
3 [" [6 e7 m! R/ R5 h* x/ U- t' I+ qDefaults.common$.logger = appLogger;
" e# v- [, W# O1 o9 VMemory.defaultHeapSize = 0x8192;
# Z( H9 ^: I3 M/ a j* NIdle.idleFxns[0] = "&LEDStatus";+ G$ ^6 q7 A6 G9 F
Cache.initSize.l2Size = Cache.L2Size_32K;
( g4 ?. _' B, S3 W5 g" [: S* A- B( U, Z( _' y0 o: R+ v; e
|
|