|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 R3 Y/ y! X3 X. W m. P5 l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 r" E" [0 G. f5 Z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 A1 |! V( g, D3 m; u- \+ Q/ L c5 S( s+ U" u- z6 |; { B N
是不是需要在DSP.CFG中进行配置
+ p* M1 @' H5 m4 P, J0 t" {我现在的配置为
: H! ]+ i, v5 G+ |9 q$ R
/ t( [) Q4 o. z: L& R& K. I; Q/ r; K/*. P: s! [) C& c' J$ i. Q7 q+ e& n% S, n
* ======== Operating System Configuration ========
1 Q$ Y' \" a* _ */
5 _( e/ d- W6 L% y6 z
9 T5 j) R- L: s1 o+ F: q( \/* no rts heap */
" U7 W* n5 n0 A8 u$ `& I, KProgram.heap = 0;
7 `5 n; C. p1 B3 \ s& y3 n4 P" MProgram.argSize = 100; /* minimum size */; m2 c/ b& C+ S$ U. ^8 I5 m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大. U/ {, U1 ?. e
4 `4 ~* p7 p$ v) O' @3 y/* create a default heap */& D; u2 B3 k: j% F+ d
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 G6 w/ b' O0 o' e, y
var heapMemParams = new HeapMem.Params();
9 a& h2 O" h0 P7 S% z8 Y- n- D# LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 t- H. i3 G# i$ h' z
! _' }# N5 F3 q" ~! [* t% Z C" [var Memory = xdc.useModule('xdc.runtime.Memory');
, o! t9 a5 L6 YMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 }( T3 j% g0 `0 a0 N) c& y
* j3 X! B. {% ?9 Y$ k) O
/* configure System module *// b: g# L1 F5 O9 a2 H
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ o" X4 K, a* O9 I) b! NSysMin.bufSize = 0x1000;
! ^! P4 W) E7 W) X0 ZSysMin.flushAtExit = false;1 N$ }( V- [. O; m) F
0 b, W' u7 j& K7 j6 Tvar System = xdc.useModule('xdc.runtime.System');2 r: ?+ D M3 v6 ]
System.SupportProxy = SysMin;
! W. k t' ]/ f
K/ ^+ G) N3 ^7 R+ `/* configure SysBios to use the lower half of Timer 1 */
; e! h% e. p h- K) w' Mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 o0 {& Y7 Y4 w7 R1 f
var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 ~9 I8 ]' m# [/ o
Timer.timerSettings[1].master = true;3 J# Y. ~) y0 e: [9 r7 }
Timer.defaultHalf = Timer.Half_LOWER;+ q$ b) y1 A! A( N
Clock.timerId = 1;
9 L1 B0 M4 Q& h
, y9 P' I& H9 R0 C* N6 b/ B
- m) Y. w$ x4 @2 |# F7 J* L/*1 K' ]2 Q( q' k
* ======== Miscellaneous Configuration ========
0 h1 b- H8 w7 v1 e' k */
7 _3 G# |! Q5 S; V; p a/ d6 X& B6 A
/* set default diags mask */
+ g# h( N( j" R4 z8 X- p& x9 fvar Diags = xdc.useModule('xdc.runtime.Diags');
+ N" S3 P* V" R6 G% Y2 \) bvar Defaults = xdc.useModule('xdc.runtime.Defaults');: ]) z- D6 l( t. K; u0 |% ^
+ N, C6 K( |6 I8 l% lDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 `/ N9 R) G6 d7 a. U
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 G2 o( ]( D( f& _Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 B4 J5 y2 Q4 N' W x% [. {* MDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// e6 U0 T" f, B& _0 |4 r
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, e2 ~6 M! P7 A2 [1 vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" @" y4 k1 e% M# o$ o7 e* pDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# J8 W5 F- F3 ^+ ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' W9 T; Q% A0 u5 o2 W4 g4 l
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 h) c8 u S" U0 J7 [- w5 @
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- ~ L3 l7 a8 I3 CDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 N7 }7 J$ o2 Y4 ^" W/ LDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 Q/ S/ {2 U( \& u: Y& j
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 y+ ]1 Z& @4 X S& g& z& DDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# g& @' K5 n* M6 `/ }5 x& G7 ?
X, _( N! P% s$ G1 D/* override diags mask for selected modules */: `8 x' O% \7 Z7 _
xdc.useModule('xdc.runtime.Main');, M, c1 Z) j D4 Q r
Diags.setMaskMeta(
5 a9 S* F- ]: a+ o6 h, ?: q- \# O# p "xdc.runtime.Main",: d* ?' q3 a/ x. @. z8 F
Diags.ENTRY | Diags.EXIT | Diags.INFO,+ l" j" o+ b5 v0 h
Diags.RUNTIME_ON
( N; v# s* Y1 g5 g9 I( v' ^);
# U( O* \! h/ ], ~$ J) N: z
7 ^9 x3 W3 o. a) [0 dvar Registry = xdc.useModule('xdc.runtime.Registry');0 Y; C4 g$ |* F5 t$ p6 Z# I
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 z4 d+ C# \$ J5 p( `+ w
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: _! X' Q0 M& E7 a
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;# o `/ I* f5 _0 @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 P9 P8 L! Y4 e& C( |, y1 d) x, `- b5 r' o
/* create a logger instance */) ?* _& \+ [8 a
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ _/ \+ A$ e8 ^* P
var loggerBufP = new LoggerBuf.Params();* l+ U( y' a+ O7 f6 P
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */9 u0 M, }& |5 t7 y' r1 U9 D2 G
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( B( {9 z% ]) ~ ]
+ s# Y' @; b" {( U; @- Nvar appLogger = LoggerBuf.create(loggerBufP);
. b1 @( F3 V8 }" Y$ HappLogger.instance.name = "AppLog_Core1";
6 h) k5 _7 Z$ X4 h9 C* BDefaults.common$.logger = appLogger;& c7 K% x% z7 a, F4 o" L
Memory.defaultHeapSize = 0x8192; . m- E j- z+ H( h
Idle.idleFxns[0] = "&LEDStatus";* z/ U( L; p7 m& \" K0 Q
Cache.initSize.l2Size = Cache.L2Size_32K;
4 X; v( M6 R9 L5 R9 C4 X" p; ^: d4 B0 `
|
|