|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 S6 n4 A+ m3 P$ y" W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% c/ i r& e: g! I7 ~9 V
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 o! V. J9 P \
0 y4 Q1 x0 L+ {, j( W4 m' K+ {
是不是需要在DSP.CFG中进行配置
! X6 \3 S( w5 o4 n7 P, s* ~我现在的配置为
r( y$ s* k6 e& @( I j
% E5 y* f" n' Q& k/*
, A$ R/ ?! [1 e; R# T" ^# i9 t * ======== Operating System Configuration ========
/ L8 J& N v9 b% H */
/ n: w2 t- s5 O, L# Z+ y& o5 L$ u- a( E" c; g. J8 G: [* A8 q
/* no rts heap */) I# F0 M% ?; q1 g; P
Program.heap = 0;: ~, x6 a/ o8 S; D' r, x
Program.argSize = 100; /* minimum size */6 E# O# s0 B, W, _
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- J5 c$ n5 X+ C X/ L/ \" Z4 ?2 ^$ P i7 l1 t6 L2 h
/* create a default heap */+ O* b2 i9 \! ^' d& l
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
t% ^7 q- Z3 w2 @* Svar heapMemParams = new HeapMem.Params();* U4 m9 d' Q& ]9 e* g
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 c" N5 _+ o3 h. g5 w, R
& i" Z7 s& j% k- l4 U, [! \% ?) e2 o. yvar Memory = xdc.useModule('xdc.runtime.Memory');
' ?/ K+ ]8 t% L. l) |8 ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 B9 r8 w9 U' [6 p, D
4 J# Y+ ?& r9 ^' i. w6 ^, U
/* configure System module */: I- g( P3 I- x, x( k2 p% _% u0 v
var SysMin = xdc.useModule('xdc.runtime.SysMin');
7 ~; n/ Q2 j' N1 iSysMin.bufSize = 0x1000;
3 D/ I2 m% Q# FSysMin.flushAtExit = false;
( m2 B0 o4 O( ]7 f6 q6 F0 }0 L
$ D) w# c5 z* O& r; i, V. q& Hvar System = xdc.useModule('xdc.runtime.System');
9 S1 N5 ~* Q# u3 ZSystem.SupportProxy = SysMin;
0 e I% x. v( Z3 ? Q0 N/ F
3 {% b; s9 V; [6 z4 i$ e/* configure SysBios to use the lower half of Timer 1 */
$ v3 w% ]/ O6 p1 _1 Bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ L# o) Y9 q" I8 P! g# Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 K+ J$ G+ @: a9 e! t5 @4 CTimer.timerSettings[1].master = true;
% s9 X" }/ n* p3 O# l' UTimer.defaultHalf = Timer.Half_LOWER;" s: `3 [2 D7 g9 s& a6 r. ^
Clock.timerId = 1;* E& \5 t0 y- v+ b
' ]" m3 L/ W7 S' H0 k+ C' h+ M2 @
' b- T& ]; k: a
/*- A; e5 W d8 \$ a3 d! m9 m
* ======== Miscellaneous Configuration ========
/ @$ S- z/ R" u% N- b */
, Y( a: x0 A3 `% f# y+ x
# {$ g! N6 U$ Q- \- [6 k/* set default diags mask */
: w/ H0 i6 b( a! q: H4 y$ l% mvar Diags = xdc.useModule('xdc.runtime.Diags');
+ ^: U- b7 N( V5 \9 o5 hvar Defaults = xdc.useModule('xdc.runtime.Defaults');
+ F$ J8 L0 j4 F& k b8 J
- }, l) k3 F& O, }. t tDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 v3 s; X5 k8 q$ @, r
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;* g% O" A2 u5 P. y# R
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;' H- B, e+ G1 r7 f8 ?7 u
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: m0 O0 R& c; N& s& H" F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* ~* m9 Q$ l8 v8 i5 E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;& e, s9 s% d3 w5 d) r9 g/ Y/ _9 U
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, {) z2 o; `. W" w8 d4 f" c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
( G ]$ Q5 y5 r) _( C6 }1 \Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% s# _6 @8 G! ]7 b
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 D, t7 l7 J. r$ @& L& y% h& FDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! g: F) t" C3 d; |* wDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) [3 _ O% Q. Q0 C$ L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;: ?9 I5 j0 p- f( [ N' s# q% j u
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 Q0 ^$ l( k5 k( L" v; s ?5 E" N1 n
. f' q1 k0 l) j) r" z/* override diags mask for selected modules */
, A; ?. c3 J- ^% c3 D {$ W5 Kxdc.useModule('xdc.runtime.Main');
7 F! o" B( N: e8 w+ c5 B1 W- kDiags.setMaskMeta( O/ U# h' ~( g# N# n$ v
"xdc.runtime.Main",, q ^: }" d0 M( ~ h" {
Diags.ENTRY | Diags.EXIT | Diags.INFO,& n" j9 G. a/ X
Diags.RUNTIME_ON
5 R3 B. z3 X3 u8 i3 Z);
+ Y( v; `2 M7 }3 H0 F- ^7 s) j' J8 s7 T: n0 K, X* \
var Registry = xdc.useModule('xdc.runtime.Registry');4 X5 E& z6 l3 E0 M! k+ p
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 `3 w6 Q3 Z7 Z0 O2 G& {# T# kRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 T1 b8 D. b. Q; U3 YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;: k9 L& N7 k. w1 D$ T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* A. H9 ^7 {3 o) u6 O! i9 d W
/* create a logger instance */5 @' Q6 f( ]) M* l+ c* @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 T* W6 r* d7 g* |" t
var loggerBufP = new LoggerBuf.Params();! V& Z" s/ Q: P* [4 d
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( F! ?0 ~. f( V
loggerBufP.bufType = LoggerBuf.BufType_FIXED;, r2 k8 P* O0 U& v4 d7 {
) ^% ~) D' h3 o4 |0 l* }: N; d
var appLogger = LoggerBuf.create(loggerBufP);. u+ y& @! w9 I
appLogger.instance.name = "AppLog_Core1";
, _% Q' l4 i, z2 tDefaults.common$.logger = appLogger;' J) k7 @4 A5 q; u+ d, |; g
Memory.defaultHeapSize = 0x8192; 1 f2 a3 I0 s. h7 o7 Q& y
Idle.idleFxns[0] = "&LEDStatus";* ?. a! f3 p+ W) E; }; m
Cache.initSize.l2Size = Cache.L2Size_32K;. A& u) L6 p/ y) X' b; Q% G! h, I% F
. O2 L" `$ W& _0 t, P |
|