|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, r0 ^ ~" h0 K( v' o% z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 T N; Z2 L' u; l0 c H
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ v* N R! I) U- H2 q+ i T% C. @6 ]7 N& u7 m0 U
是不是需要在DSP.CFG中进行配置: n# H0 Q* q2 b' R$ B! I
我现在的配置为
1 `9 H- _; [- e: n2 } I3 \5 e; Y# ?0 k
/*: Q0 g, ^1 F5 _9 G) ]
* ======== Operating System Configuration ========
: A; ^* D2 w' X- @- }# a- n2 H: d, j */
0 x9 V5 D M. ?/ L! Z \" f' W1 E* T( o6 x0 o# d
/* no rts heap */ O6 B5 N! ~. V2 i
Program.heap = 0;
# _! Y% O( j& x- N' W/ HProgram.argSize = 100; /* minimum size */) U0 {3 C1 u% K. G3 [6 u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% _9 n& x% l9 v! b/ w/ L( h* T, ^% ^6 |) X8 Q3 @
/* create a default heap */
5 A1 i6 e: Y/ V" `7 j r* `$ Ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 O/ Q- c! s+ i" T
var heapMemParams = new HeapMem.Params();
0 G8 r! p- v) u0 z4 R. FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. O x3 F- h; G5 W4 v( Y9 d2 o
% X' U/ |. M( t j6 nvar Memory = xdc.useModule('xdc.runtime.Memory');
' a/ `/ y& M' v: i, v3 {Memory.defaultHeapInstance = HeapMem.create(heapMemParams);( i% F+ A5 E2 ?- b) b! m
7 ~( `! g5 f% y+ L( M2 i
/* configure System module */+ Y! R' M2 ]: G
var SysMin = xdc.useModule('xdc.runtime.SysMin');
8 G( m q" O+ e6 V4 TSysMin.bufSize = 0x1000;
$ E8 v$ H- n) h. }/ f' z+ JSysMin.flushAtExit = false;; z2 r/ M, U& _8 h7 R7 E
- C s8 j( S3 B
var System = xdc.useModule('xdc.runtime.System');
; w! a' g9 r7 v) zSystem.SupportProxy = SysMin;
5 P0 S! F/ O8 y- Z: _
% `( c/ u, X5 a N/* configure SysBios to use the lower half of Timer 1 */8 g; R/ c1 ~& z$ c% L* L
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 Z0 `3 ~% h- u' W4 kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');+ |) q1 W9 B: k+ k- _
Timer.timerSettings[1].master = true;
; y; d9 `: O* T# h! k9 d% dTimer.defaultHalf = Timer.Half_LOWER;; R; l! q& W b" ~, X
Clock.timerId = 1;
! U7 f6 V( t" P6 n+ V0 H" q+ d/ S' { B8 }# c w/ }. U
, r$ j& B" m( I+ w) i) H6 ]. n
/*
) `( j' H( s/ v * ======== Miscellaneous Configuration ========5 B/ E8 x/ q, J7 p2 ^
*/
5 K6 {7 G5 S( U/ O) ~0 a$ X* n- y' D+ s* R7 a" J+ D, c5 |
/* set default diags mask */ ] ^- Q! ^- }# G6 t3 }3 @
var Diags = xdc.useModule('xdc.runtime.Diags');) K) N( g8 Q- I# T2 R0 n% R
var Defaults = xdc.useModule('xdc.runtime.Defaults');1 s6 S% I3 p9 K3 X# m
* a" o7 o5 g i3 o* L8 s0 ZDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; F# k, A3 x; r9 H \* V% ]* n9 Z Y) ~& x
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: t% ?5 K/ L `% ?% Q7 ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- B7 D# ], l* q! O' }
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ Y6 ^% j7 {& Y! ]! X; C! y; r' B% @$ hDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# F8 D2 P) e8 ^ X1 f# R" v
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; V8 u7 D3 T6 J
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. J2 W" L" f+ m' |! ~+ N
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" V1 `2 q5 E4 O' R* F. e7 q: X: vDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ F2 o T5 c$ `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;# e3 s I' o/ O/ X. ~$ ]# [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 ?$ G& C: a+ T# @) ]$ }Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" a0 ~1 M7 h5 |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 h. R9 \2 K5 wDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# L) P- A) {4 L1 l/ Z' F3 y- V1 w
& M! J# b* X& T7 W2 S0 I+ Q
/* override diags mask for selected modules */
4 V' K3 W5 F. O" Cxdc.useModule('xdc.runtime.Main');) `( v5 Y; z1 w( F
Diags.setMaskMeta(. j+ D; t) K# ^: s0 k
"xdc.runtime.Main",$ |- U" G1 ?* L" p0 c9 }9 E9 F
Diags.ENTRY | Diags.EXIT | Diags.INFO,: o1 K1 w1 u' j
Diags.RUNTIME_ON% y1 {6 B( w& B9 n6 g( p
);
, ~1 ]7 H3 j, m: P7 i5 h: |( V7 z9 C2 n; @
var Registry = xdc.useModule('xdc.runtime.Registry');% ~- \5 S, z2 |% J4 z/ G
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 b0 B G% R0 b# X1 V. ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* F) }: @1 i8 H6 m) Q2 m7 W2 j) C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; h1 j8 x( o7 e/ Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* \; x5 e& T3 Z$ p. R4 B2 k
: R, `% S2 z$ B' U! @8 V/* create a logger instance */# z* \" [* h$ L/ X
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; b# W: W. j4 s# v! avar loggerBufP = new LoggerBuf.Params();
' S ] r$ _+ nloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
e) d' L+ k, _' U) u1 B- WloggerBufP.bufType = LoggerBuf.BufType_FIXED;
A+ \ R6 J2 u' Y% K' N* M$ P/ o G/ v! M% m! w' k6 z
var appLogger = LoggerBuf.create(loggerBufP);. q; L1 h4 }2 ?
appLogger.instance.name = "AppLog_Core1";
* [$ ^* S+ z& J3 H4 SDefaults.common$.logger = appLogger; [. Y/ f7 `" h( Q; \+ F
Memory.defaultHeapSize = 0x8192; & N+ O- S, [9 v4 q( `. o$ u
Idle.idleFxns[0] = "&LEDStatus";2 \2 v+ \; E, g( z- y
Cache.initSize.l2Size = Cache.L2Size_32K;
- F3 }, ^# @* \2 G8 k% {% q, D6 o6 O2 ?# u+ @; p& k$ M
|
|