|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% E3 a& w+ Y0 s4 {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 P3 t# [- `' u7 X3 A Q(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% w( U$ X9 `3 x( o t! W5 I$ S0 L
是不是需要在DSP.CFG中进行配置8 K5 D5 E& y/ R* I' F
我现在的配置为3 W! N l3 L( u
6 [2 x9 f# T4 K( e5 j7 I/ T
/*
' O4 Y6 `- g1 V5 O * ======== Operating System Configuration ========3 p& T4 `+ {1 D% k5 a2 M
*/6 o7 j, h- B8 h+ p7 e- q3 c
2 p* R, q2 u) t0 Q/* no rts heap */" F1 n* q/ C5 B4 t
Program.heap = 0;2 e8 N; E) X. C+ q: Y" g6 V
Program.argSize = 100; /* minimum size */
( p. B3 Y( g1 P# U5 @9 D( GProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 `; Q& ?0 E( P" W7 b
* [. } G/ k. x4 D/* create a default heap */
Y p# j2 U1 X1 L* ^ }5 Kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ M! t+ J7 R" S: T% S0 l" Q9 ]
var heapMemParams = new HeapMem.Params();! n3 N- i$ T2 R2 T) `& p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 }7 o& h& M: L0 }/ G6 q
2 o R3 J7 }5 L" g! wvar Memory = xdc.useModule('xdc.runtime.Memory');
' I7 C$ g9 a" {Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
m# K9 i0 T) h
, _3 f* n: ~! s5 @2 v/* configure System module */0 [6 X0 r( W/ j/ h
var SysMin = xdc.useModule('xdc.runtime.SysMin');5 u) F4 C. Y* U r
SysMin.bufSize = 0x1000;
. _, h8 X E% v+ \5 LSysMin.flushAtExit = false;
" e1 L7 r3 K1 ^4 W" P
2 N/ k5 a% @% b( d7 f0 \var System = xdc.useModule('xdc.runtime.System');
/ z" [6 j7 a$ \1 e2 Z& G9 M9 B: `System.SupportProxy = SysMin;
: o! f- X9 ], Y1 `0 j; G& ]. i) i g
/* configure SysBios to use the lower half of Timer 1 */) o+ Y. L7 `! R4 M$ U/ ]6 J
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); }1 T0 e4 n$ a# f5 D9 P
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
x. V% X, ?& d" k! kTimer.timerSettings[1].master = true;
2 {( O! F2 Z3 ]; t* gTimer.defaultHalf = Timer.Half_LOWER;) l G5 p5 ]% x0 l& A- a X
Clock.timerId = 1;
. n- T! \( H! M& X8 O3 Z5 p$ B1 N5 a4 H5 d5 n$ O
' u3 j) x7 M; P! A2 [) H8 G
/*
. v6 H5 Q6 X# Q' } * ======== Miscellaneous Configuration ========- K( a6 q* Z# L" w
*/& l2 D$ e6 z: M0 S8 E; s1 L! F
5 Q* z$ u* A$ \* U. _0 b3 m2 X
/* set default diags mask */ ^& c4 ?4 E( K+ |% ?6 x
var Diags = xdc.useModule('xdc.runtime.Diags');+ ~# s f( M1 @9 v, S, @
var Defaults = xdc.useModule('xdc.runtime.Defaults');( v: i! s& Z0 A8 q- f" J
* u2 W& O/ ^" n2 p$ a& RDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. S; x6 |3 j. ~& {9 q" O. W: t) _Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 b- Q9 Z; p: G2 f' wDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 C5 ~. t9 e& W- ~5 Q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 C6 h# z( ]( L% n) X
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" U' W' l" I2 q! zDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; i1 c5 Q1 H3 R1 Q- MDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 K. v2 y! t3 @: ?Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 e" |9 F5 y" P
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; I( T' M$ R2 b W% a8 h$ ^( N, z- P
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# X$ M& }. X2 ~Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' }. b1 u' U1 x- t3 }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 w5 V4 J9 C- q# m3 [+ H
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& `" F8 D8 W$ R0 _# r9 ]7 XDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: s- i) ?2 \( l6 t1 B' t7 q) S6 }$ ~
/* override diags mask for selected modules *// f" `8 ]+ { L$ a% S
xdc.useModule('xdc.runtime.Main');+ z4 d7 r: K% `& g6 |
Diags.setMaskMeta(
8 Q+ t6 v4 f, O "xdc.runtime.Main",
1 K! l" o2 R; o2 w; g3 ~& {! C Diags.ENTRY | Diags.EXIT | Diags.INFO,
% A+ x3 `' \8 M& e/ h1 q Diags.RUNTIME_ON
/ z+ M# z7 }+ L3 H5 `0 m' Z);! v' d) W, Z! h( u
, {/ D' w! w8 O |
var Registry = xdc.useModule('xdc.runtime.Registry');
( }, e1 g1 F) o/ R+ lRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( G: H9 }' j% b0 `# L, KRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& ~6 ^8 s2 m( }Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* U' G" ?" E; B& G
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;% Z" y+ n* l% n* H, t O( F( M
* a- o4 X6 ~2 W8 i
/* create a logger instance */
5 @+ s) a6 K6 `& E2 Y. X' N/ w' uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- p' ]$ y8 u& w B, [/ Mvar loggerBufP = new LoggerBuf.Params();2 K F" t q( J( t- _
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* D! A# {7 ~: G( L( Q) P. j5 g
loggerBufP.bufType = LoggerBuf.BufType_FIXED;9 U7 X! E7 \; O$ V% N7 g
% m2 i2 C3 C1 r0 n, Ovar appLogger = LoggerBuf.create(loggerBufP);$ Q& V' \! i7 z/ k
appLogger.instance.name = "AppLog_Core1";
0 O: O9 R$ Q& Y( o9 VDefaults.common$.logger = appLogger;+ `; O3 Q% X* Q% y. i/ V* F3 c1 `# |
Memory.defaultHeapSize = 0x8192;
8 y+ a# E2 y h% K9 j, u+ G7 wIdle.idleFxns[0] = "&LEDStatus";
7 J: U1 o- b: gCache.initSize.l2Size = Cache.L2Size_32K;, p/ I8 C J$ s* Y9 m' q
! v! A: E9 ]# y' P, H
|
|