|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 o1 N* c: D S
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" F* X6 r' n, B- r1 t6 S* [
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 x. N, P' i6 L- }; J: o5 W- j
: {5 C8 @, J0 {4 S2 x& o- A B是不是需要在DSP.CFG中进行配置
' Z, ?3 B8 Y4 m; F% W我现在的配置为+ n; s7 V: A: K/ e$ N+ B' f1 N# q
" D' P& {6 {+ s5 f' W" R! W
/*
: L+ @9 A* t$ y5 ^, f5 W* J; Y * ======== Operating System Configuration ========6 i( N! w% ?" {- n+ [6 u' {
*/
- L" N+ i/ g: T1 g; v: ?& y# n) q2 m" p" b9 y
/* no rts heap */* e) ]! `) v' A3 U8 t
Program.heap = 0;3 B& a' r' b7 j) t( K# g5 N
Program.argSize = 100; /* minimum size */( M1 ~& ~2 a# }: T7 k" Q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 o) F' r7 ?6 }! n: S
! T& j) o4 G! e
/* create a default heap */$ E. ?4 K9 e, L6 Z; E2 |- H
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 n0 R1 |3 V; S$ A7 v o
var heapMemParams = new HeapMem.Params();
1 r) }8 N) n# t7 F, mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% S; g& L4 q- {/ F P n3 l" ^6 o
+ ?1 r$ p9 H [8 B- E* }* j
var Memory = xdc.useModule('xdc.runtime.Memory');1 G) u6 i( d, ], z) V' z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);6 B; K8 o8 q% x
7 K n* a# N& K/* configure System module */
1 [5 k% D9 k4 l- N4 ~1 C+ fvar SysMin = xdc.useModule('xdc.runtime.SysMin');
% A$ J7 o; t5 [, N8 ^SysMin.bufSize = 0x1000;
# L1 c3 }0 c: H5 u) ZSysMin.flushAtExit = false;5 R9 X8 x2 g+ K0 E1 g7 V ~
/ o. q& ~( }4 h6 z M4 A$ C5 e
var System = xdc.useModule('xdc.runtime.System');& c5 g% H; C. r) Z+ K
System.SupportProxy = SysMin;
5 T- r; S. g0 F: }2 U/ o2 x& x& h" L! G( k- G
/* configure SysBios to use the lower half of Timer 1 */5 U/ X& v" K& V) z" G
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 Q$ R. L; ^+ z# Gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');5 S' {/ `* v+ T# Y) z
Timer.timerSettings[1].master = true;
* V' e, j% r. _2 c& ETimer.defaultHalf = Timer.Half_LOWER;
" O( [4 k3 T. H1 [2 a2 x8 UClock.timerId = 1;
" ]4 h3 U% o& c
5 L# l) i" Q* G8 ]" O5 h) O s* R D1 c0 l0 i M2 i
/*8 n* b1 @. C' j0 K4 y" `
* ======== Miscellaneous Configuration ========; I2 C5 z: z/ n) T5 m3 e* U
*/
; g; _- R: R( w
3 s$ N* ^* q* a$ ^0 W4 U- g8 N' @5 H/* set default diags mask */
7 y& @; Y7 _- ]0 k% Vvar Diags = xdc.useModule('xdc.runtime.Diags');
3 L0 ]+ k, `- c$ M: S% dvar Defaults = xdc.useModule('xdc.runtime.Defaults');( Z& p' `9 P( W, f7 u
/ l/ |0 k- F% ~( K9 ?3 F5 ?/ q. e
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
! a: F* N* b0 l$ A; _9 XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( i5 t+ N- d {$ ?4 U B1 MDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- t) X5 \! k9 O. L/ b9 J0 P* sDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* ]) Z* Z# N/ t/ @1 P6 |$ KDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
: }& {8 B1 e% e- @ V; IDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 P5 `0 Y; g/ M- S( b% D( |$ A
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. @1 q. A) V7 u) t# d
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; @" y* e- Q; M+ K0 r' }) h% Z/ h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, X( y3 F" Q2 d, s
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 [% p# `+ w. t7 V) z- _- T9 W
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, \# N: n3 I7 `3 tDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) V) \! p# P# Q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ T+ t7 f. g2 uDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 F$ b" g2 y) K+ C* o% ?# C9 V0 M
7 q* n5 b: b3 W
/* override diags mask for selected modules */5 i1 z# X* b9 m
xdc.useModule('xdc.runtime.Main');% u9 |# ]" A* {9 c: v/ M1 P
Diags.setMaskMeta(
/ w. ~" U( R) M6 k+ _ "xdc.runtime.Main",/ k0 h) D8 B* l2 V4 ?4 C
Diags.ENTRY | Diags.EXIT | Diags.INFO,
! A. W/ W0 f3 K! o0 K3 X4 L Diags.RUNTIME_ON# Q! k" S. Q9 n$ [; e1 G$ b
);
& X; s0 ]& P+ j! o# n$ @( q$ }9 t5 @) j: [6 I* s1 Q
var Registry = xdc.useModule('xdc.runtime.Registry');
5 f M% i" F: k* C5 Z3 s" oRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, O( r- F4 Q& K, Y5 C
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 R3 w/ E3 i1 C) B4 m! k! `1 r
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 k( D+ G* A# i; h9 y8 b- DRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) [7 x0 j! g/ r" h1 b0 L" B, v& b+ W8 f: b/ I7 w- z
/* create a logger instance */
- a' U4 |- T( V r+ a. z6 P9 y( O! gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ ? Z8 Y& R' x+ P K
var loggerBufP = new LoggerBuf.Params();
8 u4 y6 t& ^* Y9 p& qloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ i# v; a4 o2 d) ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. a3 H, O& p1 `8 p4 Q
' T1 a4 o- v, R8 b- e, R
var appLogger = LoggerBuf.create(loggerBufP);
+ ^2 U: g7 t% p, V, WappLogger.instance.name = "AppLog_Core1";
* @" Q. x3 o! h+ c% R% UDefaults.common$.logger = appLogger;
! [- s0 w( `4 BMemory.defaultHeapSize = 0x8192;
+ v" ?0 _7 b7 FIdle.idleFxns[0] = "&LEDStatus";
9 ]3 V- \; Z! ZCache.initSize.l2Size = Cache.L2Size_32K;5 C% ?7 r1 ?9 h) u* m
) J. `4 m1 a7 E& ] |
|