|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 \; p" ~, L! {" Z; x* n- F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) \; s- s+ V0 F. Q7 Y$ G' q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 n+ N/ I- B; V9 K1 ^ s; X% l' y% u4 W
是不是需要在DSP.CFG中进行配置
9 L7 I+ [ ?7 j+ @$ D我现在的配置为1 ?, K( y t" R9 h! w$ ~# ]
9 c) u' f2 h/ j' L0 B. D/*
& a; q3 V1 ?& U * ======== Operating System Configuration ========
& [# M2 L+ }) X! \8 l0 ` */
/ N0 F6 A% u; }: o) I' w$ x1 i, e4 i( y' M
/* no rts heap */* k* J* `2 q+ ]; X
Program.heap = 0;0 ~. F- I. s3 d7 K8 p1 R8 U3 ]
Program.argSize = 100; /* minimum size */" C4 K! c3 A, Y: R
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 w( R: }2 @& a, I K r
/ Z8 {! c* w8 {2 h; N& a. V/* create a default heap */, T8 `$ k7 S# n" |& L
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 L# }, U; r) B6 Y% x3 e
var heapMemParams = new HeapMem.Params();
" o A' M m$ E; \9 |heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" g6 c* c& x6 m% F
8 g- e* @/ |$ U: X9 K1 ^( Mvar Memory = xdc.useModule('xdc.runtime.Memory');
* P& k9 R$ [: m6 `- C# wMemory.defaultHeapInstance = HeapMem.create(heapMemParams);% a! c T2 \: D: n I
% w1 V- X6 v4 H- i$ D* q/* configure System module */% r( A- J1 M: z! _
var SysMin = xdc.useModule('xdc.runtime.SysMin');
6 i5 ~% K* m0 |SysMin.bufSize = 0x1000;5 O3 y4 D9 K$ D% z7 S
SysMin.flushAtExit = false;
/ z, Y1 k! c* b8 i2 r6 u: s2 D, a% j
var System = xdc.useModule('xdc.runtime.System');
) \1 y5 }/ U- X$ q1 C% HSystem.SupportProxy = SysMin;
% o" e) I) Q" Y; n/ e; r! X6 ?
. [/ j5 L5 O$ G; ]+ [/* configure SysBios to use the lower half of Timer 1 */' ~7 B( _2 V O4 p& ]
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* W/ k! h- k# ~4 ~. ^0 Q) M! Ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');- c( n) d. l$ ?- E( a( Z d
Timer.timerSettings[1].master = true;: f/ n. {1 z# M. }! Z7 x0 f
Timer.defaultHalf = Timer.Half_LOWER;
8 i, b# k/ z! TClock.timerId = 1;8 f* J! ]4 j4 y! A
5 {2 s" d6 X/ B
3 E) `& u5 ~- y* H* o+ C
/** x e- U" L6 p, }% C3 J
* ======== Miscellaneous Configuration ========
; V4 T- W" e, {; R */
6 }' s9 |+ _5 x! x0 P
$ n8 g! \. P9 k" [/* set default diags mask */
* }% ~% N7 W2 t% dvar Diags = xdc.useModule('xdc.runtime.Diags');6 u; P6 r' v% w# C
var Defaults = xdc.useModule('xdc.runtime.Defaults');. V8 w, e8 K9 D% t9 p
: T/ A8 b M& y" U) ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
h$ q' l' x; c5 F- }7 w; A& cDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- ?/ V3 ^0 Z( [! `* `
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- T- o" X+ v9 r
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) P( }. t& s" \# z3 h$ ?1 K0 d
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) X7 M$ Y( I3 x# q% z/ ]5 }8 E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; L" P. X: a5 _! bDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# j0 [$ U& k+ V5 \
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 J- c- o* ?8 y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- c) O2 u% j& xDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* C2 f# p2 i9 mDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 I ?+ y, w$ _8 o3 Z" h' ?: b4 `Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
M) z7 j/ t5 z1 g# H( `Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* }# k9 M( u5 @8 o( N0 CDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 `! J- R. o3 {9 U1 b) A
% n, ]8 k; ]1 N4 E( H% |6 X/* override diags mask for selected modules */ J3 g7 v9 d4 E2 h8 s) d0 e
xdc.useModule('xdc.runtime.Main');
8 K9 M' W: [; w$ k1 X; y0 f6 sDiags.setMaskMeta(
' m m6 x* y! z( n$ M# i "xdc.runtime.Main",
' C& h) R2 y: c# u% W5 T Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 j' s: l7 G% y) v1 Z Diags.RUNTIME_ON& B9 P/ ]5 _! s; h* t7 K! D
);3 |( X, I1 e& P* f; n: ^: X
: K2 w- i3 u) @8 }! K4 c* A* m/ Jvar Registry = xdc.useModule('xdc.runtime.Registry');% A; m/ T, t9 ]$ u2 x
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- C& J, L0 V( O9 @; m
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 a2 ~, j1 h- ?* D- B5 F; R: FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;$ V& \& n, B$ p& O% C
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 `6 t0 Q% O4 I8 v6 \( N$ e. r9 w
4 j9 |' g4 d4 E
/* create a logger instance */
5 A# [ O6 D) b& g4 L2 Y1 Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 t6 p3 K5 k. b7 T& O& P
var loggerBufP = new LoggerBuf.Params();: e! L+ Y* g$ t" I5 z; d5 p6 M. h! o" k& \
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! s+ I6 G4 O" D0 N) O* XloggerBufP.bufType = LoggerBuf.BufType_FIXED;
" @$ ?; L! U. }( a- ^6 G9 S# ], { U- F0 s: e
var appLogger = LoggerBuf.create(loggerBufP);
- J% Y* T r" S' h j# NappLogger.instance.name = "AppLog_Core1";1 D: l( Y7 T6 H) A3 x" ~
Defaults.common$.logger = appLogger;
% k1 D+ c* Q( Y1 I oMemory.defaultHeapSize = 0x8192; ! a( n9 H- b- j
Idle.idleFxns[0] = "&LEDStatus";$ ~2 w! `' T6 Q" ~/ v6 A: P
Cache.initSize.l2Size = Cache.L2Size_32K;
5 g1 V! H* b7 N$ r& r2 v8 @6 \9 f
, v! `5 W7 [2 I |
|