|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 e5 B1 `0 H. R7 D1 X; }7 v j我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 D% p2 U" o( O# B! j(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 l9 A- w) D" |& c/ `+ @% T# L
$ q& ]2 P) f( s6 @是不是需要在DSP.CFG中进行配置
: o+ q1 L1 w6 |我现在的配置为
% q1 {3 W! y E' m- F, Z8 K& c& u- }3 ]. G& `/ x; J6 I+ h A
/*
2 V2 |5 n$ i4 c+ P. O * ======== Operating System Configuration ========
" g4 y/ N: Z) b) Z: {* H; m */
% d2 P3 y: n* ?$ N8 f- z
, M& ^1 }, U' K0 w8 s2 k/* no rts heap */0 p' T( E' P L, v. w
Program.heap = 0;, W. Y' [, d1 L, \% o
Program.argSize = 100; /* minimum size *// Q% y' I% b' g/ O
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) S6 ^6 {2 d* h: r* Y7 u$ G" Q! D0 C& U5 V( P6 K; G& A/ _
/* create a default heap */
$ t0 T( `" \8 W; ovar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 L2 G6 x6 J) D8 u9 i2 t yvar heapMemParams = new HeapMem.Params();
4 c- r0 \: W0 n# p9 u2 R( @) FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ T+ {- z5 \+ t) x
" Q+ w( O- v" q. yvar Memory = xdc.useModule('xdc.runtime.Memory');8 t: r. q+ n4 H. s' R: S
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- w5 X7 s2 ~& _! m; D. [3 |" J) E
. Z6 O+ h( V# H; q& d. y# W6 ~, J" G
/* configure System module */! F- l' Q( }# [& q/ n
var SysMin = xdc.useModule('xdc.runtime.SysMin');
' H5 u$ O. j3 X+ dSysMin.bufSize = 0x1000;
% T+ U5 S2 R# h5 V: f) aSysMin.flushAtExit = false;
% w# N P1 f/ i; l5 G) {+ V3 R2 \9 b2 x7 X
var System = xdc.useModule('xdc.runtime.System');) O) h$ ~/ l# e1 C0 D
System.SupportProxy = SysMin;7 N5 N" X/ u# L2 V
9 R, ?( D3 z/ ?
/* configure SysBios to use the lower half of Timer 1 */
6 |$ {) D) A: q4 r7 avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: W3 _. ^" `$ w: K: h/ Uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');3 W% f9 g; p- [0 J7 N* p9 {; d7 `
Timer.timerSettings[1].master = true;1 a2 \) Q: p" h: y& W* ]( v% D, |
Timer.defaultHalf = Timer.Half_LOWER;
4 c( ]& F, E2 iClock.timerId = 1;
+ c/ T: _; {0 S# h6 H) |+ i
) w" K2 X( t& t. \6 g& G" ?1 S3 e- W. A& }" |
/*4 d& v1 l% o% Q/ F
* ======== Miscellaneous Configuration ========7 u' r; ^1 B, u1 b/ {$ t5 b7 ~
*/% d! q; Q+ ?/ L- J& k# {3 M
9 K8 G: H. d2 W( r$ x/* set default diags mask */
- X0 M: v: w) F' ?; _, |0 G+ o4 Rvar Diags = xdc.useModule('xdc.runtime.Diags');- X3 ?* S' _* S* j* E1 I
var Defaults = xdc.useModule('xdc.runtime.Defaults');
. Q7 m @" E* Z& C8 O& Q8 I
5 C" ], F5 ~$ N" KDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 C' { B- a! w
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 n, \ h8 Z) _3 m* T0 r% _4 m
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 J$ q9 k% E- w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 y3 Z) x( D1 R% B- N* C8 v
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) x4 l6 h: `# d* @
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;( P+ d2 @/ d) p0 _* h/ \8 e" g
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ E. P0 ]1 r& g# N
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 G) @9 M6 O# Y9 V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 H8 P4 a* j4 _3 W% u- } XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ p! M/ B/ o+ \; cDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 G, C9 l9 d0 {- J% R. l
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, r' h2 S+ ]! E+ n; \" e
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 L1 }* \; m, MDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' P5 g+ Q/ G- v6 Z& k: y3 @& s+ G7 R
/* override diags mask for selected modules */8 r# Q2 H9 ?, d/ p2 Z) [0 l/ F
xdc.useModule('xdc.runtime.Main');
2 ], L# ]: W6 T; d, m, ODiags.setMaskMeta(
) y6 u7 W8 b7 K% t* u "xdc.runtime.Main",) G( |! E1 P; h
Diags.ENTRY | Diags.EXIT | Diags.INFO,
, Z4 i% a& U0 g) I" ^9 Y, b Diags.RUNTIME_ON
# Z- v6 d4 ^5 L# h$ f, U! g: `" Z);
# U7 W+ b) _. c- }7 E0 J% `/ ^8 G% h+ A$ h
var Registry = xdc.useModule('xdc.runtime.Registry');
6 F0 b$ _! U$ s' E5 fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) F# e1 W. c( a# D/ c' uRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 ~! I% A! Q% BRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;% y6 ^3 T: W! v" O+ ^, Q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;& {) e( A/ I- u* S/ P/ G* `7 i$ u
* V+ ]6 g3 [: J! I, K
/* create a logger instance */
, T+ v5 v! Y2 v) q, _; }var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 ?6 x7 a- q, n$ Q9 Z% l0 Y% b" \var loggerBufP = new LoggerBuf.Params(); q( G* P4 q" T' P+ C
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ N- I& L5 i4 _) s1 T8 i |( d
loggerBufP.bufType = LoggerBuf.BufType_FIXED;; S" g+ @; f4 i- q( H
" a4 \# y: n5 G; Q' f' c
var appLogger = LoggerBuf.create(loggerBufP);
* H9 _ D! |& y* a: }! DappLogger.instance.name = "AppLog_Core1";
1 D- U( L/ @0 m0 B, w6 KDefaults.common$.logger = appLogger;
: n8 U4 r# S+ ^; H% BMemory.defaultHeapSize = 0x8192; ! T( b6 D5 D7 }; V; O$ X
Idle.idleFxns[0] = "&LEDStatus";, O8 d& }# Y0 j/ O* _- o* }% V
Cache.initSize.l2Size = Cache.L2Size_32K;1 |; v2 u5 U' g3 C3 @
+ p S7 M) M+ F1 H
|
|