|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* h$ E, O* w& g9 I" {4 [
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% D" \1 v& k/ e& N9 u9 [6 n: K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" W. U( _0 P0 C K# V- p
/ h2 X1 Z( L- ^5 \是不是需要在DSP.CFG中进行配置
- p; s9 [' r1 S3 I9 N) N. S我现在的配置为, h$ Y4 f2 p8 D9 f0 G$ i1 F2 i
9 O0 N% z2 ], x- |7 v8 Y/*. ]& j5 F4 w+ ^: v) H" e$ ]
* ======== Operating System Configuration ========, W, C* m/ K- q0 t/ j+ x$ ^* E
*/
: J; M( J$ W" D3 _: W1 ~8 z0 B8 @; y. S' M$ u) l c4 D
/* no rts heap */* L5 a( t, ~5 p# K, B1 T
Program.heap = 0;
9 T; C2 @# u% f5 RProgram.argSize = 100; /* minimum size */
1 E- Q6 }" E) I ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- i5 ]. O/ d9 m* V6 o& g; r1 W1 i
S1 i3 g% J# z% f: u1 t/* create a default heap */: [3 U9 I' Y- u. f- V3 f! X% w. p1 g4 U
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% N# d4 Z, Q4 mvar heapMemParams = new HeapMem.Params();. s8 u! Z- I2 G5 l$ m' M
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 M2 d" R; g; O% |$ a+ |! Y
8 O/ P( O6 [1 p) E ]* R6 u
var Memory = xdc.useModule('xdc.runtime.Memory');
7 m$ o6 Q+ [; t- ~" {/ _ AMemory.defaultHeapInstance = HeapMem.create(heapMemParams);) i& E# t( ~. \1 \* b9 q
1 k' n' p1 Q; ]% \0 f* m
/* configure System module */3 t) G. |7 P4 t2 H- S2 C
var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ A+ j3 }. {& ~& eSysMin.bufSize = 0x1000;
$ `2 b* u9 g' C* ?SysMin.flushAtExit = false;0 K& J) n8 b1 W6 A1 ~. q) a
1 q& E e% E; k0 Y+ \
var System = xdc.useModule('xdc.runtime.System');+ n7 P) V1 A# k
System.SupportProxy = SysMin;
0 G& B N& X6 r
: y2 k) V* E: Z& A% t* b" S/* configure SysBios to use the lower half of Timer 1 */
5 Z G, s ~& o9 g ^ D9 Y6 L4 |var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( Q% s1 ]9 i. d$ Q0 `5 d. c" C' [& K
var Clock = xdc.useModule('ti.sysbios.knl.Clock');* ^, s8 r% f3 A. o9 f+ Z
Timer.timerSettings[1].master = true;- e0 N" a: C& i: `) j: \0 l! B, r' I% A
Timer.defaultHalf = Timer.Half_LOWER; J2 J3 {2 O2 ]
Clock.timerId = 1;- p" i% n6 c4 A5 x6 Y2 l% G
6 W+ G! h* ]; @6 }; n, g: x( _
- V- @$ K) y# p; V) d7 I5 S/*/ m+ c7 H' A9 Z
* ======== Miscellaneous Configuration ========7 s( H; X: W7 R* l4 X' v
*/
0 \# ^9 t8 a3 o3 y; M9 d" h0 h' i5 b+ u Z7 b! M
/* set default diags mask */
- V1 U+ p2 ^3 }var Diags = xdc.useModule('xdc.runtime.Diags');* |3 w0 V5 y. w! N. @8 o' C
var Defaults = xdc.useModule('xdc.runtime.Defaults');
- ?' w! t( s: V7 l6 r) g, h0 A" e) Q# n' `% Y* G7 o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; ^& A8 a' O5 y* D0 N' E. F
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ _! B8 `7 ^9 F% |- |9 O3 GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% J$ p% S9 n [! M& \Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, O$ e, S' G; a- ]7 a4 p" R7 \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" S& R/ @4 i7 {/ G3 E0 t( X4 {Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! G' C& h; n' `. ]" ^4 qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# w! ~4 Z3 t: ~
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 L$ B. ^* Y* b5 I$ M$ E9 DDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ l% r# q7 V4 G6 a' [% ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 U. a! g" }( I. T4 s4 jDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
y3 V. ^7 z( @4 GDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 D$ E# M( ]' d
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 Y3 {! h- |; E! E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( n0 W' |8 l/ Y# j
. U) P- K! _8 K5 F4 ? H6 c
/* override diags mask for selected modules */
6 q7 F, m! r# y8 I. M. h6 c5 ]: ]xdc.useModule('xdc.runtime.Main');
1 s+ n7 H# t; r9 g3 M7 {Diags.setMaskMeta(7 G' m& O& v3 R3 l$ p: j
"xdc.runtime.Main",
4 s3 g% l: u( Q/ ]2 E3 {0 R Diags.ENTRY | Diags.EXIT | Diags.INFO,' O2 }* Z* h- N& ~: }& l* p+ L/ i/ c- Z
Diags.RUNTIME_ON
- { {/ Z. @6 C, c3 ^ c8 {);
1 u8 @" w2 B9 D4 A/ N
! U5 E9 P+ D! Y2 N/ n2 y" z/ e) N6 Mvar Registry = xdc.useModule('xdc.runtime.Registry');& p) U( n3 m* {7 p& ]' m
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! u1 j+ }# ]: J1 |5 \
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 W8 _1 f: ^7 L& o2 NRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;1 L: R( s. D0 x r5 [* p: v# S
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" m/ {4 S2 M1 M$ p% P4 v
' V; G# Z. h% q- C/* create a logger instance */8 ~ j& s* y) J# E. F; ?
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. G' [& f8 F2 ^! X. g$ ?3 W
var loggerBufP = new LoggerBuf.Params();+ f3 [" l8 i: z
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( d1 s( c1 B1 K8 N2 g# Y* wloggerBufP.bufType = LoggerBuf.BufType_FIXED;
, _& k' C; Y9 P9 p8 D D& u) `' q& `4 ]' V# L4 w7 Z5 s. n
var appLogger = LoggerBuf.create(loggerBufP);
5 G) s5 J5 H, g0 {appLogger.instance.name = "AppLog_Core1";
* a& x) Z7 @) p$ jDefaults.common$.logger = appLogger;# A/ d! A* o9 }- b
Memory.defaultHeapSize = 0x8192; % ?* c& J" p; p
Idle.idleFxns[0] = "&LEDStatus";$ p8 q* H6 H% ?4 J' ]! d
Cache.initSize.l2Size = Cache.L2Size_32K;
& \8 i! u1 z$ k) W, @; Y5 G: M% b9 e
|
|