|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) L. L" [$ v' G/ M0 ~9 m, _) n我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ b/ N0 U6 d) @
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 Z/ q- V/ G N
8 N X' k1 U; i6 K+ R1 o# _, h" s是不是需要在DSP.CFG中进行配置
6 s- v( }, }8 {" x9 Q我现在的配置为
5 n$ E2 }5 {+ x* P" K. b% n/ ?2 F5 C" e' h9 r' E: m+ M$ n
/*
4 Q4 `: K+ V0 L% P- Y8 M. [" j * ======== Operating System Configuration ========
q$ w8 g6 R9 i! m5 i: S. y; s */" s/ s6 |& r7 F7 G- B; }
% m* y, t; V2 Q" V# ]3 a! t/* no rts heap */+ n5 U" W- }4 l- z
Program.heap = 0;
- t( C& m3 E. E/ GProgram.argSize = 100; /* minimum size */
7 k# c4 B0 q! y5 bProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 {" a, c7 [ d! r3 J6 y4 L' S0 K' i
: ~# |# }! ]' `2 d" c5 v# p/* create a default heap */
4 i' x b- d& W2 V- I% V' Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( S I0 @! ^+ }5 L2 ]( n5 Qvar heapMemParams = new HeapMem.Params();
0 D9 x7 y+ X9 E& V! u, ~heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ E$ p$ k' y( V% r: T+ G
; r: w* q1 q4 T+ s9 Pvar Memory = xdc.useModule('xdc.runtime.Memory');
; c- x, X: m# i/ r2 ^ J' v* FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 X) m( k7 x9 y6 v1 U, z4 l
# H! K- ~* Z* ]; i/* configure System module */
0 w( a8 X" e0 u% X0 u* e' Svar SysMin = xdc.useModule('xdc.runtime.SysMin');8 d- r# Z- {% ^' ]5 m4 n w
SysMin.bufSize = 0x1000;
8 b/ Q0 o/ ^" }6 DSysMin.flushAtExit = false;
) o; Q1 v# u2 I* i) L. {0 l, M) X% Y, H# j" M: Z
var System = xdc.useModule('xdc.runtime.System');: F. Q" S' c L3 A; s+ u \
System.SupportProxy = SysMin;
2 z1 u" z& Q. w$ f8 L- Y
: g9 r! s& @# G* p/* configure SysBios to use the lower half of Timer 1 */
- q9 R# K- k+ ?var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' C* B( ?* H9 Z& G) q1 D/ Uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 u5 ~8 d# C! C. D) S8 G z/ |; \Timer.timerSettings[1].master = true;
6 o4 g: E3 y" {+ X7 aTimer.defaultHalf = Timer.Half_LOWER;9 a& {7 Z. ~4 {! |8 |+ p
Clock.timerId = 1;
6 W1 \2 K- J; C1 r. J/ y) A4 p8 [: V5 L' a. N
+ l8 F5 }0 L- s8 b& {: A
/*8 M" H1 {4 ~$ D
* ======== Miscellaneous Configuration ========( S, e# p- [( c
*/# J- |5 y$ v& ]- y* O( h
P m' z# K L2 r% |/ b
/* set default diags mask */& ] C% C2 Z# C m% d
var Diags = xdc.useModule('xdc.runtime.Diags');
~) z7 f2 b8 a2 Qvar Defaults = xdc.useModule('xdc.runtime.Defaults');: m0 c7 d }- h
4 A6 J5 Q# |, vDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 _5 p( a9 c- P9 W* W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; D# a& _3 E' c9 Z+ m9 j% TDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 ^) |. h7 `4 s% t# F
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
, H2 T! q( }. {) L% ^Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: j% ]2 y( `6 ?$ M4 B! W0 T9 K; y3 d
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 L2 K2 R3 r5 S% X/ S$ sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 `& c6 t' o1 U) u" {; N( K
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; I# Y7 ?& N0 @$ V, bDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;1 ~, |# i2 a6 N$ ]0 `
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
5 J6 m# Y1 c% \1 K3 { vDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, z! _5 l9 _1 e1 q, [4 v2 u5 H6 v
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: T+ j: G+ u$ L- {0 S F5 X* z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' N8 @' E0 M" o
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. Q* Y: N' O/ C/ C4 g$ A% V, n- L. v( a* Q, b
/* override diags mask for selected modules */0 A% c5 H! U/ W( u9 Z
xdc.useModule('xdc.runtime.Main');
' g6 F: h0 K$ x5 Y+ z2 lDiags.setMaskMeta(
/ u! ], t* p" z; l$ x( ]9 _ "xdc.runtime.Main",
+ l- Q5 H V# l7 B Diags.ENTRY | Diags.EXIT | Diags.INFO,0 U( F5 G) p8 ~. s% Z
Diags.RUNTIME_ON
, g" @2 C# m7 `" \);
* Q/ M# W: M9 ]3 E: Y# k* a/ J
) z) ~ Y6 ?" v i- H% ]var Registry = xdc.useModule('xdc.runtime.Registry');
4 s5 Y ~9 r# c" B$ ^$ fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 _/ n8 J( N; \
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" S: k2 p7 V1 |& t# A* E
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: k3 @" S; G: H3 vRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;, R$ U9 W: E r: d5 H
* H, Z ]. L. G( h/* create a logger instance */
* N! N9 |8 S$ R p2 Evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. ^& Q; X; ` W' B$ Y4 Bvar loggerBufP = new LoggerBuf.Params();
; j) g8 @4 u% ]& \9 ~7 iloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 A* H- R# ?5 @" Y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ p8 R6 F6 m5 i& w% v. z0 ], s' R
8 U/ @ p; x/ M9 H) Z
var appLogger = LoggerBuf.create(loggerBufP);9 p! E& X5 z1 L$ C0 o
appLogger.instance.name = "AppLog_Core1";9 Z0 p3 Q! {; t% |" ]$ b) a
Defaults.common$.logger = appLogger;
( ~& E5 x2 P4 ~* k8 M& C( aMemory.defaultHeapSize = 0x8192; $ x* T) Z$ l \( r c. v! ?/ a$ ~
Idle.idleFxns[0] = "&LEDStatus";
& S% _0 J7 |/ Y) ECache.initSize.l2Size = Cache.L2Size_32K;
: ^; _0 @& {1 |% Y: g, z
" K4 M/ u& e$ v& ? |
|