|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; r( d/ u: a e% z, t* w
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* U' X+ T. ^0 \, Y. ](不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 W4 k9 A: V B' v* n
& K! U; j& ?( j* n0 \8 N! _是不是需要在DSP.CFG中进行配置3 y7 W, ^2 R/ X P- F
我现在的配置为8 [' D+ f0 Q4 H5 @1 @& S. b
5 \: {1 `6 y/ D' Q" {& @
/*& t ?5 q6 C( j8 _ B6 K
* ======== Operating System Configuration ========
6 y1 ~/ } e# S7 W5 d */
1 B/ N$ X1 K/ h0 k8 f2 z
" R3 c# D5 Q4 T! I! j/* no rts heap */+ ~" y& S5 ]. W8 I
Program.heap = 0;
5 k2 ?2 F* B5 C% E1 s7 MProgram.argSize = 100; /* minimum size */
) I$ w/ W$ r, M! n* f( UProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ {3 O* y( v0 E* p9 o' w/ v5 D! z7 _ x8 F+ c
/* create a default heap */6 R( p( ?; E" J$ a
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 v) F7 k# \- x$ Y9 N
var heapMemParams = new HeapMem.Params();* `! f3 F" }( N. n9 z' e! e2 Y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; {0 R. \) X# U
; A [1 F& q, J5 s' ~" N. [- I |var Memory = xdc.useModule('xdc.runtime.Memory');
4 E1 O8 n, @: i0 ^+ `Memory.defaultHeapInstance = HeapMem.create(heapMemParams);0 K! z1 }, k* Z, _; a
( S7 S' ]6 } t* [0 j5 W4 S) }/* configure System module */
1 H K' P$ j5 I/ ~. nvar SysMin = xdc.useModule('xdc.runtime.SysMin'); ]" l4 n0 w1 a& K! Z4 q
SysMin.bufSize = 0x1000;
, y; m! e' n" aSysMin.flushAtExit = false;" @( G4 ^( f7 C5 @2 U" Q3 K# i
6 B* L& n2 K* p6 N0 K9 Dvar System = xdc.useModule('xdc.runtime.System');2 e; [$ e. g& x- X7 r) e
System.SupportProxy = SysMin;+ J0 s+ @0 B C) F4 f
4 s7 m; J9 y/ e; I& r& @/* configure SysBios to use the lower half of Timer 1 */% H8 u$ b6 l- y. u0 N, Y3 L. I
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; J, L' N3 e/ C: ]
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: H) r# c: L8 t, I( _" t+ y$ o4 ]Timer.timerSettings[1].master = true;8 H1 b; v& h9 ^) e: ^
Timer.defaultHalf = Timer.Half_LOWER;, _( C- v" }; H3 J* q0 Y( |
Clock.timerId = 1;( f, f% t. _# V& s
! D3 H# `' s3 I3 j0 p
5 P6 s' h) c$ F! W5 H7 a! U; T/*0 W' p$ N# E, Q y/ R: s$ \6 n
* ======== Miscellaneous Configuration ========8 M- S3 B5 j; p" B
*/
6 z; o6 `; P6 f, U% Z* [! T0 r: F* m
/* set default diags mask */
2 J2 O! A* w- P, K2 yvar Diags = xdc.useModule('xdc.runtime.Diags');
8 U( w7 p+ u2 b% Ovar Defaults = xdc.useModule('xdc.runtime.Defaults');- t. d. L [0 i z
0 C+ i+ `' s( K5 C, A) \; I. kDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 q: K2 \# h; v6 ~ c2 S; `- \Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( _( g8 q& u' y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# w* S" M. B# o3 ^4 |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 W) Z. V0 ?" LDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" O' q/ y/ t \) R6 U. fDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. j2 I. J9 w) I( B0 lDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
3 P8 U C5 \$ {9 Z* KDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* X" X& ~" k$ K, cDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
: g0 N+ v6 ~" EDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF; r) C3 \. `9 [4 X
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 m2 B7 \. H& [! S2 K L3 Q S1 x& Z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. W# P: `; b# S/ K) EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
e% Y% J4 L9 ~- GDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- K8 y* b1 w. W# e7 ^
# L# z* G1 E) x" f: g+ x) u7 C/* override diags mask for selected modules */5 f( d6 D1 z3 k6 Z, u
xdc.useModule('xdc.runtime.Main');
3 f- q- |/ u8 L4 zDiags.setMaskMeta(
9 t. h* N% w. ~+ H, r7 p. x$ Y "xdc.runtime.Main",
& K$ W; u0 v. ] Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 N2 w2 f- C$ T! O" e Diags.RUNTIME_ON
, A1 Y" w/ k& A# Y0 W+ {' \" e);, H7 k# D2 h/ c0 T) g+ ]! h9 J) m, T
1 H1 N. O5 W$ B5 wvar Registry = xdc.useModule('xdc.runtime.Registry');. c' ^! ?$ ~# r- ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# d% s% |) ^3 m2 X8 ?$ ~2 B
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( z8 F$ k7 o2 y! ^2 r2 z- s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# F# x* j9 F/ \6 X1 y; v( XRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;: c% {3 e! B% R C: _
5 `6 d/ F( U& g1 [/* create a logger instance */
. t' q: \6 f# K1 K6 a; H% y( Hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% o& ]5 x) [. S M) i. ^var loggerBufP = new LoggerBuf.Params();0 ?* ~9 q! E, Q w8 I
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */; c8 G: ~6 M. m* o
loggerBufP.bufType = LoggerBuf.BufType_FIXED;2 G& _3 X. S2 ?) o$ L7 W* @7 ?
2 Y& o# w" c7 H$ w4 K$ o, R: S0 T
var appLogger = LoggerBuf.create(loggerBufP);
+ C K) i: m- I2 @appLogger.instance.name = "AppLog_Core1";
* C# t) T1 d6 L% [3 d h' Y4 P/ ~Defaults.common$.logger = appLogger;
; k; f3 U! w l, } a% k( SMemory.defaultHeapSize = 0x8192;
* ], e. `# ]3 j5 k; {0 eIdle.idleFxns[0] = "&LEDStatus";
7 J; z3 q( M5 f- v; k V; F8 s, rCache.initSize.l2Size = Cache.L2Size_32K;2 t) j* l; g9 {: C9 H
( C, v2 p' ?; I( l |
|