|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 M! j+ ?; `5 Y( E' c
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 L0 U* a8 N4 }& {" C4 ~ K(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 T. V& I- ?% r3 [1 _ h; C$ M) C5 N0 o0 E" |* N
是不是需要在DSP.CFG中进行配置
3 @6 T( q: c, L) |( y1 r( W我现在的配置为) [- w2 j/ E' L) L4 w( y6 }
$ ` N# I& o. P0 o0 ?/*
5 D* O, [, ^' `5 H; I5 R * ======== Operating System Configuration ========
# q8 J& w9 u) A% c8 t */
4 t8 C6 ~# k- p; Z8 g: G# n% X/ t
/* no rts heap */
6 E% I4 j# J! N; pProgram.heap = 0;$ M n5 W& E8 n
Program.argSize = 100; /* minimum size */* k! D4 h7 z% @
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大 T/ l1 t' N# w6 M0 }' ]# u0 a
, ? |6 r6 Q- q% H, T9 A, {
/* create a default heap */. u4 y# _9 {8 Z& u7 a. U( \: v- h3 X
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');' c* Y" d# ?5 z3 U7 I( ?! R- M
var heapMemParams = new HeapMem.Params();% I! B' z1 N4 b( c
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- b* M4 d$ b6 c/ P. T; K4 e5 s
& l- w9 H' @' ]* x; kvar Memory = xdc.useModule('xdc.runtime.Memory');/ W( j" W9 I. w& {! n M% m) V
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);2 v/ {' b j! U5 R2 |+ x
7 L8 n! v+ @7 s9 w' b+ r
/* configure System module */
# ?) h# |. e) a: \/ svar SysMin = xdc.useModule('xdc.runtime.SysMin');3 } L& q% V1 @# p
SysMin.bufSize = 0x1000;1 D4 b* r* R2 m a
SysMin.flushAtExit = false;
* \& G0 \3 H+ X$ E% a$ L3 W6 [& Z: P$ a: k/ ?+ y
var System = xdc.useModule('xdc.runtime.System');
5 o( u0 v. U) Z# ^5 G& _+ ]2 QSystem.SupportProxy = SysMin;
1 M/ h! M. c3 d5 C+ d
9 y. f) y. `3 }9 m4 b) D: `- ^/* configure SysBios to use the lower half of Timer 1 */
* e* L1 l/ y( b% m4 d3 R$ r& F! nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: l+ z& T, v0 G( t
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% K& {$ l2 ]0 E% @1 c
Timer.timerSettings[1].master = true;: s4 O4 O& ?1 d& W' X( J& }
Timer.defaultHalf = Timer.Half_LOWER;
( k+ v; f4 m! k' u( wClock.timerId = 1;% a1 Y% B d2 F4 t
9 W0 t! t8 B) _4 ^ H$ E4 C
) X+ c8 m u3 ]9 S( B7 J& o/*
$ G5 _, K! X" O/ v6 k8 M# h * ======== Miscellaneous Configuration ========
( _3 `" n# s2 l# Z" q */
% Y; L3 |& _2 b
0 N. x+ X T8 ~% m, z: ~ e/* set default diags mask */5 P1 _2 ~% V+ \0 c
var Diags = xdc.useModule('xdc.runtime.Diags');
0 ?% T# Z6 i* u' |var Defaults = xdc.useModule('xdc.runtime.Defaults');
" o! M' G1 E7 E4 J8 k% b" S+ D6 H- `' ]" E, }2 t9 P9 V) U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 k2 q" }0 X3 Z, W. j( ?# x4 yDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( w8 Q, D& f3 Q& Y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" L: T# ^& s3 u& Q3 i
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, Y" b% y# d: j( A3 \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" j0 @# D8 P" B1 Z8 C2 k! b/ ~
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
X* L. T! g2 f4 M- f0 DDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 `$ Y4 j" w k2 I# P3 q" N; ADefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! ~1 \- \2 m8 D3 j- W7 v
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. R* p- u. W; ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 I! P6 w3 c0 P5 Z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- y- X6 B7 h c' V" A8 M
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 A$ w( Y- X8 n* Q) M: @/ `+ N/ `, ?
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 X7 O5 |: ^; }# ~
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% R1 n! v9 m, B( Z- W" y4 n
5 s9 m' r; n9 Z1 F& P2 p2 U2 x
/* override diags mask for selected modules */6 ~% K3 [4 j8 b7 v$ h* ]
xdc.useModule('xdc.runtime.Main');
. I) V$ _, Y4 n& V% D; EDiags.setMaskMeta(. B \* n, F- E+ w
"xdc.runtime.Main",
5 S) R1 J& f4 U- i Diags.ENTRY | Diags.EXIT | Diags.INFO,/ H2 x& O' ?/ N4 G( |
Diags.RUNTIME_ON7 \/ f1 k( j$ z; @% i1 S
);
( N4 }3 p, S3 D+ A4 c. l$ w9 \7 p# k1 D9 K- N( g m3 U. n& o2 z2 K! @
var Registry = xdc.useModule('xdc.runtime.Registry');
0 p: R! d6 B+ Z' z- xRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 d0 x+ h: k! \- Q4 E
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
k$ H4 `& b. m( _Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- v3 v: D! |$ j [5 q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;% i! Y& P" ?, o
5 Z8 Q) `0 ]; I$ ^
/* create a logger instance */
, S, B( g1 ~! H* J5 s8 S6 e2 \! Kvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 i. F6 J* ^1 |5 l. g0 B% }
var loggerBufP = new LoggerBuf.Params();
) M- J( S5 |7 N! ~& Q, D* Z/ m* q( RloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# c7 J7 V1 e4 YloggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 w# X/ z9 b" A! v7 D1 E& |
& O i q5 h; c k7 f3 Bvar appLogger = LoggerBuf.create(loggerBufP);6 k. l1 \) L; D. C
appLogger.instance.name = "AppLog_Core1";6 D, M1 F ~8 t- j+ ~
Defaults.common$.logger = appLogger;5 p7 O% R3 O7 U$ k! u' J% J: w( f
Memory.defaultHeapSize = 0x8192;
# h/ w g; p3 q7 NIdle.idleFxns[0] = "&LEDStatus";
" _6 i5 d( ?* _0 FCache.initSize.l2Size = Cache.L2Size_32K;- r E& V9 m% X5 J: q3 A
) {$ s5 {; U Y+ a( ?2 q
|
|