|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- `; E7 M# @% L: F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' I- r3 M# {3 U/ c P(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 A$ s* n0 P3 D- S7 @; Q! i+ Z! }7 u, k
是不是需要在DSP.CFG中进行配置
5 {3 Z# Y \3 a( _( d我现在的配置为
' ]9 w( T" P* [+ ?2 E# y1 o( y0 C1 q2 }. t$ F- `" `* I0 F: }8 b
/*
% f0 m Z6 d! V$ V$ q* f * ======== Operating System Configuration ========
. o; Q5 E3 Q, b */
/ }# l! U- c$ V J/ F: b5 h% J# i: X* L7 u6 O, ?! H
/* no rts heap */
5 W# _( h- U0 G1 n5 A- AProgram.heap = 0;
( A+ b6 A9 a4 w* {9 pProgram.argSize = 100; /* minimum size */
+ N8 L+ z* J8 ~8 U! `Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ ~9 V+ p; O v' w3 S& L/ L3 [9 |* q+ g9 ~5 }) O; M: u3 n Q
/* create a default heap */, @8 H7 G- j. h3 z- B! E2 I; d0 I
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 ^2 p3 F; N% U. Xvar heapMemParams = new HeapMem.Params();
! T; i$ A" c+ S% ]/ pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 I2 L8 ~. \; N0 D& ^* b' }2 A6 Q4 |; S! K: u3 W
var Memory = xdc.useModule('xdc.runtime.Memory');9 [- i( g% Q5 q2 d9 t* V
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
) V6 B( |0 u. {+ H+ N# a
3 }/ @% v. |2 p! B7 }) m5 r% R! E5 i/* configure System module */
4 t( o: P% g4 _# ?# q7 b uvar SysMin = xdc.useModule('xdc.runtime.SysMin');- Y/ z, ~9 w" q- P) F
SysMin.bufSize = 0x1000;. }, B, r6 S0 x( P
SysMin.flushAtExit = false;
6 t+ Z! t" Q ~+ h# F- w" j5 ?5 F7 |: J
var System = xdc.useModule('xdc.runtime.System');
- E: g* W) b3 M* x5 K8 K6 xSystem.SupportProxy = SysMin;( m8 z$ F5 `% `& A: _, g+ a6 k: F
) t# ^7 T9 x6 K5 t7 l3 o# X/* configure SysBios to use the lower half of Timer 1 */2 g+ K6 F! u1 u5 Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ }8 i8 a, I; J8 C
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ w7 w1 o; U: g9 R2 @7 _5 `8 z
Timer.timerSettings[1].master = true;
U. @) I& m& uTimer.defaultHalf = Timer.Half_LOWER;) q; x% A$ S# W4 a1 C- _8 _5 S
Clock.timerId = 1;
9 m$ Q$ D5 w# Y9 X7 k/ j$ K# E
/ h$ \, e: p7 p. f9 N; f
& a* h' F L. b$ f0 _/*
" u- }, F1 ^: U * ======== Miscellaneous Configuration ========1 Q! x" y& X6 k( {1 A7 g& e$ F2 ?( H
*/
2 D5 Q& ^- t7 T4 R9 p. K+ B7 {0 k9 `5 Q4 w8 E. ^2 U4 t/ N
/* set default diags mask */0 N' z/ V( X: p9 J" H& I
var Diags = xdc.useModule('xdc.runtime.Diags');5 A) H3 k1 I' y. l* j! v
var Defaults = xdc.useModule('xdc.runtime.Defaults');
9 r! I( d% J) S0 t: f- S6 Q# h) K- K; a% O9 H
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 M, S1 p/ }" C- hDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 d& Y ?+ F2 J9 H
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 f) O U$ v& M+ J' Z" b
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 I( u' |$ [5 WDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ U2 h( V" t3 S. o
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;* d. i- p2 Q! @+ v
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 j2 g0 l1 h2 o; ]. |
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! i* J' B5 ]( N1 E- d. @: \2 o6 B% ~
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# ?9 [, O2 ]$ `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 }+ Q, r7 W7 j/ N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ @5 ~+ V, r3 W8 \, U; i& MDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 J1 ]/ y9 ^8 N/ ^Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ m. w" h# U+ z; a5 ?
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# k& k" {+ P3 e( d$ E# ]
W5 f5 s" y& ~6 z6 `- |/* override diags mask for selected modules */
2 D6 g+ r% V: m& U: K9 Wxdc.useModule('xdc.runtime.Main');
& q8 t5 [$ u0 V+ A( z4 d' E6 ?! t) EDiags.setMaskMeta(3 _2 y; b7 S2 k4 {+ P0 W) L4 W
"xdc.runtime.Main",* J3 [5 ?2 y- T! }# b# w
Diags.ENTRY | Diags.EXIT | Diags.INFO,+ S2 T3 i, L( T o) E" Q! q
Diags.RUNTIME_ON
2 r. b5 p- I% X+ @0 z$ Y); k. Q+ t/ e$ Q( c0 ]) ]
; e# Z# y$ v- ?; d4 z# Qvar Registry = xdc.useModule('xdc.runtime.Registry');; R; Y! X" H7 H n1 K- B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ |" g+ t5 f" _7 yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! F1 V3 ~; F5 J/ T6 s1 C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 ]6 r2 E( ?5 Z. ORegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; F7 x; c9 ]% @1 p" c; c6 `: u& n% B
" T8 d( S) n8 N2 o) C$ ~/* create a logger instance */
& X" T6 q3 K6 K) Kvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; r: k6 Z. g- z, ^# z$ C0 ]
var loggerBufP = new LoggerBuf.Params();! L+ [; ~! V# w5 T/ y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. J" m+ _ R* b% b
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" W7 i" T: t( K( v3 I& U
8 b! n/ O, C5 j9 `var appLogger = LoggerBuf.create(loggerBufP);* s3 p& u7 v$ J8 c8 s' ~
appLogger.instance.name = "AppLog_Core1";
" m" a+ d4 z' B6 yDefaults.common$.logger = appLogger;
6 L- k; H. e( EMemory.defaultHeapSize = 0x8192; : |' T1 \! {, V
Idle.idleFxns[0] = "&LEDStatus";$ y* [+ |8 Q9 h1 l( ?! ]% R
Cache.initSize.l2Size = Cache.L2Size_32K;& x- e% \0 x" Z: I8 r
+ f; k/ b E% E) }
|
|