|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 `: X1 z5 Y% ~, g我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 b! S" t' |- Q5 k! g7 Z" q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 t" N1 W# s i- a, v# N
; i; z1 i# c& C# g: S
是不是需要在DSP.CFG中进行配置
" ~# o4 N# u( A. r8 y我现在的配置为( O/ u$ v7 \& [9 f x
/ T' O1 `1 x2 N' J/ Q# I$ H7 \, Z
/*
|2 Z1 C+ ~3 J6 B# `4 i6 f: R * ======== Operating System Configuration ========
" L: G9 Y, ~: z2 g9 c( b */
* r C x9 E7 u
5 t [ K6 S4 @6 Y' U% D/* no rts heap */
2 O+ Y) Z* ]/ @8 b9 a9 A% c4 c& PProgram.heap = 0;
; |! n- E3 `/ v+ YProgram.argSize = 100; /* minimum size */
1 ?" x3 [. j6 N1 B9 y; RProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大; w; i3 o1 q( E! h6 K/ v. e
* y1 D0 l$ S9 a7 @/* create a default heap */
- K. g+ X$ K& D6 Fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' s' H& }7 x, _) @1 ^3 Zvar heapMemParams = new HeapMem.Params();* W: B n/ s- f6 g
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- S6 F& J+ A$ Y
! g2 Y' i# T: K/ ~
var Memory = xdc.useModule('xdc.runtime.Memory');
' U+ B- }$ i" A6 A* `! _% e0 Y) fMemory.defaultHeapInstance = HeapMem.create(heapMemParams);- D1 u* x9 f0 F9 t% U1 Q, o* k) S
3 w2 B) j6 }* ?- ^' @; l
/* configure System module */
# C5 F, }/ y- T) Hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
L: y; \0 P9 E5 a3 nSysMin.bufSize = 0x1000; ?' q4 k) C5 v; y& p1 m
SysMin.flushAtExit = false;( Y) y3 C; |: M- r& `) i" Z
2 C3 M2 {4 _1 z8 A, N+ nvar System = xdc.useModule('xdc.runtime.System');
5 y0 N+ K9 _; u- f9 nSystem.SupportProxy = SysMin;
! r5 @ l( U" F- \' P6 c p& P6 w$ V- ]
/* configure SysBios to use the lower half of Timer 1 */
* E, ]9 G: `! a8 Q0 o2 ^var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ `4 U- p# U# N, D7 Tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');: W& x [1 ^5 ]7 j- P* U9 U
Timer.timerSettings[1].master = true;# e: p& ]( Q$ ~
Timer.defaultHalf = Timer.Half_LOWER;9 x# a0 b; s, l7 P1 ]) ]
Clock.timerId = 1;
. t/ U$ f5 A# h9 J' m) O$ p+ P, \* U8 [& M+ P) k4 B& |) V
' g# _8 l$ |; P) Z8 H
/*
2 \) @% n1 Q$ P; z7 p9 U * ======== Miscellaneous Configuration ========
0 H" R2 f$ E0 }8 I' h) m */
1 v$ u9 ?/ Q) _ B5 }
|9 O( w Y) L. C; f- H2 G/* set default diags mask */
/ V' }9 ^7 s$ f; Yvar Diags = xdc.useModule('xdc.runtime.Diags');' C* w" z3 ~- t L6 E, j
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ Q# P' _& g; I$ h$ t, b: C' ?
. C# t* c5 M4 N0 W0 }
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! y! B: e) g2 j( p' @8 \9 q& j) H
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ [$ i1 j. T U/ i( jDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 `# ?1 k8 A _2 Q! K: l# ]% j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 [" t; P8 g0 k: ]
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! r, O: v5 I$ Z: m/ b( G/ XDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 n! r/ \' N3 g5 b, P' y3 J
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 |" b& u- u ^0 u1 c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 R2 j& {% S7 J' V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% E! ?$ M" p) |. jDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ ]* u+ z7 i* u5 y6 M. n
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 C+ v' @9 D1 `. ]9 S$ m; O6 j
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 k% v7 J/ F9 Z W0 b) \; cDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 I/ ^3 R! y1 X A. D( r) |$ W
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ l7 p& \& R* Z% p8 |, Z- M, ^0 _9 r- z" ^. b
/* override diags mask for selected modules */- G2 L& r5 M! l/ w! [& G* |
xdc.useModule('xdc.runtime.Main');! ^7 |5 q$ t P5 r/ |) H$ t; D1 ?4 Q
Diags.setMaskMeta(
% |1 E5 y1 D, z8 K- W; d( N "xdc.runtime.Main",
$ L' K/ b: J1 k* h3 \) x- { Diags.ENTRY | Diags.EXIT | Diags.INFO,
: U- b5 O# W9 V- k* u, Y- v# U Diags.RUNTIME_ON
; v- Q4 b F7 p0 y);
+ a H" x4 m. ^+ ^+ ?9 w
0 M/ y1 \' _% s; Y4 {/ T5 evar Registry = xdc.useModule('xdc.runtime.Registry');. a1 U' D0 ]. A* }8 G4 n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ D- Z9 F2 m1 H6 ?7 i2 t/ G, V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ |9 `. C; t& h8 H* o6 E* s7 [
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
- E h5 w( _ u oRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( L7 Q2 C2 e) |7 J9 i2 D6 g/ G- H8 ?1 q2 _3 m0 I" D% s' g/ V
/* create a logger instance */6 [6 {) G! w9 w9 @6 X
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# H7 [/ S3 S) O/ C& a
var loggerBufP = new LoggerBuf.Params();" |3 ~% e7 G( p4 b% c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 l3 T5 _0 U/ V+ {- U$ ~
loggerBufP.bufType = LoggerBuf.BufType_FIXED;0 S1 p2 K' |/ h0 u
# S3 ~5 d: q- e; G& v0 W# D1 H0 H
var appLogger = LoggerBuf.create(loggerBufP);* p% B0 y4 Y5 R- K( R3 E- c, |
appLogger.instance.name = "AppLog_Core1";
; f P( {6 W5 _0 ~" ]+ jDefaults.common$.logger = appLogger;
9 Q! h0 v6 {$ T6 A' }0 A6 s' K& rMemory.defaultHeapSize = 0x8192;
" U5 e+ [' \6 ~* [) g XIdle.idleFxns[0] = "&LEDStatus";1 W1 _6 T" F* K; _" D' j4 s
Cache.initSize.l2Size = Cache.L2Size_32K;
N- B" D) L9 [ x2 l4 U& a7 v' G n" w9 J5 @8 ^" P' B
|
|