|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 S2 _3 s8 E( `! u) t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* n8 A0 R6 D( I$ ]9 r2 \(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! p- b9 @' Q f ~5 u
% g U/ O$ q# Q2 a是不是需要在DSP.CFG中进行配置' Z9 v6 K9 n1 r4 m6 l0 ~ z- K% l
我现在的配置为
, E# v) K# {/ m8 w- V. j7 h0 |$ C
/*4 e' k, ^! }5 d: l
* ======== Operating System Configuration ========
4 Q% b3 K* i% J4 \' A */0 T+ E; | U+ x( Z6 R
: N/ _* w V z& E( o% \/* no rts heap */* A) a6 S5 ] e n7 f+ z
Program.heap = 0;4 e% s6 C P! R! R
Program.argSize = 100; /* minimum size */( }! d3 L/ R/ C+ R5 q' z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" k( a, {. \* Q/ |1 N" [0 G
; f$ U, e y X+ I/* create a default heap */
7 B* U- K/ u, M3 Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 V+ r: L, x$ C1 uvar heapMemParams = new HeapMem.Params();) R4 V! L9 d. ~$ Y- z, R, B
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) x) A4 x% I5 Z) g& b3 ~
0 Y. o! b+ ]1 }7 m7 Xvar Memory = xdc.useModule('xdc.runtime.Memory');1 O" k: F+ B+ u$ N5 P7 w2 X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. }7 M& y$ @; Y: Q4 U1 {3 ` G% M
3 x6 F5 H0 V6 M; H/* configure System module */$ p/ G. \+ T2 O
var SysMin = xdc.useModule('xdc.runtime.SysMin');
& H, n r. ^% s4 S0 e* TSysMin.bufSize = 0x1000;
9 e8 v8 R7 S" {& w RSysMin.flushAtExit = false;/ y$ p8 j9 X& s! j8 ~) B
t2 }- m2 `0 U7 V7 Hvar System = xdc.useModule('xdc.runtime.System');
% M, f( Z1 y& ~" T2 BSystem.SupportProxy = SysMin;3 L5 J' W! K, R
0 i7 v9 u0 o. I. h P) C
/* configure SysBios to use the lower half of Timer 1 */
* i( M1 R5 r+ hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 M# m& @1 {; y1 Bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- a/ p5 O6 @& b0 ZTimer.timerSettings[1].master = true;7 ]+ P U! y3 s. j r" `
Timer.defaultHalf = Timer.Half_LOWER;; i* I. b7 j g" A' G4 ^
Clock.timerId = 1;" m0 d8 O9 k0 ]+ `! r9 ~1 e- W
6 {" D- ~# h7 ?+ N+ R- o
7 V! S2 ], x9 l! _" r+ y; }. w/*9 D& N x9 O7 ^/ m# e: k
* ======== Miscellaneous Configuration ========: c8 U9 {/ ]- L4 `) [6 c2 d! h
*/
% }9 r% u M; T4 P4 h. `* f$ a2 O1 z
/* set default diags mask */% T6 A E5 Q/ _
var Diags = xdc.useModule('xdc.runtime.Diags');
9 q- n4 G+ N+ u- ]& s }var Defaults = xdc.useModule('xdc.runtime.Defaults');- }0 t: V, K& F' F3 W$ T' V
( S6 R, g4 w; Y/ o7 b
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 A' n0 F, U" Z: n
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 V8 k# c1 ?4 x4 \. U$ i+ X
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. {8 W% V" C' M0 N( tDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 l S7 I2 q& |: k8 L$ H) qDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 f# E: k n- o7 M9 k
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 s* j L6 B7 L/ r0 v
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& g+ I2 I* J u- G' f* e {- xDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! _$ P" ]- X+ mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. v) q; p$ }. @$ w/ H) l7 I
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* @6 t$ f1 e# G) }) P, v& zDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 T9 c" w6 m" {
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% K3 N/ y+ v4 b0 w( F$ h, t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# I* e( H7 S) Z; ?. Q( BDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; ^& Z6 \1 W% T: ^' J% a ?, J. u' b
. ?6 h n) ?+ w3 X) k( e$ A5 K
/* override diags mask for selected modules */; u' P* [# j; b# u* j: G* v( V; w
xdc.useModule('xdc.runtime.Main');
6 x6 ~0 s2 V; I! x! C& JDiags.setMaskMeta(
6 R) Z. }& t6 O. ` "xdc.runtime.Main",, y% r0 F3 b9 }9 V4 g" ]
Diags.ENTRY | Diags.EXIT | Diags.INFO, i* l$ T8 G4 E" w( r/ r, }
Diags.RUNTIME_ON
7 b$ s: V$ l8 ?" j8 |);
7 h% F' D4 {. W! H- g3 H4 J1 n I3 B0 F X4 Y$ A" z. W5 ^. ^8 e4 P
var Registry = xdc.useModule('xdc.runtime.Registry');
) r* v8 h9 L2 I1 C) u: ^) o& P9 T5 tRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% s- b4 _: X% @& `. i
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 r; C S2 o6 O1 c( _0 S4 X& jRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;# E# y5 @, a2 d
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 C: N; B+ a& b4 J2 y
- ^% @8 z- h! U2 g# O) S/* create a logger instance */
& s6 \+ y9 R1 H/ j1 pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( @& X) e$ \/ I: Gvar loggerBufP = new LoggerBuf.Params();
2 {# y+ f& X, p* }7 [* NloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- _* X7 a4 l: r4 r! l" q4 q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;; _! ]% Q# d4 Z9 T, i/ o
2 A* _( R8 X( y" V, ?var appLogger = LoggerBuf.create(loggerBufP);
% |- A S6 k3 I% OappLogger.instance.name = "AppLog_Core1";
- M3 c) a* q) o# \, i# \Defaults.common$.logger = appLogger; E& P8 i+ s$ M) r. {/ m
Memory.defaultHeapSize = 0x8192;
9 j4 M- s- k s9 ~6 A1 Z- G- DIdle.idleFxns[0] = "&LEDStatus";
2 V g5 Z9 V4 a/ ~# N) nCache.initSize.l2Size = Cache.L2Size_32K;1 E6 i! p2 C( } A7 I3 w& x! Z4 j7 p
0 \2 k/ U) }, W" F% |. [# b |
|