|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: l/ R _) l: q4 x9 n6 T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 z) m6 j$ h$ K0 @; }9 P7 P j
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) d7 J% y/ d7 M% P: r, C2 r* f4 q- C7 e9 ~ X* m# {1 H' |
是不是需要在DSP.CFG中进行配置
5 P% s8 k" w, L4 _1 J我现在的配置为
$ s9 t! S0 U9 Z, `$ k! E- g
+ B+ |; |5 |0 U' t! s/*
, @1 O0 k6 A' I( b- i/ H * ======== Operating System Configuration ========
; P. y/ T. F1 P2 ]0 k+ E */
( N8 F2 K; H. r% t5 b( k6 ?9 f" h" r c* ~" e
/* no rts heap */
3 y% C! m& i3 V% i! X& }4 PProgram.heap = 0;
( w( l$ U3 n7 }' I, cProgram.argSize = 100; /* minimum size */0 h* d1 _- {$ j+ y5 L5 t$ s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大2 y- U9 g# C0 Q; {1 Y, e
8 |, p% |, ^+ j/* create a default heap */
3 i- s0 ?- D1 L: zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# D- }) R4 s3 ~- V& m
var heapMemParams = new HeapMem.Params();
0 ?7 j' a6 a! F+ N( VheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 y3 P" p2 b7 c$ m- `$ t! x
) E9 O& k8 O( [+ @var Memory = xdc.useModule('xdc.runtime.Memory');
% ?* Q" j, ]% V$ c9 B$ GMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
; c6 n- d* k) h$ ~' p b& p8 H- L2 t; ~" y6 v- k2 p
/* configure System module */7 @; ^' y I K/ y5 l
var SysMin = xdc.useModule('xdc.runtime.SysMin');
: e5 n. _. D) m, g- OSysMin.bufSize = 0x1000;' d$ F; g2 r; a7 w
SysMin.flushAtExit = false;
' C% C: q g. t' f
. r' y$ ~; W' v7 Kvar System = xdc.useModule('xdc.runtime.System');; x8 o" M2 b: y0 o
System.SupportProxy = SysMin;# M5 x9 B, ?$ `! [( A, i6 G
s- O Y8 E8 ^& A/* configure SysBios to use the lower half of Timer 1 */
7 ^+ M# z3 K8 a' ]var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 } _# P1 |# X0 X6 b( b+ O# Q/ Svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
r& k' o. A/ Y# ~9 ^Timer.timerSettings[1].master = true;7 Q7 ?% E% Y) ?) l. R0 }! ~( K
Timer.defaultHalf = Timer.Half_LOWER;
6 T, F: i7 I- n4 u4 Q% v! b" xClock.timerId = 1;
[8 j$ t1 k$ Z
1 q d5 } I% z9 I+ k' f- L
8 E6 @1 ]" [$ U: y7 m% a/*8 Y1 B% @; C! ~
* ======== Miscellaneous Configuration ========
/ J5 `5 V7 r2 {& i, U& H" h */: y! W9 I: p Z) O
- B: I+ `- l; _% _9 y- g$ v/* set default diags mask */( @7 x/ Y1 |- ]/ c
var Diags = xdc.useModule('xdc.runtime.Diags');
$ h$ o4 D' b' V! w s- f: J" Q9 Mvar Defaults = xdc.useModule('xdc.runtime.Defaults');, z3 a2 |; P5 f' {6 v$ Y) q+ o
2 Y! U: W3 |+ k# A6 j. J2 _9 MDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ B S8 p, k1 M. R: `2 Q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 U9 I( C; z0 J, Q* E2 I Z) F8 |Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% H0 p& Y n% ]# P8 JDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* Y/ `; N: w/ P" f. zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only *// a" D& O% G# D. k. Y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" w S! q6 r- a7 i/ W+ QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) w3 f5 b* W1 K2 C$ i! C* F5 w' B, A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, Y( Z5 _; k ?1 A) d0 xDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 U9 k& b1 G: [* K, ~8 l( `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: \. s& I. F+ ~
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; ]! [1 M8 b2 o8 C9 lDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* i0 I- c! s% p' ]& s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 U: t+ k+ }& i0 j- H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ _) S, [' a7 i: w b
; O3 X ^% N6 t" F/ K: d/* override diags mask for selected modules */
& N! X. b8 T0 z* t8 a. [6 T, cxdc.useModule('xdc.runtime.Main');
" m5 r- s) F) ~) |( S/ u( D) mDiags.setMaskMeta(
: E5 Q2 o! H* j1 m' `, A F "xdc.runtime.Main",
5 X1 \( i' i. S1 b6 f% w' a* r Diags.ENTRY | Diags.EXIT | Diags.INFO,5 K$ t; S: y0 ]# a, H* k
Diags.RUNTIME_ON2 O3 t# B/ r8 O! f# Z! J
);! q+ S9 Y! I' E' V$ U9 ?8 ]) m$ d0 N% q
; f N1 [. H! Q3 ^8 E: i) N: U- f
var Registry = xdc.useModule('xdc.runtime.Registry');
, H& p6 b- q9 W2 I; yRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 ^ N& N0 }9 M Y+ P1 f3 \Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; U2 c3 ~, E0 r% d7 J$ ]
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& i6 C5 b; c u1 {4 ^; y6 A Z" lRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 Q7 I6 \6 F3 D
; l& }" T# `1 {! z9 K/* create a logger instance */
' N. d: J$ ]2 svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; t2 q4 I4 K6 ~! C" Zvar loggerBufP = new LoggerBuf.Params();* i4 ~2 ]0 Q; c1 e
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. T! M5 n0 n$ _# x: e, SloggerBufP.bufType = LoggerBuf.BufType_FIXED;$ m- P7 D, e% I7 ^/ v3 m- X
6 f# U/ J S3 E. Q* y8 J4 ^6 dvar appLogger = LoggerBuf.create(loggerBufP);7 _ J6 i9 h! R* M3 r- G1 H
appLogger.instance.name = "AppLog_Core1";% G5 p* }- [) }7 o2 T/ S
Defaults.common$.logger = appLogger;
. t6 Q Z4 g: C% f, dMemory.defaultHeapSize = 0x8192; 6 S5 s. s1 y W# C Z2 Z4 h/ b
Idle.idleFxns[0] = "&LEDStatus";. P; r$ k! d+ G
Cache.initSize.l2Size = Cache.L2Size_32K;( j+ m- m. \ \. ]! h
% P% h- t2 L, R7 F0 y* b3 H+ i9 { |
|