|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 \, h9 V' [# `: m( Z( x- G5 ~2 h1 Q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 u J2 O1 W* h, c1 Z, S N(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 W* H2 p2 s' ~ \6 t$ g
/ f" Z: M6 {% [6 Q
是不是需要在DSP.CFG中进行配置$ U) @; U0 g5 w
我现在的配置为
) S0 T# [9 v% C4 s; q h/ e# ~ Q( r2 ~ C. l9 x& r
/*( v' h) |. B+ o4 B% d& M
* ======== Operating System Configuration ========
+ M4 G) e1 Y/ d8 R& Y$ d9 X */! B0 H$ g5 W2 Y
x+ h1 ?6 w% z: Z* I4 ?/* no rts heap *// C" K$ J0 f0 W5 u# r0 y
Program.heap = 0;
, ~# v9 f8 W! z! pProgram.argSize = 100; /* minimum size */
- e* v6 o% ~ K3 Z$ gProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ h; {- \9 ~: P
) S! n- G1 A$ I$ Z: Q/* create a default heap */# K! F4 @2 r! F: l
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. o+ A$ t6 h3 ~$ J& B" ivar heapMemParams = new HeapMem.Params();
9 p4 G# e! c* K( s) j( y8 _: zheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) @ }0 @! \( | m4 k# ]) J9 C1 R; l. k; [% O+ W
var Memory = xdc.useModule('xdc.runtime.Memory');
5 c6 ^, p- Q0 }9 U3 oMemory.defaultHeapInstance = HeapMem.create(heapMemParams); y8 C6 \8 h: p; z
" L+ R: V5 U1 i/ _, a
/* configure System module */- O$ R; W# Q' O& { m
var SysMin = xdc.useModule('xdc.runtime.SysMin');# l# a9 X2 Q( O4 j7 p. ^& j2 ?" q$ D
SysMin.bufSize = 0x1000; _- G. N+ i5 W# v4 L8 [
SysMin.flushAtExit = false;
8 q( ?, q0 j6 V; ~* @) P8 a, z, F6 ]9 V2 F! N! q. o; ]; j& n8 I w
var System = xdc.useModule('xdc.runtime.System');, X1 v- V/ n& x, n
System.SupportProxy = SysMin;6 |3 t8 G& `5 |$ G) D4 x8 a; v5 h) W" _
+ O; Q- P ^6 V5 D& W/* configure SysBios to use the lower half of Timer 1 */, |; `4 l' u5 ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# P X) p, Q1 r9 uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');( |: [7 z& H6 z; \9 y$ U9 P" L1 n6 D
Timer.timerSettings[1].master = true;: S8 j2 P' q+ t- X6 E& `6 H
Timer.defaultHalf = Timer.Half_LOWER;8 t8 o2 f2 K$ Q! l7 V8 J R& N; T
Clock.timerId = 1;& G$ Z, _% v- a- C4 z5 U
1 K, h/ E% ]1 J7 }7 W! {
, Z- y' f# v1 Z$ A9 J Q6 |/*3 P- w8 g! Q# Z& ^
* ======== Miscellaneous Configuration ========
' W7 {8 c8 q! m' ^) G9 W! h */+ F. E- |4 V2 K+ {
8 K/ A2 Y6 r& H, A& |/* set default diags mask */
- A# p+ x! X& {$ a6 w! a) Yvar Diags = xdc.useModule('xdc.runtime.Diags');6 _8 T( B+ u( ~5 i6 E$ c3 m5 g
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ r* d. J0 g& }1 P
8 s5 {8 q4 A) ^Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ D: e6 D& T9 V1 }$ a
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 ?9 O6 [. R5 J' l- xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 Q" M1 w' S5 A! x* o6 F
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */# `2 a) `4 c# C- k$ M
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; b V4 v1 j+ c( D4 u1 a# b4 G
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- R5 S- i( ~. u- c5 ]& }$ [# ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: P0 s! U! ~; Y5 wDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, R9 M5 ~; I/ ?6 x3 h" zDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 a& h% m# S2 F, r1 }Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 [/ ?( g; x& L* p" ^5 Z* T6 aDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ X, O( c9 u* v; UDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( @9 F4 P; e9 e7 SDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 y5 c# {4 L* W, y1 b, l
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% j* n& z8 w1 X L U0 N I/ H
! A. e0 F+ W: n; U0 q) D5 V6 s! V
/* override diags mask for selected modules */
! N$ v* [; i: r8 ixdc.useModule('xdc.runtime.Main');3 H z4 _ h G- o$ ]
Diags.setMaskMeta(
3 [* A& z7 X0 [ "xdc.runtime.Main",
& j# h- Y/ |) S5 o9 {3 x) m* a Diags.ENTRY | Diags.EXIT | Diags.INFO," ?8 A% B! j" m* k) Q: ]2 S6 I
Diags.RUNTIME_ON
) \6 P) \8 H0 ~9 B J);$ _: K0 r2 ]2 a
# R% t0 V, G% [. q* X) p
var Registry = xdc.useModule('xdc.runtime.Registry');
! n* ~$ H$ |" w0 cRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! }6 ~- }9 V( T: D! v1 H1 n0 x
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( d9 B+ m& R. d3 ~4 ~" b
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;% u9 y) F) m U8 _* |
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 K# C) r" \# L- j6 y0 ?& o% l, O, _& u0 Q/ e
/* create a logger instance */
0 [/ d; K; }( K; a* y) R' H% v Xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); Q- u1 {( E! U2 y& ]
var loggerBufP = new LoggerBuf.Params();0 N& Z& } Z) @
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ w: G! b* W: ]/ SloggerBufP.bufType = LoggerBuf.BufType_FIXED;/ u0 w% r8 H' J3 w1 S' j; v r
9 g9 l/ D" Y4 d1 Mvar appLogger = LoggerBuf.create(loggerBufP);
* H6 `% }) A4 X* yappLogger.instance.name = "AppLog_Core1";- E0 w5 a% D1 N. V7 L7 f
Defaults.common$.logger = appLogger;/ A( I+ p9 D' w4 q4 W2 @, R
Memory.defaultHeapSize = 0x8192;
1 J6 U# m0 w7 CIdle.idleFxns[0] = "&LEDStatus";
- ?+ N6 d% q% Z) C/ ?Cache.initSize.l2Size = Cache.L2Size_32K;; U! B8 I# {+ f9 T, @+ O
- q' }; N1 `! q& z4 P- \, ~ |
|