|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% n `5 R; n# R/ B1 l% {. p- X2 s( Q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. W- M2 O3 C# Z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: Z s+ R! d9 Z4 A/ A9 z! B1 U8 o( O2 l G, e$ W2 S/ `
是不是需要在DSP.CFG中进行配置7 n3 k6 Z a7 x# t6 ~. S
我现在的配置为
$ y% a! [6 W% k' J4 Y/ U. Z( o7 \
/*
! X/ s0 [% s2 g B * ======== Operating System Configuration ========
/ Q* ]# w5 u# E. Y */
/ \2 J/ v- H9 Z7 F! f! A$ s3 P' o8 K( {2 r C2 R
/* no rts heap */
9 ^; p I1 b9 m- `+ d& K: @- DProgram.heap = 0;, z$ \& d- g- g1 d6 ?2 G, M
Program.argSize = 100; /* minimum size */: d( o& ? B: u1 V9 E: a9 ^* @
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: Q+ w! A& s1 R4 U. o: b- V
1 |# l9 u9 y; B# T4 J8 T
/* create a default heap */
- e* q$ ^$ Z4 Q$ v3 S O$ Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; L+ _. ^- w/ l' m) N$ a' U4 ivar heapMemParams = new HeapMem.Params();5 F c; a. d) Q+ z4 @ \3 A+ ]! w9 x. l
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; ~6 q. I: D, P4 d" h
4 k* h. v8 ~3 D# Z) c( t1 Ovar Memory = xdc.useModule('xdc.runtime.Memory');) ^* [9 @( B/ y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 c" _% m) k0 J/ ?! [$ o: l1 {5 u3 q2 A
/* configure System module */( {2 f/ m' \ J, H0 n0 n
var SysMin = xdc.useModule('xdc.runtime.SysMin');
& B2 ~4 u: d2 v' X7 @SysMin.bufSize = 0x1000;; Q7 E2 ~4 j4 f# ~' F
SysMin.flushAtExit = false;& k; _* `4 L+ \- r
( ]4 h( T, S" R6 j6 e& a7 h; K
var System = xdc.useModule('xdc.runtime.System');7 y) f; _ _5 n/ R3 E! `3 p3 u
System.SupportProxy = SysMin; C! `+ O5 w# w. P
% L! N: z8 _% [- x- F& H. n# J/* configure SysBios to use the lower half of Timer 1 */
- h9 Z- l: Y4 V3 |var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 t/ c# K* t l; y& m& @: \- I5 L
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" y" n8 ~' ~0 }/ C. S! m
Timer.timerSettings[1].master = true;. z, v, \3 Z, A% J I" q# m
Timer.defaultHalf = Timer.Half_LOWER;
! {9 J7 J) _1 Z8 l+ NClock.timerId = 1;# U4 F* }1 b# j. T( |
- U& G# W: [+ @! m; b0 k2 j- Q1 J" p8 ~. L$ Y9 g
/*3 _) l3 N1 B) h$ Q' G/ R9 |
* ======== Miscellaneous Configuration ========* ]- ~8 W2 ]6 _, t, D7 O0 c
*// [) A x" W3 n
( l6 f5 Z. \0 ]. h( `' g, ?) I
/* set default diags mask */; i% Z/ Q3 T/ d) x7 Z: R
var Diags = xdc.useModule('xdc.runtime.Diags');
! N( a5 {8 _& l5 x, P: \var Defaults = xdc.useModule('xdc.runtime.Defaults');, M$ f( V6 _! f/ q* V
; @0 R3 U% k3 v y$ m# J& L
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- `$ R7 E- ~* \' aDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ ]7 `; L* C" K9 k8 F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 D5 b( x% @. _3 |: _: D' E
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 d( E0 P' ^1 Y( [5 ` d+ N0 E. S
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" X& c: n5 h: T# V) q; V
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;! i4 @1 B: Q+ X! _
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 Y0 i) n" w1 N, J* d4 o; vDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. f( h. H8 t- S4 I5 S# M6 K9 U8 \& ^
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF; I& Y) Z4 {2 q& j' ^5 H! K2 K
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 k: I0 G8 `" W0 b9 ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 I Y8 c* t0 |. |# u7 v! e, Q; p+ X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ l* G3 v! v4 l* C) A! eDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;) K$ [1 {7 @( V8 p; J1 @
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; i0 j" f0 ]% o: U# G7 [0 ^
6 n6 ], q: p. I' }: I9 [
/* override diags mask for selected modules */# ]! F) d o3 H/ _" Q: Z+ V" u
xdc.useModule('xdc.runtime.Main');' q* S7 z4 @5 ~
Diags.setMaskMeta(9 Y8 v: m3 M3 z3 A: A. Y( x6 Y
"xdc.runtime.Main",/ [/ j& H1 T W: e( G: f! b# ]$ Y
Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 t* `5 A1 ?! N( L. W/ H7 a* R Diags.RUNTIME_ON# F5 |2 B+ u4 L. ~) D# B/ L% ~) w& ~
);
; W- ]6 _ J# C7 f
$ r8 i4 K3 l) [1 o7 O' P' yvar Registry = xdc.useModule('xdc.runtime.Registry');
7 X/ K9 u6 `9 w& q& Y. T( _- ~6 \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- K! M8 P. R6 ~; W9 s( K! U* f
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: @: t) w& h4 e; n$ ]$ V
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;5 P* {: t# \/ p
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- D9 B$ c8 h! D8 W) X' b) \9 v. Q7 b8 e' z: u0 V
/* create a logger instance */ u. |9 h. G. |/ N2 z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) [/ |2 `$ y& U, E* ^& T Q) F/ ?
var loggerBufP = new LoggerBuf.Params();
* S* R7 E8 O- sloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! O. Q, f3 o0 O0 cloggerBufP.bufType = LoggerBuf.BufType_FIXED;! W4 A- B/ @/ B! H- Z- X0 \! M
. v( U$ D( B! B
var appLogger = LoggerBuf.create(loggerBufP);
: w) n8 p$ ~7 @& V+ QappLogger.instance.name = "AppLog_Core1";
( w. v1 c8 I9 rDefaults.common$.logger = appLogger;0 B- H* C. T# C2 @, ~
Memory.defaultHeapSize = 0x8192; ( q/ _) B, I# e$ [2 f
Idle.idleFxns[0] = "&LEDStatus";( ^9 m2 |: T' k6 o$ G# f+ v4 F- t/ _
Cache.initSize.l2Size = Cache.L2Size_32K;, w* n3 ^* A4 S) H
9 H0 T! p' F' B8 Z4 ? |
|