|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 ~; h0 l2 E# W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& g# o" B; t/ n6 }, F. W
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' {# [) z) R3 @* y; f j
4 e5 H2 `2 D* m0 b/ g2 N: u是不是需要在DSP.CFG中进行配置
) v2 y$ i$ q H5 o我现在的配置为
0 [7 R& p/ R3 G% H6 G6 x7 N2 E6 l4 i- u% D: N2 y0 s: ~' h
/*4 b5 k: {% v9 S3 N! w1 n9 H3 Q
* ======== Operating System Configuration ========3 G2 W' i5 u2 f) Q# W2 c
*/" Y/ f3 e- \( M
! o9 Y$ j! x4 L- |" |5 ^. v( {8 q
/* no rts heap */
+ A5 ]0 `! O2 G* u$ p; N4 G/ n' @* CProgram.heap = 0;
* J( C+ X* F J( m9 {Program.argSize = 100; /* minimum size */1 D( O9 o7 R( }/ S9 w1 {( v
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 R! F8 a1 V2 U
! M! Q k# K! @- q# X
/* create a default heap */; K8 J r4 [. B( J- m& T! Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ Y M* c3 h' Z# {
var heapMemParams = new HeapMem.Params();8 ]! P( a: M [% }, H8 G
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- J# z; n! @0 w% }# W4 X
1 Z- j6 F Y$ m
var Memory = xdc.useModule('xdc.runtime.Memory');
8 I: K- C8 Z) J4 X+ A. sMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 A- x1 l1 _/ q
! F+ S4 W. f" a/ C" V8 @6 g
/* configure System module */
' @: s5 U. B. O9 `var SysMin = xdc.useModule('xdc.runtime.SysMin');
0 e4 U+ Z1 o) k( Q* e$ TSysMin.bufSize = 0x1000;
' n7 m' d2 Q$ V" E2 g. YSysMin.flushAtExit = false;
& q8 N% ?3 F0 O. O: \' |' V3 ?& c1 \$ @
var System = xdc.useModule('xdc.runtime.System');& \& G$ E( [" Q2 {5 S+ D* c" h' W7 @
System.SupportProxy = SysMin;! ?8 W6 m; R1 B6 k- Z
" j. ]4 W( E5 c' [3 R' O* |/* configure SysBios to use the lower half of Timer 1 */* A- l9 p7 X6 u7 F
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( H: X' h: q7 v2 o( r2 [( O0 Z
var Clock = xdc.useModule('ti.sysbios.knl.Clock'); J6 F. |6 j" n8 t2 @, _
Timer.timerSettings[1].master = true;
7 X3 {- z6 p2 a/ I% H) m0 h0 ATimer.defaultHalf = Timer.Half_LOWER;* h8 w: W, o& Q$ I% G. o5 ~: @
Clock.timerId = 1;7 e$ f4 n- f" O, _3 c. }! e" c8 A
# D5 p3 L/ u% R, e% p1 D
/ j* |# m1 o8 O1 X5 t* J0 e# l/*" Y( W1 v+ h* I, A+ M
* ======== Miscellaneous Configuration ========7 y7 _$ P/ F& }! n) V
*/
. ?2 W6 L" }1 e. a1 {. z% \: j, |$ v% m( T) g$ Q$ @
/* set default diags mask */: z) h; S* _9 A6 W9 G, x2 P
var Diags = xdc.useModule('xdc.runtime.Diags');$ [3 {( n. C$ t
var Defaults = xdc.useModule('xdc.runtime.Defaults');
( ]9 H- g( D, e0 f/ U- x& B. D% ^
3 A: n% @7 I* XDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
! u' \& {& b2 `* ?0 |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: O$ z' R8 L# l/ f% m- D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! h& }( [' C2 i4 M) }9 U& A
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ x8 o; f/ @7 Q( [7 C( r. E6 T
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 t- q" S- c R1 `4 w, ~Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- f) f/ ?8 T3 b. M! ~Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( \! S# R: F! @3 e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; a8 X1 O& g" X. I* R5 V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. `, f* P2 w) Y( a9 BDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' D$ l2 \6 A9 F0 v. KDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ E9 d' F/ a+ Y% L b8 A5 w% e; eDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* I M+ T9 |/ }9 Y$ J( r
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ y! C8 z T) v- K
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ L/ g5 u" _% F( G7 n, ?& ~: n) \) I3 b
/* override diags mask for selected modules */
' \ r, ]' e$ t% b6 ?: hxdc.useModule('xdc.runtime.Main');
) ~+ w& {3 j. e4 N/ T8 eDiags.setMaskMeta(
/ f5 T: |9 A/ X8 `/ u2 }: P- _ "xdc.runtime.Main",4 r/ P1 n# P5 S; S9 u
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% p3 x2 `8 U' X" o: |2 `5 w- C: ` Diags.RUNTIME_ON/ m9 q$ T1 s/ n8 h$ \ k% g. a
);
; N& U3 H* k2 X% J- x4 j) g
" _# v0 Z+ J* \; F" ^$ w: Nvar Registry = xdc.useModule('xdc.runtime.Registry');
: p U4 n8 V% n* e& S" mRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' C$ |* }- w: {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 y+ U `) Y0 F: m% g V0 sRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;% W* P) E8 _% E. Z
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 A5 _0 O* ^2 Z. i5 D( H0 j- L2 {2 C1 _& C1 ]- G, j
/* create a logger instance */
$ a/ M8 q; |1 S" y2 @: B! T. h. ~0 Hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 E: c4 Q1 P9 d' D$ `var loggerBufP = new LoggerBuf.Params();- w5 ?% ^ F; n/ O; u7 W f
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( ~2 [: [4 c3 E3 T8 }% N& J uloggerBufP.bufType = LoggerBuf.BufType_FIXED;8 |( P, k/ t& i1 f- _; k: L
, N& i, p6 F5 d# V; L$ d+ M
var appLogger = LoggerBuf.create(loggerBufP);
: ]& W) Q! T9 \; D* \appLogger.instance.name = "AppLog_Core1";& S' n5 e: K+ ]# q5 }% \8 G
Defaults.common$.logger = appLogger;
* o6 r+ e- c( g: LMemory.defaultHeapSize = 0x8192;
& ?+ g0 z! n, K0 sIdle.idleFxns[0] = "&LEDStatus";( _: B1 t* ?5 ?3 ^. q. U
Cache.initSize.l2Size = Cache.L2Size_32K;
/ f, X% k' ?2 @& ~% |1 R4 K, y0 R9 v- N9 \2 C
|
|