|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: Y; S$ W4 m, n
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# ^4 I" Z2 j* |( M$ E- d5 _. P(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# I1 [4 V$ y) \: G, V- k
3 a( d8 e. J5 b% f是不是需要在DSP.CFG中进行配置
# f5 f1 a; R9 m我现在的配置为2 C' [/ {' q4 @) |: H
, }+ e5 i+ I z3 C8 f
/*+ G7 I. Z0 s) I: w- `# \& a
* ======== Operating System Configuration ========
9 w5 E* E/ U! h */
: p! s# M! G0 T0 t" c) H+ Z/ X$ e0 z$ u: T5 Z
/* no rts heap */
9 c% s- ~; ~! ?* u' XProgram.heap = 0;
. J, w" |+ C1 r& c" |Program.argSize = 100; /* minimum size */
5 i& V& }; `) B" VProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大 S$ w% W/ D: V
! n( E/ R6 G" ?7 K/* create a default heap */
$ N# ^; l H3 q; u' `2 Uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
: S. m% L3 v4 y6 _: u' yvar heapMemParams = new HeapMem.Params();
, x- ?1 |. L9 XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( N5 T5 c: S6 i$ N
! {! ]) ]# d! L5 A9 d6 r
var Memory = xdc.useModule('xdc.runtime.Memory');
; z1 T0 C* E0 M+ X) SMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
( t7 P3 r2 I$ Y7 z3 E! D4 X& [2 U
) G2 H% A! N- Q, S3 z$ Q8 s/* configure System module */
0 U4 b5 [8 l; X& \var SysMin = xdc.useModule('xdc.runtime.SysMin');9 p/ e# K/ b/ G- G6 j* ~) V
SysMin.bufSize = 0x1000;3 h! L) ]8 N* l' F0 z& z
SysMin.flushAtExit = false;1 `2 k" X. R# N; P9 h
P& p+ l( R7 A c' C% D8 L1 h. nvar System = xdc.useModule('xdc.runtime.System');; u) V( k* B. R2 l* \2 Y! y3 ~
System.SupportProxy = SysMin;! M+ r$ c. ?' V& n+ t! |, J$ ]
( b4 T S$ A8 o1 l/ m
/* configure SysBios to use the lower half of Timer 1 */9 A1 m( Y; {# v5 _! R! q9 g8 J
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
G9 @ [6 Y( q5 t7 `; d9 S% jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
& j9 `; i' X. \9 |1 f6 i k) OTimer.timerSettings[1].master = true;
' e8 @* `, m8 L/ U6 D0 ]( uTimer.defaultHalf = Timer.Half_LOWER;% o9 E3 l" } \
Clock.timerId = 1;) {1 H. C& b/ r1 F& V" {: h1 L5 e
; X/ L! O+ }& F T: g+ @: I+ x
) U- m: o2 F% `
/*. R% s B- c0 N1 n: {
* ======== Miscellaneous Configuration ========2 ^1 V$ j- m% [& F t$ r
*/3 o) p8 C+ c0 Q8 e
% R2 e; L L; `1 O7 n0 ~; C# Q O
/* set default diags mask */
. i# B$ C) V- w/ p% G P# |var Diags = xdc.useModule('xdc.runtime.Diags');; C5 f" J% S8 a+ L& t
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& H% I- {$ \9 J$ n" q
1 U6 ]( S0 K, H7 o& e; _/ ZDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 N- H6 m5 L7 k: x: i L/ p$ W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; B7 X# D$ r* e/ h/ ^/ f$ Y1 R
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
~* s/ ~; W% }$ `+ ^Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 o, r8 l- c5 j3 a1 w! X5 `) S+ k) FDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ n) C" n/ Y) B+ a" s* l
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 t. |9 g& a8 j6 i h! @! Z. g
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
; f# [' C- c* p! X$ C' MDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
( `/ E; j9 {# X' WDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" s a+ q: W( w- r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! }7 X9 [/ B6 E$ G2 h! s, s! g" B
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' b ]7 m6 j* }; w% U
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 E9 ?0 o r0 Y: C8 U: t4 [
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. E8 ^9 u% _. {* |9 T- o+ WDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" I0 _6 d5 r) ~( y, O
: W5 o% v. e$ Q/* override diags mask for selected modules */
. ?% g! C# d. \( ~xdc.useModule('xdc.runtime.Main');/ x9 B' D( _+ q! a
Diags.setMaskMeta(
' a' u) r: @" l8 H6 ^; k "xdc.runtime.Main",
# m2 t6 x Q% E Diags.ENTRY | Diags.EXIT | Diags.INFO,# J0 H) h l- ?# f5 E
Diags.RUNTIME_ON6 I* H6 w7 d1 k( }
);
! }5 A8 Z+ e+ G4 N' h' `( ~
5 {; a. }3 @. T6 \/ svar Registry = xdc.useModule('xdc.runtime.Registry');
" c d6 M0 h. v) }7 sRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 [8 Y0 v0 }; V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;# I$ F! w+ j n5 `; x
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- k4 P' i4 P- ]' B9 @; W
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 c$ h1 T; |+ y3 T
% }6 X8 M1 ^6 l+ a; X1 R1 F+ Y/* create a logger instance */
$ b! A5 y- C% ^6 yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. v- j, b* \0 o. O; E( wvar loggerBufP = new LoggerBuf.Params();
2 T8 T8 ~) C% `loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 T/ ~* T/ a7 Z4 LloggerBufP.bufType = LoggerBuf.BufType_FIXED;; g; y. Y0 A, R, g8 v
+ u! Q* A$ S: x8 @9 [) Ivar appLogger = LoggerBuf.create(loggerBufP);8 @: ^1 R% i9 x k! V
appLogger.instance.name = "AppLog_Core1";
& S! M" h" Q5 Y) I( M1 @Defaults.common$.logger = appLogger;
) b* R7 _% ]2 E9 S- k F/ nMemory.defaultHeapSize = 0x8192;
! r6 r. @+ n0 X% m2 |' a/ O. UIdle.idleFxns[0] = "&LEDStatus";* W1 i' Z6 S* y N* |! w
Cache.initSize.l2Size = Cache.L2Size_32K;0 ~3 h5 I+ |; b9 [# h# j+ b
9 N$ @2 {5 p G |
|