|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! z- g' G( n& L3 p1 S3 B. A% w% E% f我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' B' d! u3 x$ J2 C9 c2 O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, v# r. V4 b+ i4 t0 t5 Z0 B
" Z7 e I w1 t+ l" b7 R是不是需要在DSP.CFG中进行配置% ~3 R- P- L3 |
我现在的配置为
6 d& V% J3 a. j4 M$ F! a o9 S/ w1 Z, R
/** b+ M6 z+ s! N
* ======== Operating System Configuration ========
: W6 u3 b5 E, X9 i, o U- W */) |7 U; N( q- P- L1 r
( j- O r0 z$ ^6 m9 i8 X
/* no rts heap */
# p# S9 P& r& {! D8 r5 uProgram.heap = 0;
" h, V1 m. e# ^; D. V6 T/ pProgram.argSize = 100; /* minimum size */
5 E* Q$ k1 l* I* S3 ^7 g" b" uProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 M9 i& u& c7 ^6 r0 A, r( G' |2 k; {, Z- u8 }2 }- Y4 N1 _- }
/* create a default heap */
3 ]2 K- h$ P# _- D ~( r( pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 O9 ]; s3 Z0 R2 g3 u! ~$ u+ k) A5 l9 J- D
var heapMemParams = new HeapMem.Params();9 [. Q, w7 o" [/ V5 O8 {
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 y9 U! d3 q6 H& V9 M5 h+ k* ^
, q$ v( Q4 `4 _* i7 J. n5 e
var Memory = xdc.useModule('xdc.runtime.Memory');+ R$ B; S" X' n$ P
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
b! }! D. K* w: {7 D' ?: j9 h' O1 |' r& z
/* configure System module */
$ g, @1 K; [# @' O Hvar SysMin = xdc.useModule('xdc.runtime.SysMin');5 E' R" x5 l9 S; x
SysMin.bufSize = 0x1000;
! p _. W3 N5 X& D5 ]SysMin.flushAtExit = false;! ]/ E2 K' o+ H4 ?1 E) |; z
8 X5 C \4 E$ H; p* D* _. Mvar System = xdc.useModule('xdc.runtime.System');+ D0 J' N$ u% q y4 z2 v
System.SupportProxy = SysMin;
) H4 I E8 K6 \: _4 W. H$ W& M$ O& A# V7 ~) G; r% k! K- ]
/* configure SysBios to use the lower half of Timer 1 */7 _* i2 o" X+ U& u
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ H I4 B6 y9 C0 M8 evar Clock = xdc.useModule('ti.sysbios.knl.Clock');$ r! v$ _* X. Y* y2 A
Timer.timerSettings[1].master = true;& E# ?5 Q, ^( n3 W7 }
Timer.defaultHalf = Timer.Half_LOWER;
& t, d$ n' U! i" ^5 ?, F7 ?Clock.timerId = 1;% z% K* [' o7 P9 b- @& ]. F
: W* `4 V, C& G: Z
p" y# r5 R. K( L( v" F/*: n: |) ]3 U0 L( Y- ~. x& w! X
* ======== Miscellaneous Configuration ========' z, D# Q z. U2 F8 n" h
*/
0 I `% \( M _/ R. k# t$ h& j( m" W, [. v, ]6 {* f( D
/* set default diags mask */1 v$ V8 ?) Z( [
var Diags = xdc.useModule('xdc.runtime.Diags');( o5 }$ |3 C# i; E1 o6 z& C* e0 I
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 c2 G3 X& S8 k0 Q8 i8 b6 ^# `- `1 T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 p' T+ S5 M1 Z0 w- z RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ r/ M0 @# U; |7 j4 t- D" vDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 Y7 H) C9 M1 ?7 [0 T$ y7 w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) |3 l2 m1 N8 }0 u" ?5 xDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, f, i0 w# O+ b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 \0 R* ~( i I6 UDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 F" a& h; F% a3 tDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: q. O, u/ `( d* ~
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* M, ~2 }/ h$ Q- oDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 p+ G- m; Q% F$ r# z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 z* V, D; F( y9 xDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- y: G! T, F) n9 G) W
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;: ?- ]- Y, m/ y( {
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 z5 V5 g" P# \; j
. Z" J! |* p3 ~; K/* override diags mask for selected modules */( Z$ g9 U& \' w. V) q' W6 ]
xdc.useModule('xdc.runtime.Main');, t% @ T7 c/ K) k6 o# z. s& r
Diags.setMaskMeta(
. o' _1 Q0 e/ O; q A9 Y5 U "xdc.runtime.Main",* J, { x I: i" ?% g
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 P5 }) b! \) E: t+ d Diags.RUNTIME_ON' \. P% b: J; V, G* N" C! W
);" C5 R# @# d) d# z6 c
4 _7 ~1 O) [& Kvar Registry = xdc.useModule('xdc.runtime.Registry');0 I+ r# X- u& o6 A# n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 N# h4 _0 ~$ N7 ]% i) Z& yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ X# F7 O; p6 f* P& k( A* O) ~Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. h% _+ |2 F) N& u& Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;' g: M4 z, m$ K4 }
3 Z$ ~! I/ L/ B
/* create a logger instance */
2 w, |& s* J1 y( Vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" A& C) Y0 E+ [" f" ^* m% z7 `- [var loggerBufP = new LoggerBuf.Params();
# B! F2 B/ k; {, H8 x) k' R h- {' MloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 k5 r2 w7 V* D% a' ploggerBufP.bufType = LoggerBuf.BufType_FIXED;
! y- n) T/ f0 S6 H, E: m
+ z7 H H; w4 T+ U2 o" [var appLogger = LoggerBuf.create(loggerBufP);
2 y3 m: y8 |6 M( XappLogger.instance.name = "AppLog_Core1";
# K* t9 b N/ MDefaults.common$.logger = appLogger;0 ^% T& S7 d/ u( ]1 D
Memory.defaultHeapSize = 0x8192;
3 q# K. d- F' P" h. ~, bIdle.idleFxns[0] = "&LEDStatus";
/ K. r3 t% k: q4 ^- vCache.initSize.l2Size = Cache.L2Size_32K;
( Y& ^6 s) D" r* m' b$ \
; N- ]2 y9 R b |+ ^5 D |
|