|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 ?* l1 J4 o; h j1 v
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 G2 ~$ b2 ^4 w6 d0 J
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& l$ @: Q: A& T! O
. y9 B0 g1 e3 F& _$ \ q5 ]5 f是不是需要在DSP.CFG中进行配置
2 \+ S. C" w$ D) m8 ]) m8 i% |我现在的配置为
" S* E5 C" }0 F3 i8 X( e4 Q9 Q3 E' |0 P" U' M/ M
/* F/ _1 z& U/ E( n
* ======== Operating System Configuration ========
; F& |. M! t& @ */2 u }' @, [( l
c, k3 f2 \1 |& E& x+ A/* no rts heap */* _! b! v$ C8 i7 ]7 h% n0 t
Program.heap = 0;
: I$ [: m$ P- Z; A1 G1 qProgram.argSize = 100; /* minimum size */# T P$ Q% ]* B6 T
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 Y$ b' \" t+ x8 a6 F2 u+ b3 }3 H
- C/ l( U+ {) \" T/* create a default heap */
6 @9 z3 w) V2 J# g2 E/ Q8 ^" H% \) _6 zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ W9 t+ d3 P; b$ R/ W7 S
var heapMemParams = new HeapMem.Params();' b- P) Y2 ?0 v8 a" Q. j
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- d5 {: ]: t9 s; l, X. w( m- ?6 B: M2 u
var Memory = xdc.useModule('xdc.runtime.Memory');
( p7 w2 p4 ]9 c! X7 p; z# ]: GMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 Y4 t! i- w) ` A/ d( F* @
) K+ r" o' S2 C8 O. M, k/* configure System module */
7 F- r) Q- `( @& G* @ Gvar SysMin = xdc.useModule('xdc.runtime.SysMin');
( M# k0 c+ s: g3 a, }SysMin.bufSize = 0x1000;* J9 C t: S1 o4 a
SysMin.flushAtExit = false;7 m6 |4 T% e8 w
$ L, r; f' f7 @, [
var System = xdc.useModule('xdc.runtime.System');
4 r0 x- t4 z/ H2 `System.SupportProxy = SysMin;
. n% m* e" g+ ~
3 E# |3 p, p, R+ k) U/ y( |8 ~/* configure SysBios to use the lower half of Timer 1 */
5 q. l& P9 o* b, a( ]8 P5 rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 R0 p# Q- u5 R/ J5 D, E
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 f5 D& k9 l& \, s& f& ], F* }
Timer.timerSettings[1].master = true;
+ u x2 i; i1 U& y+ yTimer.defaultHalf = Timer.Half_LOWER;
( n4 N$ H3 H* i R5 e% PClock.timerId = 1;
/ _, L, ~' W1 [) d, A! d* l, n: N, [5 W+ p0 u- K0 K
8 S# A4 S! t. f% w W+ T" G/*
/ P7 n8 t4 f: i* _: j# Z * ======== Miscellaneous Configuration ========& [" G9 W9 X+ }
*/
7 J+ G# h6 R; u, e$ Q6 q0 m
2 J: m4 Y, s( n* _- m/ Z/* set default diags mask */ L7 J) ], N. a* `1 M
var Diags = xdc.useModule('xdc.runtime.Diags');" a j1 i* u8 U$ H
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 c; P4 @4 m6 Q# p1 e4 Q/ r D$ G! z. \) i, a. a/ u9 e- P; z0 s% g
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ C4 G9 l# Y) ^7 U
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 y" i: m/ N4 [$ ^0 v3 e; GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% g, [0 y) M: \; U3 V& ^
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 ?! Z% ^' z& i1 h
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
M j7 Q, @+ z9 D. `Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;, O8 P& g5 J4 U, S; \7 k- O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF; V/ l0 D! N/ I/ @# j
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% Y- u% d B# w. L) q# s
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; m1 E$ ]3 X% z1 u U# S- C- L# {
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ B) s7 K' \/ SDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: b4 _# f, {- W: x, H; oDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 D; s+ B" M, g( c0 i+ j- B* F
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 [( D/ M+ g$ D. ^! A7 k4 M
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 F' S9 n) Z: g* T% W( r) `- }8 H) \5 W' D, ~5 q% ^7 p0 m
/* override diags mask for selected modules */
) o$ H- c& W0 z/ z7 p+ e4 Nxdc.useModule('xdc.runtime.Main');
9 P6 ], W! z4 T3 w% V% ]Diags.setMaskMeta(% A* @. k) ]; E" U/ P: q5 ~
"xdc.runtime.Main", H+ k8 _' o. O6 h* ^. o1 |" c ~4 e
Diags.ENTRY | Diags.EXIT | Diags.INFO,! C2 A1 ?$ f0 @/ z
Diags.RUNTIME_ON, w' Y! }) N# [- b
);
% P1 v/ F7 z3 v# S! b5 X. o/ W4 z7 y2 E5 Q0 ?
var Registry = xdc.useModule('xdc.runtime.Registry');
! r. N/ A& ]- e; h& m: LRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ Y( W: x7 F6 V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( G4 u, P. X6 K- K5 s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;/ k3 F& |" J! Z" s# }- P. _
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
& I% G' h D A+ V4 v- H& [; m8 w) w! M6 N" ]. P+ ] A3 ~. Q! s
/* create a logger instance */5 d2 C3 w% S* K
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); W+ k" Z+ B! ^7 U$ V% H
var loggerBufP = new LoggerBuf.Params();
3 G% d$ I3 ^2 B' R7 b0 o7 r) cloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ R# | ? B+ U. k$ E WloggerBufP.bufType = LoggerBuf.BufType_FIXED;2 ^8 `3 p7 S5 K- c C& p) }* q8 j
* I9 [6 t. L. D, j+ f" p, S
var appLogger = LoggerBuf.create(loggerBufP);
y6 x' z: `8 }1 ~) Z1 P* u8 M4 @4 w& kappLogger.instance.name = "AppLog_Core1";
7 r* ?* U( a2 ]; z. a; S# r3 E- {( jDefaults.common$.logger = appLogger;
" C# l* ?+ N; M6 O& f% r! g7 V7 KMemory.defaultHeapSize = 0x8192;
8 m; {4 `/ W) b# U. @Idle.idleFxns[0] = "&LEDStatus";* I) T( R p" r- O0 U8 D
Cache.initSize.l2Size = Cache.L2Size_32K;: p) l" ^; v, z/ I" w* k
! `" x/ x4 F* F) R |
|