|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
N" i+ \$ ~. p7 U- G+ m$ W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
1 l {- E ]2 |0 ]7 I8 A$ c5 U(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 T% P% v4 c6 m6 d) l5 o/ o! s- q& B7 r
& ]" K" ?" y6 N% |
是不是需要在DSP.CFG中进行配置1 y0 x+ g! I. G0 D* \, v
我现在的配置为3 @4 g# B' [' @
. S* U$ s, I2 q8 Q4 m9 Y$ Y' F4 B5 Y
/*) ^% b3 B; z8 D) |
* ======== Operating System Configuration ========& ?# b3 N! i+ W% o- O. p
*/
) e p! d" b$ K0 f) @
3 j; E" p) B! P( }8 F2 [8 X/ p/* no rts heap */
% D0 y4 O5 w0 K2 X. S. @& XProgram.heap = 0;, |& v" J+ J4 o1 M- M
Program.argSize = 100; /* minimum size */
" [0 F( M# q3 b0 b* A- ? }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 C% Q2 K3 l" @9 O8 T' `( f5 U. S
( K6 T: q2 x S
/* create a default heap */
* k- ?3 y# U" t, M8 Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 \ r( Z; D+ S% w e" \
var heapMemParams = new HeapMem.Params();
5 j8 \1 c; {& G1 _' DheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 L1 s: {" ?: G+ B) ?+ w( L% I$ }
$ D0 |0 n( K: h5 x' R" k9 t; Svar Memory = xdc.useModule('xdc.runtime.Memory');
6 k7 |( Q# }' U' x$ ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 X9 h' R4 N' ^; {% R" ?4 X8 C0 M, J- X
/* configure System module */$ h; `1 U: K$ `# k$ s9 ?: \& X
var SysMin = xdc.useModule('xdc.runtime.SysMin');
, K! e' ~: p: n% ~8 H" |SysMin.bufSize = 0x1000;' X9 i5 f4 r E+ }0 h
SysMin.flushAtExit = false;
* a& S. Z4 a5 F4 f1 G& Y5 Z5 y) K% v% u8 U
var System = xdc.useModule('xdc.runtime.System');" U ]6 a" R/ @% v& H: z( j; H
System.SupportProxy = SysMin;+ B# `& F$ r. d* J) z& l
( |% a8 G/ e1 ^4 s* G" O
/* configure SysBios to use the lower half of Timer 1 */
* v5 N9 O8 ^. s& d7 R8 avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 b* [/ N* Y A% o9 e
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
% u4 H8 ~$ Y x% qTimer.timerSettings[1].master = true;
( N% G0 E6 K- B; w/ n8 Z- B4 J* XTimer.defaultHalf = Timer.Half_LOWER;
- @: e) }- C! A( u! _9 p# S* |Clock.timerId = 1;
7 f) T- i: ^3 h& Q2 ~1 P+ n+ ^- s5 h
3 c: ^1 | [! F! Q
/*) j1 q. w3 y6 p* m2 b
* ======== Miscellaneous Configuration ========
6 ], x2 h; J* {% y* ^ */8 P& M; Q3 \+ T, \
# h8 y s5 S& Y9 u- @( Y5 I/* set default diags mask */9 T$ _1 T" C G& o) v9 u
var Diags = xdc.useModule('xdc.runtime.Diags');0 o9 r1 s: ]; ~+ E/ }
var Defaults = xdc.useModule('xdc.runtime.Defaults');1 r" e1 [% A+ K; S
* @" E9 J/ {" S9 f3 wDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% i9 J# F- i Q! }4 H! J7 ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 K# k. I2 U% a. b cDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" p7 f8 b x( C" o" z5 m# B$ y* h0 iDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 w1 N2 m0 P- m# F" _% t
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& ^- b4 Z+ g/ W' _1 ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 O: o4 o# Q" R8 l+ I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* I+ k0 r6 j% n- A' pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& {' G. p! q# r& ?& u
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 G, F5 t, x) ?* Y' D
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 F& J- }' S- P
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 ^2 o! U) w4 D" p' Z# U% V8 qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( u! Q, V* p6 Z1 eDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 L+ U6 Q% I5 Q0 ~Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ I; a! M% N; _: P) W7 D* w8 U
, q7 N0 P# B5 d" [/ f& ~
/* override diags mask for selected modules */9 u/ n6 P) d1 v& S, _7 B
xdc.useModule('xdc.runtime.Main');' M, _- k" i8 C) S' k+ I
Diags.setMaskMeta(6 S8 W) E& l: F2 U
"xdc.runtime.Main",! Q; i4 M. m8 u3 y6 A
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 C1 j9 i. O: X- O% k( ` Diags.RUNTIME_ON* a1 t/ _0 |$ ^( a8 s* x; @
);) X" Y+ s6 U) C
, }' J! n" g+ @
var Registry = xdc.useModule('xdc.runtime.Registry');% u4 x$ G% |; I) k! i: ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! b5 v+ ^3 w( R; K# cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 v& @2 _: v. R) |
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;) Q0 E: ~4 I H, T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 [0 e: B/ F4 U9 m" G2 x
) I+ {8 r; J4 M* L
/* create a logger instance */. g3 x0 Z0 D+ g0 {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
1 ]3 R, k; [ P- ?var loggerBufP = new LoggerBuf.Params();5 H* k, |: J0 J. F" T' d. n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
[! J5 i# X- r) j4 yloggerBufP.bufType = LoggerBuf.BufType_FIXED;! M$ P& A% K- S. \3 g
^5 o* X! C2 O/ I% G7 g9 E5 r
var appLogger = LoggerBuf.create(loggerBufP);
5 z" J0 f& u6 N1 K* ^0 |4 EappLogger.instance.name = "AppLog_Core1";
, G; V$ S( q x7 {2 \1 D0 v }6 @Defaults.common$.logger = appLogger; ]6 M- ~7 @9 x8 H( ?
Memory.defaultHeapSize = 0x8192;
6 @5 W9 s% e- z1 d: z& vIdle.idleFxns[0] = "&LEDStatus";/ A; u) [5 n& X: K, s
Cache.initSize.l2Size = Cache.L2Size_32K;, p+ ]0 h% m7 N D. N' Q0 p
0 m+ i- ?" E- Q0 Q
|
|