|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! I/ n) a# P( q7 x3 m8 I: B
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 A8 T9 T6 C0 _; J4 C6 s
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 o8 l$ O% r4 }, I0 P$ j1 J
# h' {' l- x. o8 u是不是需要在DSP.CFG中进行配置
; r9 C$ l# p: V) j" L; ~我现在的配置为& l/ l6 Y( R/ n
9 m" m% o& _( u& r* T1 D9 G
/*' T0 d" w+ T' G) s9 Y) P7 H
* ======== Operating System Configuration ========0 W/ t |6 l, T$ Q
*/
- s) I5 v8 A( ?% i/ j- U7 P5 f( X5 N& b+ Z' e7 R2 M9 n/ \2 s. A* B( o4 U
/* no rts heap */
. }( l- Q/ o, N3 p3 z* QProgram.heap = 0;
/ ^* v; f/ e7 ?6 V* L) k$ ~Program.argSize = 100; /* minimum size */
, t. D2 g8 _2 W+ L |) BProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ D: Q" A4 x1 T
2 @; V3 ^2 K" U& @! S& N% j/* create a default heap */
' P+ N2 p1 K7 ]. M& ]# y5 L) _var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 G* _7 p% q" f, t7 T$ M" tvar heapMemParams = new HeapMem.Params();
9 P* K* k# T; G+ I9 I2 X" z. ^" T3 SheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# Y/ n" U ]! x9 |1 B, w+ B, {' A. l- n! z ]( v( C6 |
var Memory = xdc.useModule('xdc.runtime.Memory');
. K0 k! o7 V8 c5 d$ V- W) BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 C3 i' R- ^/ ^# I7 M! t- W/ r" S6 h2 K4 S: l5 T% X
/* configure System module */9 v' h0 {; [1 U+ J
var SysMin = xdc.useModule('xdc.runtime.SysMin');5 \/ [- j+ q0 I( N4 {
SysMin.bufSize = 0x1000;
) B: }5 N: J/ m7 G0 dSysMin.flushAtExit = false;: I; ]0 b/ J8 H
) Q& }$ {& P2 S5 d" k) o; _ Zvar System = xdc.useModule('xdc.runtime.System');
$ a R4 U* I* H* d( ZSystem.SupportProxy = SysMin;- e8 u2 A& }+ L4 ~' b* s- @( b
; B' g- a2 G, k$ \: v/* configure SysBios to use the lower half of Timer 1 */
/ b. N" H+ F" w# C/ svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 w$ v) Q) q; H$ v- ?8 ~/ {
var Clock = xdc.useModule('ti.sysbios.knl.Clock');* F6 e7 L# H1 D _- [
Timer.timerSettings[1].master = true;
) B; X5 H Z$ Y4 fTimer.defaultHalf = Timer.Half_LOWER;% B* i4 v% c$ K' p5 i% Q* f6 @7 u
Clock.timerId = 1;5 a$ o2 k, c% P
6 K0 W) g% S3 O5 B& W! T
0 G, D/ X) V9 g* W/ X/*
9 f6 [8 Q% }4 ^; l8 |( h2 |' ~ * ======== Miscellaneous Configuration ========
; M" _+ G. z2 E* T; @ */
. O: w U; \9 l2 J, E3 m+ o4 |6 I8 d. J& w
/* set default diags mask */
: |3 r2 }5 B% m h9 Qvar Diags = xdc.useModule('xdc.runtime.Diags');8 n! ], r% \ T5 @# D7 f' Z; ?
var Defaults = xdc.useModule('xdc.runtime.Defaults');
, G' L+ z ~: L& C3 C. i) C! d# d2 m: ~
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' I- w7 Z3 {% B: W$ UDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; H7 b8 |0 A0 o3 y# q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 S+ C! a& t$ {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 L& A8 _ ^- uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 N4 \" i/ _7 G2 ADefaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 H. n! a0 j9 |9 d1 K: k3 z L
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ [' j1 g3 ^7 F. ]5 v( ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 g) _3 M. a1 K/ o) j+ R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. V- s1 ~- L* M- r1 d$ V
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ ~( J9 M8 r+ n& [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 j7 ~1 V; D8 JDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; k4 M7 {0 d1 }1 Q/ k+ dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 }0 P6 t- Q* J) e% [3 q: }9 HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& G, e2 K3 Y8 ~! Q- N
1 P/ s5 u1 P$ f' a2 v; N& ]/* override diags mask for selected modules */( S6 U) K+ `$ X9 v
xdc.useModule('xdc.runtime.Main');
3 w6 G! S% t; x$ d6 J* HDiags.setMaskMeta(2 T9 Y& i) j/ L4 j8 ?& V
"xdc.runtime.Main",
. C2 ]1 a- b- Y# i. l+ _ Diags.ENTRY | Diags.EXIT | Diags.INFO,: p; }' T0 |4 c. t1 p
Diags.RUNTIME_ON# ]7 b9 N; x( h) e! p7 S
);
2 P2 T6 ]+ @" ~" {/ K8 o
, |. }( A% G e+ V0 F" R# fvar Registry = xdc.useModule('xdc.runtime.Registry');
, G" G, n( f5 W) b4 ERegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 C6 r6 {* ^0 }Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 q3 |( G9 Y5 f& e9 Z5 O, N
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;! d! \% ^# _, Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 Y0 ~7 T; R- W) K8 d# L3 J% r
2 ^7 g# k6 ?8 j
/* create a logger instance */ s0 ~0 C2 x6 h3 b$ {5 X C8 _) l! I4 z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) K! f e& ~9 D
var loggerBufP = new LoggerBuf.Params();
5 o; b r6 q% D$ N& Z5 A# o( ?; Q8 }loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 m0 ]9 k3 u0 ^( l+ R* i7 tloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ w) Y* J" D# s& o/ y7 }- @0 N, x8 c5 _" S5 `. Q- J( T
var appLogger = LoggerBuf.create(loggerBufP);* ?& k1 K/ z5 _7 H6 F( e7 M& q |# L2 V
appLogger.instance.name = "AppLog_Core1";
: {, I0 }$ Q3 A; C7 ^7 dDefaults.common$.logger = appLogger;+ }+ C' `7 ~) C4 ~
Memory.defaultHeapSize = 0x8192; 0 w- [( H2 U7 ^9 Q0 A; V
Idle.idleFxns[0] = "&LEDStatus";4 I1 H( U9 Q0 a% E# [ q
Cache.initSize.l2Size = Cache.L2Size_32K;
) F# G, R0 g T: Y5 H/ Y, V" Z5 U& t
|
|