|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! D" [, P( q' ?& X i我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 S5 K, E# K+ M) v, m' A7 d( H a9 Y* e(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 R/ g/ ?- c4 B9 J j. s. F. c, j+ s( @1 w8 A5 ?, { ~
是不是需要在DSP.CFG中进行配置" O' f/ K0 o. P3 \# I
我现在的配置为
3 {7 q5 G$ Y) T+ g# @
+ ^. O$ y: `' T6 U" u+ t1 U" }/*
& J9 o3 A7 F4 S9 I* v * ======== Operating System Configuration ========
/ ?% o* D$ {" @ */1 O! S y* c3 f$ `) I9 ]1 A
+ }0 K2 `7 R/ ~( K5 F
/* no rts heap */ `; X b. K, Y( W& y" V. i7 O
Program.heap = 0;
F- J6 W4 E; a' Q% u! P( ?Program.argSize = 100; /* minimum size */
" x5 d; @' z" D$ o8 a |. B$ |; V4 E9 E) NProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) K3 U- Q ?$ N/ u, @8 M8 D/ V
r- G6 x: R% Y3 @$ I7 `/ X/* create a default heap */
0 }) [" S' S; [, [6 D5 ?+ v* |var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ f0 o# _' Q7 W* _0 x- @/ Q3 Rvar heapMemParams = new HeapMem.Params();5 I1 g% {% m% S8 m5 }- ]& I
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 R; c7 s6 ?" M, x& l
$ r7 q7 P5 k" j" F2 h6 Q8 W
var Memory = xdc.useModule('xdc.runtime.Memory');% W0 J) D& s. N- n* v& ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& c2 P! p% K3 f5 [; q$ y
4 t" S9 c! ~$ p3 @
/* configure System module */: Q1 U+ x8 e+ {1 d
var SysMin = xdc.useModule('xdc.runtime.SysMin');. `( m" U+ \* T- W
SysMin.bufSize = 0x1000;% A" I# f# `" j' y/ r2 n3 t
SysMin.flushAtExit = false;
- j! N( n$ h; E5 ~6 m0 p! I; N$ r9 g) t, m& s, |/ `( e+ U% D) z$ t
var System = xdc.useModule('xdc.runtime.System');
* ?. W3 e" W) y( pSystem.SupportProxy = SysMin;
+ {% k; M# W" ]* Q+ P5 X
5 I& c' D0 y, B4 S/ W) ]6 e/* configure SysBios to use the lower half of Timer 1 */
# h: ?8 t' g3 y; n7 f8 \6 Ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* b3 J7 b4 I, h0 Y& y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 R5 _9 t- N" v3 O3 L
Timer.timerSettings[1].master = true;6 u9 Q4 M* N ]1 v
Timer.defaultHalf = Timer.Half_LOWER;& q n2 e7 b+ L- G) b
Clock.timerId = 1;" J- ^" i9 }) t+ x7 K( f
$ \, l# T6 V+ L; v' v3 ^5 h
' t& w/ O# O1 s$ a ? k/*( w7 h+ h6 \6 q. E" i
* ======== Miscellaneous Configuration ========
8 [! b. W( e; L R */
5 k3 p9 I5 h H5 ^: Y
. f' h! K0 t1 a0 A; l, |* {/ a/* set default diags mask */. Y& \) G" M* W( q4 ?- ]2 }5 K
var Diags = xdc.useModule('xdc.runtime.Diags');0 o6 q1 S( O5 B* y
var Defaults = xdc.useModule('xdc.runtime.Defaults');5 j6 S' _; r- W4 M/ d% X+ V K
! C: b8 t6 z @ p2 B& h7 s; {4 a0 eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 r- z8 b- i) ~Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, J. T0 }6 ]7 A5 t
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; y- @2 `6 z) k9 T# S/ K
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: b' I I( Z, m9 g, |Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ b! s# u& _- eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 @; _ A* _& Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 w% Z4 d6 U; S* c+ ZDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% ~& W7 t0 q* T4 {$ \: YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' a9 N! n2 }3 l; ` t; wDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% E7 r9 v* R9 b9 l3 QDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 P2 O9 Y' \( q* ^Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ {/ v4 F1 r5 b; v" K/ h# F/ vDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;) c) c' @0 v6 _5 l- {2 e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( [: o/ B% h& w' p8 e: h
0 N0 k" y& i. K/ ^1 d0 I. d+ z/* override diags mask for selected modules */
! D5 {8 m* e' o7 O/ ?/ zxdc.useModule('xdc.runtime.Main');
e$ V, ]! C$ dDiags.setMaskMeta(
# m% x, P) Z5 L: V "xdc.runtime.Main",3 z* F' _; S V/ i4 m- h9 T# y( D
Diags.ENTRY | Diags.EXIT | Diags.INFO,. C2 G% o: H1 b
Diags.RUNTIME_ON
, a/ v+ I7 [- o);; a( b3 j+ U9 I% ?, t7 F" ~
5 T) M9 V7 X, z8 i1 K0 U2 |
var Registry = xdc.useModule('xdc.runtime.Registry');$ Z5 m- ], G5 w' T: G3 L
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 K" I1 ^2 ]# v6 LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 }3 n8 a0 p' {0 \: e! d% JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 n3 O# V( ]. `; b) n8 tRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;, W7 K) L0 J1 b( E) t" k
: P5 V- B3 q8 P" P1 M) |/* create a logger instance */
. B6 [# e ]# yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 F7 E) ~$ |8 \9 k. P `1 Kvar loggerBufP = new LoggerBuf.Params();) {: x/ r {1 r9 R& I6 _' t) m
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) h; W5 D7 ^& {) T+ q; r$ B8 sloggerBufP.bufType = LoggerBuf.BufType_FIXED;( ^ W9 e1 u8 i: l4 B$ T
2 p. a, |# m: Z: o, R; e, Fvar appLogger = LoggerBuf.create(loggerBufP);
2 k/ ]- ?, @- X" g2 c- ?4 d, mappLogger.instance.name = "AppLog_Core1";2 G6 q( q8 z# K+ U9 n. ?( n
Defaults.common$.logger = appLogger;
$ v/ {0 D# o3 z, PMemory.defaultHeapSize = 0x8192; ) D( H3 x# F- @; M1 M
Idle.idleFxns[0] = "&LEDStatus";# `3 M2 \4 Z5 ]8 _
Cache.initSize.l2Size = Cache.L2Size_32K;
: R" F9 B) C8 z6 ~0 |! ]( X4 e) e, N; Z+ Q y7 S' Y
|
|