|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, |( j/ t8 i2 X! y4 W
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 l9 A$ D- r/ w4 M(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# A; i: \# W. K' y- [& H0 F1 _+ h1 V9 L& g9 i n
是不是需要在DSP.CFG中进行配置* C( `/ W0 N0 V% S! H
我现在的配置为
8 N J6 c# D% C9 s: p! z& c6 d* s: u4 R4 D# {6 |, t
/*2 f( Q9 H" q3 C$ Z$ l; I, i! N; Q; w
* ======== Operating System Configuration ========2 R2 q1 `0 i. y+ o9 w
*/
# t3 n" T4 ~" j$ D" F; z* E$ o6 B. }6 @ ]% U2 p# w, c
/* no rts heap */9 D! T# x7 j# }( S1 ]: K1 e/ ~: A. `) j+ i
Program.heap = 0;
/ f+ U* o0 U& y/ t+ H' F6 bProgram.argSize = 100; /* minimum size */1 c* |' |6 z; n( g9 y) V: w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' M, Q% o& s9 P( A4 Z/ d0 B
( `& Y' U Q+ ?( Q- n# N+ u
/* create a default heap */: E6 Q6 Z& G R
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 q$ T$ R0 [% o" [6 Q) wvar heapMemParams = new HeapMem.Params();
" u$ g+ C }) P8 N l3 [& vheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% c8 ]: a+ u2 X n$ D+ B" Q: y
: y* A& K5 W" ]! ?, }$ @9 ?var Memory = xdc.useModule('xdc.runtime.Memory');9 a& _$ u+ q8 ~# g5 |) e3 ]
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% S& k: I* C6 y% @# s0 ^( o' N1 `
' y% F, g0 j" P: k( T0 o/* configure System module */
! Q8 j4 d! v) B& ^ ]var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 ?! c4 S7 x, `# _5 D0 N, g; oSysMin.bufSize = 0x1000;( P5 M9 e3 X/ l
SysMin.flushAtExit = false;- a! [; s+ y0 L$ G3 ]6 u
8 O7 _& g( ~7 f* {2 M. t* T! @
var System = xdc.useModule('xdc.runtime.System');4 Y% d/ B+ E% t( s& N
System.SupportProxy = SysMin;
0 Y* Z( {5 C" \" A5 X. n6 S8 R0 @- ?& \4 f0 E7 U
/* configure SysBios to use the lower half of Timer 1 */
& r* d/ @/ Q8 Z' Svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. T# F* y. C, u6 O- b* A1 n
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 V6 K) C: ?9 h; F8 d
Timer.timerSettings[1].master = true;
4 @5 K2 a8 W& J U5 |' @Timer.defaultHalf = Timer.Half_LOWER;8 `6 w. {: q' R4 d4 n+ t: a( g7 e7 u
Clock.timerId = 1; V- v/ H" N0 _
: W- D0 o C/ D/ Y
0 d* I0 m7 D, Q4 |- l; U6 y) ?/*
* K& R! u, O% `3 F; Y) I/ C * ======== Miscellaneous Configuration ========7 a& k: F( B/ d; I2 d
*/
6 ]( L# f1 R7 r, ~* h0 |2 ?6 j) a4 Y; l Y) K! H) Y5 y) y2 A
/* set default diags mask *// G' R6 u1 Z( v" @
var Diags = xdc.useModule('xdc.runtime.Diags');5 p% a7 I9 q" s4 P; w
var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ z6 ^6 |& s* S, d/ n& A' Y
4 j. C8 x, H1 u3 ~# MDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! R1 v+ T: e" q" n
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 f0 @- h7 s5 \7 }# z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 g* _2 M8 c' _7 h5 t
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 i+ m/ H& z+ o4 @" R( m4 p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 y2 q: q+ E' e% F/ tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;) h0 o3 V* ? B. s
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: n6 ]3 O8 k/ K
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 r' t) R' A9 o7 [7 R' gDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 W1 \- B$ }6 Y3 x6 V# I0 d4 S# f. ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
B: r" D+ n# D3 _8 sDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 x( |2 ?4 ]5 [2 G5 g9 ?8 xDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 Y( Y2 w) }) \" x
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 m7 V6 p& O: o$ f2 a' v
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* S2 |" W: g+ @% z# z
1 ~5 g4 O- [% a _" k6 E/* override diags mask for selected modules */, w& E/ N) d$ S) Z! R0 M
xdc.useModule('xdc.runtime.Main');2 Y% E. T8 H1 Y
Diags.setMaskMeta(! A# h0 N, x$ @ ]5 _9 A
"xdc.runtime.Main",, P9 M: f# W! D: @
Diags.ENTRY | Diags.EXIT | Diags.INFO,
# {; Y: m( F0 S6 s. z Diags.RUNTIME_ON6 |8 I! ?* L' x7 b7 {
);7 J: Q9 P, g% H
& F3 q" N, G3 d6 l7 L
var Registry = xdc.useModule('xdc.runtime.Registry');: b" }+ A% g+ G( N# M1 y; [
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& d6 ~/ m8 _7 s z" R
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 x; g4 k/ ?3 Y4 Z! O, H2 Q" L7 B8 x
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;% x+ X+ l+ ?2 G0 b/ T6 B( k
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 d0 w$ P. @5 ~9 j
/ R+ F4 W* [ K/* create a logger instance */# S( u1 o$ u [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 }% c' u) e, j
var loggerBufP = new LoggerBuf.Params();
/ p! n3 d: q& [. _+ W: Z# U, a3 HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 ^7 ?; a$ N2 \loggerBufP.bufType = LoggerBuf.BufType_FIXED;
, E* w6 c+ r e+ G8 ]
% D2 U4 F/ z$ zvar appLogger = LoggerBuf.create(loggerBufP);$ f5 o' ^& N/ ~+ v
appLogger.instance.name = "AppLog_Core1";
( `6 m' k" i7 q% t5 Q( o: cDefaults.common$.logger = appLogger;
% i' F! D0 g, f+ U" H8 {Memory.defaultHeapSize = 0x8192;
$ ~* E: M# q0 D- ]% u8 ^# pIdle.idleFxns[0] = "&LEDStatus";
# s9 B% L2 P) `3 I5 u: \; C# o2 d& rCache.initSize.l2Size = Cache.L2Size_32K; }5 ]. Z, r1 l+ B2 L
1 N# c9 f2 i4 {; T8 ? |
|