|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; }- q; v) l" d' R% ~8 K. t我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, Y. h1 \% E1 J5 ]+ L+ x(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 X2 c8 P W) i& O
0 ^! M3 }7 X+ ]3 K; H7 @: j是不是需要在DSP.CFG中进行配置3 |' Y4 Z* J6 U
我现在的配置为
) A9 }7 d. C5 D" c8 S. Z6 Z+ ~
+ Y# C7 g2 Z( }" B/*5 g+ G# s) `' e2 @' A
* ======== Operating System Configuration ========
& r* l1 O$ ^* [# h g1 X7 C */
/ [* O S) V6 {7 f( T; [ q+ r, F" z8 ~; U, u/ s; I' p
/* no rts heap */
' j3 \. B* v8 \% y5 ?Program.heap = 0;
$ w3 Q. j( B" ^' ]Program.argSize = 100; /* minimum size */1 c$ j0 |! N! T
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 [3 ]$ P4 k5 ?* W% J- m
, c' G% U8 V' w& K3 V2 c/* create a default heap */
0 J% h! Q9 l9 x& mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' P: s o4 V' G! `" I: @5 kvar heapMemParams = new HeapMem.Params();
7 u% Q% p8 g& D T1 P; FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# N" w; y- ^% }. z5 P/ y z8 ^: t7 O0 j) [. K) u
var Memory = xdc.useModule('xdc.runtime.Memory');) h0 U8 N' p; c# R2 Z1 h/ t0 \8 }$ X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ ^+ r6 [! \. u$ w- n! {
0 h8 v: C8 I1 u: K5 S/* configure System module */
, z7 p# G6 y2 O8 x: evar SysMin = xdc.useModule('xdc.runtime.SysMin');+ x" T, B" Q1 p+ F8 C1 ~& f- Q
SysMin.bufSize = 0x1000;
3 \. S0 g( E" {: h& ]" k/ v- ]. ~SysMin.flushAtExit = false;# w z8 {; B% n+ G' R
6 |" n. M4 O( K1 Z8 q
var System = xdc.useModule('xdc.runtime.System');" F, C% C. m4 o. `$ g
System.SupportProxy = SysMin;$ q% x2 a, O @) g+ f
5 o. j" }1 o. @2 V' E1 `/* configure SysBios to use the lower half of Timer 1 */. p1 F. M* d# A. w6 i; q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 U# N4 \4 c2 ~5 A# X- u, x5 ^( s
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 e% j: y. ~ \; FTimer.timerSettings[1].master = true;
% A6 F5 r4 P, A P6 u* q4 Y( a# [Timer.defaultHalf = Timer.Half_LOWER;2 F/ v" K0 c) n6 @6 k/ H
Clock.timerId = 1;
! E+ T% I% z6 w K! \
* V+ p* i# p8 O; ?5 j8 B; ^& g) [" I( v3 I T
/*8 E+ C: p& h7 g6 C5 E) u
* ======== Miscellaneous Configuration ========
' c) q; P6 a2 h% f$ Q3 ^& Y2 F8 e2 |# i */
" R4 n. G: ^2 S. \: f8 o k/ ?5 ~. _. N2 M
/* set default diags mask */; b) Z; T! ?& I: ~" P" I8 g! q
var Diags = xdc.useModule('xdc.runtime.Diags');
2 F. l* |* d2 h( w, Kvar Defaults = xdc.useModule('xdc.runtime.Defaults');% C6 h% a% q* V
" i1 N! ~9 G5 t6 F" Q% N1 `Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, [- C0 R% [4 K7 Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 p/ y% a) [5 F& M
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;, n( t1 Z3 v. ~4 |: K: q& ^
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; c9 {' d0 B+ }, d R' MDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# o8 N! e3 e6 D4 J' `8 NDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& r( b: n0 U$ V2 Y# p8 {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. Z& }8 q2 G0 c; j( {# o
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, v1 N" u6 R. ?3 }3 {2 ^Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 ?0 j4 }& j/ Q3 BDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 _3 {& U5 A- {* _+ P& L. `
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 p* [ J) S1 B9 g) dDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& Y. g( z- k& S' ^1 D3 mDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 }& S" t- F! X& r9 Z( \7 [Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;: I" f( v4 l. n( B1 S' E$ H% Q
. \* A) W: a4 R4 y6 g/* override diags mask for selected modules */
* e) Y4 G1 |$ o* j1 t9 B1 Jxdc.useModule('xdc.runtime.Main');
8 G5 _& U- [- E1 wDiags.setMaskMeta(
: C# X+ i1 p3 H6 C. n "xdc.runtime.Main",1 u" E( B1 Q7 m/ p8 t, o
Diags.ENTRY | Diags.EXIT | Diags.INFO,6 e5 A, q' I6 k9 Z& E
Diags.RUNTIME_ON
* f4 X6 P* D8 a$ ?);3 _: z: ]1 _7 Q0 B; y1 a( M# a1 N. m
0 |4 O7 t0 P. e- v5 Bvar Registry = xdc.useModule('xdc.runtime.Registry');
. f3 Q+ {* ^* e8 {# YRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ F9 d* B0 y3 E8 {/ wRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 M* h s1 A3 e7 R% ]0 V2 fRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 x, D) O7 K# M- @3 ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;. R$ Y) B- |: B9 p2 f
& E8 Q% Z: F4 H( J' V0 T/* create a logger instance */3 x% F9 ~! m% Z1 {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& P/ J, A0 V3 n; c. {" D. J3 E
var loggerBufP = new LoggerBuf.Params(); M$ C5 l- U4 m! M
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 z& c. D( n( ?% {- ~) @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" J+ ^7 c( c7 D4 n/ p
( D) R9 C& V. d! ~) Qvar appLogger = LoggerBuf.create(loggerBufP);. q; Q6 @) ?$ X" b' q% R
appLogger.instance.name = "AppLog_Core1";
8 L, `" r2 i" N7 N' C1 z1 w% zDefaults.common$.logger = appLogger;
3 A! K" ]' Y2 t( s! k) A; ~& rMemory.defaultHeapSize = 0x8192;
- J' N6 _+ |9 }3 m# k# i: l/ r1 N @) PIdle.idleFxns[0] = "&LEDStatus";* {0 G+ Q9 e& X* r% H" K9 F
Cache.initSize.l2Size = Cache.L2Size_32K;
3 y) }6 C5 R7 u7 i& t
% p, }5 m- c2 p$ _# t3 H |
|