|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 a* P7 d8 U3 _. }; n; {. G- k我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& q1 p2 L" K6 H+ b! B; |
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 s3 k/ _: ^( X6 ~$ g {
]1 C& I$ O! q
是不是需要在DSP.CFG中进行配置
. {* v6 l' L7 K2 j6 m我现在的配置为) R5 M" U' ?6 a4 y
, s, R$ S, x/ l" S
/*
' Q3 h/ ~- ^ S- n/ k: Y: d+ Z& ~ * ======== Operating System Configuration ========
# `$ a# j( {; t { */. E! Z4 F: g. J4 @2 W7 h. q6 g( n4 F
$ u/ b4 |7 B6 S$ f/* no rts heap */
6 H9 z' {' h& @* H E, aProgram.heap = 0;1 Z1 n7 W, m% n: V; D- T
Program.argSize = 100; /* minimum size */
" D7 n! W3 [' O/ @( ?. N& I: I W: yProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( L- J& a7 |* S8 B2 p" ]2 l2 o2 I6 @( e; g, M* G" D
/* create a default heap */
: L: u9 j1 N& i6 J Pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ U7 H, p; {% w g2 E) n& R" v
var heapMemParams = new HeapMem.Params();
! C1 b" c* `" q0 ^, V/ ]5 uheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% d0 W$ q t! X; w9 ~, R
: a! |) f; U6 Y$ vvar Memory = xdc.useModule('xdc.runtime.Memory');
! g$ M; Q- p. }: i( wMemory.defaultHeapInstance = HeapMem.create(heapMemParams); K( ?5 V8 n% p! Q! w
- a7 ?) q+ x+ D# x4 _4 m/* configure System module */. Z/ k" C, b! D5 N
var SysMin = xdc.useModule('xdc.runtime.SysMin');
# U0 c; M D8 i; s CSysMin.bufSize = 0x1000;
4 i! G; v0 F+ |SysMin.flushAtExit = false;& b* K0 v6 G6 m7 O
% I$ A( @ p4 k
var System = xdc.useModule('xdc.runtime.System');" T* b) x: ]2 w/ A& m+ b# z
System.SupportProxy = SysMin;( O/ s9 `& @' C$ o' M" N5 b5 E
3 e+ y! p- N/ g8 |7 V# F/* configure SysBios to use the lower half of Timer 1 */
$ h" i- h. q7 [1 O7 J& A r/ X4 b4 gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# s. K3 T% J0 n; ?5 X/ V
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 @+ j( j" I* ^0 g. BTimer.timerSettings[1].master = true;
/ B" d- N8 N/ p; Q5 a2 s1 D$ {+ RTimer.defaultHalf = Timer.Half_LOWER;
( l' e' S# l5 bClock.timerId = 1;8 E/ Z, z! v& N U% G
2 l3 q( T1 x: G
9 s2 J8 G. c) j e2 f$ p( a) L/*# N n! K* N b* P) w9 G
* ======== Miscellaneous Configuration ========1 e4 [9 W/ D! w. I
*/
$ b) v6 ~ M6 J' i) R+ \) D
% [( H& M) H# ]3 Q) K$ H0 Q8 @/* set default diags mask */# b# Y! ^4 G" O* M
var Diags = xdc.useModule('xdc.runtime.Diags');* |. h. _( G0 a, w9 a0 c
var Defaults = xdc.useModule('xdc.runtime.Defaults');- O& g) {8 r, x( T, O
6 A7 `7 [/ b, E yDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 Q- `6 d$ X( m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 M Z2 _3 P5 C! ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- B" o" H# J$ @! g
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 v2 e* D, ?0 e3 u3 e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
: v: S& Y, I w7 @; F; O& tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 K3 [3 Y( P G/ Q) tDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# n5 v d' V6 m: ?1 eDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! p$ S5 a( U7 ?) M1 x' rDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 b% H; S# G. G; y- m& c0 L9 W
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( _' P* m6 ~; i1 vDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# M% E( H* a5 _9 c! C$ L' ?Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- H' O7 O5 O9 M
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;, A# {- p: S! n* j$ w# l! ]% }) u
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 U; Z, c% h) u; F
& d9 {, d2 }0 [, ?, b2 `# `5 x* ?, c* a/* override diags mask for selected modules */
P2 t9 |% B; D7 B9 f, U9 k+ x5 ~xdc.useModule('xdc.runtime.Main');, j1 k2 r+ x, r6 `* Q0 \: Y
Diags.setMaskMeta(
2 A+ y. k; x! {, i) f* K "xdc.runtime.Main"," d5 _2 i6 U; ^* D* g
Diags.ENTRY | Diags.EXIT | Diags.INFO,& x* R, ?9 P) _6 }/ g
Diags.RUNTIME_ON
8 c, M7 g# F8 N+ A5 Z/ L; e);
* J- Z$ a$ O1 N9 E0 s, M4 t
! X. ]" u! \1 n0 x4 g# Lvar Registry = xdc.useModule('xdc.runtime.Registry');
' Y l u6 \5 E# Q: \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 k ?9 v$ i3 I# x
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 X+ M. Q- Q: e& s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;% x1 A* ]3 q4 b, [. K: \
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;, k! I; w6 i9 q; `+ X/ J3 X
2 e; k' `0 H: {' n i6 R1 t, n* d* S/* create a logger instance */
, e# A2 A! d( h/ M1 V2 A! \/ vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" c2 k4 V. z/ D* z i2 `var loggerBufP = new LoggerBuf.Params();; W. `) K( ?! r$ t0 h7 j! k8 E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
{0 [# U. i: c' f$ tloggerBufP.bufType = LoggerBuf.BufType_FIXED;, x) o* L% n" _3 A/ K8 y
5 N/ |# N9 g9 o5 F6 X; z* ]var appLogger = LoggerBuf.create(loggerBufP);
9 j# R- ^ Z- X [9 jappLogger.instance.name = "AppLog_Core1";( W9 ^+ t+ E4 M7 b" d* s; d/ o
Defaults.common$.logger = appLogger;
6 S5 T0 q2 f( \& a HMemory.defaultHeapSize = 0x8192; - c0 l% V/ j4 N& |1 P# F" m
Idle.idleFxns[0] = "&LEDStatus";
( y8 R6 J. |) S! z( LCache.initSize.l2Size = Cache.L2Size_32K;
% p" O1 j# ^7 Q! j. s; P6 j
, a1 x$ @7 X* T7 D6 r2 i+ i |
|