|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
|; i5 v% j( l, P8 n/ o* G# P我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: H/ L3 c' n) G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 |2 J9 }2 v5 F, b/ J" h
2 l8 U5 h) X% R+ f* C# g. U
是不是需要在DSP.CFG中进行配置
- m4 E% E" _/ j5 G) F我现在的配置为7 U1 q9 y- B2 M0 E0 S
5 g' Q7 F( x# c* z& f' C0 h5 C2 `
/*
! B) ^* ^. D O) w * ======== Operating System Configuration ========& i; Z; P C! i# [) I/ R7 E( Y8 F
*/
4 y- }5 [1 G9 c4 p1 t! Y' A& f2 ^$ u" z% Q
/* no rts heap */% P# ?% S/ R4 ], I! f" D& E
Program.heap = 0;
' ~5 n+ Z) m; e4 Q: W+ w" m, _# \Program.argSize = 100; /* minimum size */
& M& Q. q/ m4 h7 @. ? @) KProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大4 ?5 H. H* j! G4 c2 }" p
+ r- {/ X Y$ X1 f, {
/* create a default heap */
+ B1 Z9 h) M% {( B# \var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
& W: G9 ]* M, N/ `var heapMemParams = new HeapMem.Params();
3 }* z3 C' a( i* Y$ E4 M: ~) h& iheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 d7 m/ n3 ^, b/ ]$ [+ B' \# N$ ~% [" w9 U: c9 F- a
var Memory = xdc.useModule('xdc.runtime.Memory');
* j0 Q' x! a/ A/ H$ XMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
& G% A$ ^9 ~8 J* x0 Y: c6 A0 r% G9 i1 o* j5 ]
/* configure System module */3 Z) N4 n' l/ r' Z1 p
var SysMin = xdc.useModule('xdc.runtime.SysMin');- l/ O. b4 }( |9 R
SysMin.bufSize = 0x1000;
. w8 b I D8 K" n! YSysMin.flushAtExit = false;
9 R( s- m( }' E. r) C; j& [* `4 f+ u- B f4 q$ v
var System = xdc.useModule('xdc.runtime.System');( q' j2 D+ z# v% a1 ?* a+ v p$ s
System.SupportProxy = SysMin;
! b9 b0 x7 r1 Q$ M6 P
! I) L7 O" }% F" X' A/* configure SysBios to use the lower half of Timer 1 */
5 v% c$ N1 D; |/ Svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' J4 B9 ` S! ?7 J+ |
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
. `% z' b" Q. s: bTimer.timerSettings[1].master = true;
3 y n/ M' p% s l" L: q) gTimer.defaultHalf = Timer.Half_LOWER;
) l: n9 ~+ u/ o, V9 p }Clock.timerId = 1;& D8 X8 I$ ?, k* Q' M& m" c( {
3 B- w' [4 s" z% J$ z" I7 `# {% ?$ s2 Q; E5 q+ u. f1 Z' j. `
/*
3 \5 E. d; U9 ~2 }2 J' Z# S * ======== Miscellaneous Configuration ========
' ^+ P" _+ N% I8 M$ e: c8 [5 O */
5 J7 i' J$ P& E5 R/ ^. p$ g
0 G: P' w, d0 w# L/ w/* set default diags mask */) f' p3 T; H/ }8 B, P
var Diags = xdc.useModule('xdc.runtime.Diags');
/ W. u+ h6 q s6 P+ B: K% ^0 Hvar Defaults = xdc.useModule('xdc.runtime.Defaults');
, y+ F7 J" u4 ]& W% r0 ^- h
8 V, Z8 |$ m+ E: V" z/ w3 ?% rDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 t; c8 o6 S- J2 J$ n' ^8 l' r
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 v; N2 [3 m; a2 ^6 d# E; yDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 G1 U, ~) _/ z3 r! @# z+ }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 W6 r8 M, i. Q* L+ C$ L1 _Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 [) N3 J: [* H! f( D4 JDefaults.common$.diags_STATUS = Diags.RUNTIME_ON; p; a5 v! q0 S; u
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 k; I' z; g9 i- w& C
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 t: J g3 t! \1 _- TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 p: i+ F o" c" m' u; V
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: ^& v; f# x& K
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( h8 @2 X- h) e& |* w
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! V( C& S+ U, c8 s9 w
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 R9 b6 v4 R+ _) H1 F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' b, g1 P0 M$ u F5 m
3 {* p' m% e: T& D, |+ d k# |/* override diags mask for selected modules */! b3 V% v2 }( v4 R9 W5 N1 B
xdc.useModule('xdc.runtime.Main');; v0 j: t/ K" X5 ?
Diags.setMaskMeta(
3 I4 Z7 D/ _. H5 S m "xdc.runtime.Main",
. |# m: Q3 M* ?5 J, n. S Diags.ENTRY | Diags.EXIT | Diags.INFO,* `) j- \/ S p' D# q$ v
Diags.RUNTIME_ON4 w" i+ {# z n2 H. v
);
# s* L. y6 d2 @
% r% I+ r& M) t/ a* T# ~6 G! Yvar Registry = xdc.useModule('xdc.runtime.Registry');
* `! H! W3 S$ K4 Y0 @Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& t: x" `% q" L7 y, r5 [Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) @1 H6 E/ @6 L0 ~# {$ jRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* J, C% y a6 L6 i2 }: K/ T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) j$ T2 p6 @6 y# P; ^5 G& a! O
0 v( ]( U/ H3 u2 i/* create a logger instance */, _; |0 x& M/ J& i
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; d% _! I: n0 h' K
var loggerBufP = new LoggerBuf.Params();/ ~0 o3 y0 L5 e. {4 Q$ S8 K
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* f* c8 q& v/ x0 t& q2 E# ?0 _( p. p
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
, s5 }% a8 S+ a, e" x. G
8 F1 I, i- ]$ o S% ?var appLogger = LoggerBuf.create(loggerBufP);7 U! G7 h, x$ ?9 q8 d
appLogger.instance.name = "AppLog_Core1";3 u1 i3 G( a% k* K* @2 w
Defaults.common$.logger = appLogger;
* O9 ^( G, @& E9 a; M8 @Memory.defaultHeapSize = 0x8192;
, m! C7 ]$ V9 e/ m- [4 FIdle.idleFxns[0] = "&LEDStatus";& O& H @* H9 u$ v
Cache.initSize.l2Size = Cache.L2Size_32K;$ u0 _5 A* y% N y% s6 L
% A6 C* ?& V4 u! L ~
|
|