|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 h( ]0 x. D8 h3 B. D2 `) E9 {
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- m: S. A6 E. a4 z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. ^+ o% J4 @$ b$ q% E# k% z* l$ ~( J' f
是不是需要在DSP.CFG中进行配置
+ q- u& A0 S& |5 x0 {% v/ P我现在的配置为
# d: @ f& _9 T+ ~& ?
8 k* U% O, H3 J( y. g9 ]/*. `2 H, y e) g
* ======== Operating System Configuration ========' V6 X' P6 y5 z) a% m
*// z& a7 E& E: a3 i, O+ b# {
1 V9 r- X! v% D- x3 A! ~! ]3 G
/* no rts heap */2 k8 P; A& C$ B. x. o/ k, C& M6 A
Program.heap = 0;1 g! a/ Y1 y+ m" @
Program.argSize = 100; /* minimum size */
; e+ v* B% q; v5 d4 b$ |; `7 `4 SProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ {5 _& ~. k9 O% C. k
$ ~- L% J/ C' ]9 a, b! Z/* create a default heap */
- v7 A- \" z+ x Bvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* ~; i1 G9 ~1 rvar heapMemParams = new HeapMem.Params();
5 K* }0 t/ |* KheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; y t; ]4 v4 h. ~
1 o) A+ m' ~& Ovar Memory = xdc.useModule('xdc.runtime.Memory');
6 S6 d) W9 ^' WMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 h { K4 {0 V/ a) ~
! B& }. ~- a2 S1 a. f& Y# v' ^1 r/* configure System module */
2 k$ }. X/ w% {5 V: Svar SysMin = xdc.useModule('xdc.runtime.SysMin');% `) M( y# ?1 n; A a" Y& }; I% S) ]
SysMin.bufSize = 0x1000;1 H; b( W" k( t8 [* J+ ~
SysMin.flushAtExit = false;; @ `5 L- _7 q C# p% ?
$ [9 v$ |& d) L0 R) P' b( R3 wvar System = xdc.useModule('xdc.runtime.System');
2 x4 S0 J9 y( S% @! @System.SupportProxy = SysMin;# ?: S/ |- `: V& C, Y
3 C' u. L7 Y5 h* o& |, ?9 N
/* configure SysBios to use the lower half of Timer 1 */
( g; x' @4 a' c/ R/ cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! K8 k; E% `$ A2 I7 v
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# Q D( j5 ^% X( D' Y: B9 n; JTimer.timerSettings[1].master = true;" P$ p0 q! L. j |4 @
Timer.defaultHalf = Timer.Half_LOWER;
3 W3 i+ _" l& J' S+ jClock.timerId = 1;+ H( w5 X, q$ S0 P, a* u$ J
2 {9 v# {6 U6 ?
* q5 ^/ ~3 I% H9 ?% j6 g! q; P/*) b) I7 e. [2 i1 A" ^' V0 |. X$ w
* ======== Miscellaneous Configuration ========
7 Q- g A+ w+ L( s */ M: H7 A3 c5 ~& g0 K3 b4 v3 ?% N# l
% W( {# s% F+ b! t
/* set default diags mask */
7 j+ O7 D- a" ~; g" b& nvar Diags = xdc.useModule('xdc.runtime.Diags');
% _, m- K( @7 k) [) O- K& Pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 `8 Y: K* E/ `! x
, d5 g+ a3 d( v+ U# ?( \6 n5 ^Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 n# B3 v( Z( c/ r- [
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
* v0 m8 [ \$ f7 S3 `% q$ UDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 k# K1 x0 N0 I: a% s/ k8 R6 WDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 _1 L! k. F4 f! H( PDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' v) Y; w7 P: bDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; Q' o; y0 {0 i: n& sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; Q) U( }0 r$ z! V
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- D4 F1 |5 @7 M! ^6 w9 S s
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" {8 {, O" M1 I3 g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;" }8 L' I) N' N3 h$ A* z V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 |6 J7 G& D1 L9 G# UDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: P: n" Z, ~ k) Y, y# ?0 mDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
o8 i, {; A: ^) E$ k2 X9 [Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" R) ]* B! I( ~$ y. n: k/ F" s- {9 Z) X
/* override diags mask for selected modules */- Z3 W9 b8 n7 z1 \* @2 z8 K: _5 A; D
xdc.useModule('xdc.runtime.Main');
- f% [5 _) @8 ?8 ZDiags.setMaskMeta(5 i- F% G) r3 c8 H0 [# |. M
"xdc.runtime.Main",* n1 U' F. p2 N8 z9 G0 L/ n2 n" u
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ v' C. H: F' }6 T) z Diags.RUNTIME_ON7 P `" d E6 Q& F# o
);
# a- y( `# M4 j7 `& j! u. C5 D' f$ u- u+ J* C; ~
var Registry = xdc.useModule('xdc.runtime.Registry');
4 j' Z6 y0 C/ a0 U0 YRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- z/ t. V( y [) @/ m
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: |/ t1 V: g0 S% P i* _
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 D$ g: ], |& u7 r9 h. h7 }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, _$ u+ Y" }- k7 m- b7 o, K4 Q( W0 @' x; @
/* create a logger instance */0 D. A3 Q" ~: k( |
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 x( n, N, p2 M3 s1 J1 |8 h( T( avar loggerBufP = new LoggerBuf.Params();
1 L% g( F" u$ A- n0 d7 bloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& S5 P! P9 ]/ G8 j& o- [loggerBufP.bufType = LoggerBuf.BufType_FIXED;, g. W3 r7 {" M
( `9 S+ c* P) ^0 a) A7 C7 O
var appLogger = LoggerBuf.create(loggerBufP);
- K S( {* @. V* M* Z0 N4 iappLogger.instance.name = "AppLog_Core1";4 A7 u: P6 E8 q. ^2 F, @8 r4 R8 |% j
Defaults.common$.logger = appLogger;
3 A7 \9 z- n7 F, T8 v" y+ k: CMemory.defaultHeapSize = 0x8192; / J' ]8 {. y+ H8 o
Idle.idleFxns[0] = "&LEDStatus";
! `7 n1 u9 g$ ^8 `Cache.initSize.l2Size = Cache.L2Size_32K;3 P, M7 B; H5 J" F; @
8 T# K. T" e3 S/ j9 M8 d |
|