|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 l% q$ ^: L! { {
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; I9 o: b" B5 o2 H+ W* E(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: \* g$ Y. @: ?: x
' v7 @/ G3 z( A! u( E) {2 j' [$ ]是不是需要在DSP.CFG中进行配置
+ |! o; d+ @/ G' @/ Z+ [$ B; m我现在的配置为
8 k% }$ U$ A* `& s# Y. F% p ?; b# s# B# H/ v3 h
/*
4 n4 n, p V$ o* l * ======== Operating System Configuration ========
) u: F ^; c7 a6 ^+ M8 I */
1 ^6 p+ T, i1 j' C' T1 V" A
6 L5 f" T( V M/* no rts heap */- P4 W* W2 s0 D1 U& ?1 q
Program.heap = 0;
3 F# L1 k' N. X: L0 bProgram.argSize = 100; /* minimum size */+ `0 n1 M& m0 E6 d4 t4 r9 I
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 f+ q0 Y6 C; |' K) b6 D
; H, p( G! P/ X3 m
/* create a default heap */) y" o( r. V4 P* b+ O8 x
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 x" D$ l. _% m+ rvar heapMemParams = new HeapMem.Params();* S2 H% h1 t! D* b' p/ [6 W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 K7 S; |) \% M9 n0 h
% X% B4 _% H4 e. ]6 ^* e9 Gvar Memory = xdc.useModule('xdc.runtime.Memory');
) o: V# t% H+ YMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
) ^3 ?" Z0 d! y5 l" U" f2 o; f* S0 Z& d7 t g
/* configure System module */
% c1 [! {+ v. c Z6 f# E8 k uvar SysMin = xdc.useModule('xdc.runtime.SysMin');
4 V5 m$ J$ o2 p: B+ [) f `- t3 hSysMin.bufSize = 0x1000;* S4 {6 D4 F3 A0 k" T
SysMin.flushAtExit = false;
& T4 Y8 }4 P5 A% w+ |* K& x2 P2 a; J* R: ]9 k
var System = xdc.useModule('xdc.runtime.System');+ a* G9 x0 D9 a: r
System.SupportProxy = SysMin;
* i" O. D2 a& `# k( [. f6 j( a6 ~+ \
/* configure SysBios to use the lower half of Timer 1 */7 q* h8 z! H4 M- s
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% W; M0 q7 x8 y/ C- ]& q% f* }
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 n2 b8 U; {/ p2 k* @
Timer.timerSettings[1].master = true;
4 g- `+ W4 M9 k) STimer.defaultHalf = Timer.Half_LOWER;+ J& x2 D% N0 g, d
Clock.timerId = 1;2 w0 z' ~) R% z+ t. t
) I" v g- a/ S. o& A3 C
! r& U R$ s1 _. g7 Y/ |/ E! D/*
% w1 e7 _* ?( _) t" g * ======== Miscellaneous Configuration ========2 N' G: K* O. a
*/
# N- I2 A/ g6 z7 N9 G' i5 \+ F
3 M* H" Q( k" w' G/* set default diags mask */
4 H% R& Y3 _6 x' L/ d% kvar Diags = xdc.useModule('xdc.runtime.Diags');
, ^, `: n& b: `: `4 s- ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 Y4 ~8 ^) ?6 T2 y& L/ n" @
N0 C3 B: K* G1 h" D& \Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ |& T1 A9 X9 ^4 U* f# W3 p5 W9 O
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ }. }; G. T; Z8 O" k2 z# H
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 M% d6 V$ E1 j) `" PDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" t. V* B/ G$ p: ?5 ZDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- f% ^+ I# Z5 H# M+ |% V) t _
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 T& _' G. x, [. d% c A) f* m
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 I) E& O5 W _8 ~
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- G8 x7 M, |# z7 a' n
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 |( [) G" c. P6 F
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& r) L9 K8 L1 c9 H- S5 O' D" X! jDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;$ T6 q5 G% p0 F& @4 I
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, P% F# L% X- h1 y; B
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) K( z: ?3 B* ~! O& d$ sDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 }( U& T, F+ `+ S
4 r7 V8 u/ [ I7 c# g4 a# v' N* c/ Q
/* override diags mask for selected modules */
& L: j* d0 f6 [xdc.useModule('xdc.runtime.Main');( Q, T, @- I) {3 o8 Q* D3 o
Diags.setMaskMeta(
* b& ?* H. J% A5 R! J9 q "xdc.runtime.Main",, @2 q5 k. I7 Y0 d$ ~* I* e
Diags.ENTRY | Diags.EXIT | Diags.INFO,, C! u: L* j* N S$ E7 {0 |
Diags.RUNTIME_ON
: ]9 i8 ^5 `6 ]- ]5 w) J);# }! q/ G* A6 j; r
/ q9 f' J! O( r3 d2 {6 i7 e3 h9 O. H
var Registry = xdc.useModule('xdc.runtime.Registry');
0 d1 l+ m% X! U6 x" i& [* G7 hRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; j" [# U! \ b
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! R% U( L$ z9 }# s% fRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;' v& J! ]) v- Y4 e
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 d$ s J. Q1 i" Z- `$ B1 ^
1 f8 S; w/ L, H Q+ e! o% H5 v/* create a logger instance */: `# ~' P- O2 J& F5 f
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: M0 b2 n9 V( F) {' A3 j3 \
var loggerBufP = new LoggerBuf.Params();1 u1 v5 Q; U3 ]$ {
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& e9 j3 d+ B. i, j' E* {loggerBufP.bufType = LoggerBuf.BufType_FIXED;) ~7 ]+ g/ J- Y' D
$ A, i# F7 |( L, ^# evar appLogger = LoggerBuf.create(loggerBufP);
$ c; q9 T: ^- NappLogger.instance.name = "AppLog_Core1";5 v4 ]4 w1 c+ a, j( B1 B7 e
Defaults.common$.logger = appLogger;
+ K& B! j; w" ?. E1 e" T( y6 vMemory.defaultHeapSize = 0x8192;
8 d0 b- j# Y# G; b, T2 } hIdle.idleFxns[0] = "&LEDStatus";! s* N" `+ d0 y0 S( X/ h( l
Cache.initSize.l2Size = Cache.L2Size_32K;
* p( `/ T, x6 Z$ h: d/ E# J; {1 n, @, r; J' q6 E7 t
|
|