|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; m9 Z+ W6 w: L1 u我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 n. e5 ?% W: v9 ]. T
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 K% F! S1 X- E
8 m1 o/ x+ N* ]9 I: o是不是需要在DSP.CFG中进行配置
: G$ z) |0 j- a+ z# X: A/ [* L我现在的配置为
' U' V; j& Q# u) D9 U
* R* [+ Q6 S; x% Q/*
6 Q6 A" l2 s6 G. e * ======== Operating System Configuration ========2 S. E+ B2 r7 I/ Y' \
*/
2 r5 W& m. E; P3 `* ~2 |- D
* B8 K7 A# q+ E5 ]4 Y/* no rts heap */1 X: W7 r4 l+ @2 d @+ L! g
Program.heap = 0;1 K7 v" d# t" T+ t
Program.argSize = 100; /* minimum size */
9 V* r1 z/ P$ v: [& ^7 AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 E5 j. n/ b. D* z u6 ?
# B$ K" V, _' R/* create a default heap */
/ f4 R/ p1 F9 A b9 c$ C7 M! ^var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 n. j% N3 F* H# y: o5 U
var heapMemParams = new HeapMem.Params();
6 Y; w/ v& J( d8 x4 B. c9 z1 xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; K+ @) G1 Y F. g7 M5 K" ?( F
- [. k: N; _. f
var Memory = xdc.useModule('xdc.runtime.Memory');
3 ^$ b3 N. Z5 q+ _/ u" B2 _ CMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
@5 R# Q6 k1 \, ?) b8 v
+ d$ H) J& ?* _. w, z9 }0 v/* configure System module */, N1 K8 j0 }" u C$ b2 j6 a
var SysMin = xdc.useModule('xdc.runtime.SysMin');
8 a' u- K4 x/ _SysMin.bufSize = 0x1000;
# D% T' _5 o" u: _6 MSysMin.flushAtExit = false;% w4 L( B1 W5 D3 {* ?0 z
# I2 M3 K2 y, I' Z, w8 Qvar System = xdc.useModule('xdc.runtime.System');+ W) h m6 f4 h$ R; X: n8 i F
System.SupportProxy = SysMin;. `; n, G6 |* m
# v( i# Y- J+ E( J9 L" A+ H/* configure SysBios to use the lower half of Timer 1 */
. P* c: t3 b G2 d7 Kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ ?9 |/ \. p4 o# ^: O" Evar Clock = xdc.useModule('ti.sysbios.knl.Clock');
* }! x. v" X2 g& |Timer.timerSettings[1].master = true;
9 }( \& {8 ^* e/ g1 v/ RTimer.defaultHalf = Timer.Half_LOWER;
7 I9 F7 o9 n; G: @Clock.timerId = 1;
7 n: }2 G8 M `# t* P' V
; q; c5 }: v9 h' P) w/ }* x, E! `9 {1 @+ J1 o+ n# d7 J8 s
/* l Z: a2 X' @ W! m2 v
* ======== Miscellaneous Configuration ========. ]+ f; J& E8 ]
*/
2 d; t$ m% t) n0 H
/ s8 o$ Z( l) n' C: O& f5 T- @/* set default diags mask */
, l2 O! N. ]+ g5 I) mvar Diags = xdc.useModule('xdc.runtime.Diags');6 m) o0 w0 O! U0 Y& h
var Defaults = xdc.useModule('xdc.runtime.Defaults');
9 d7 i0 e6 v9 F [+ v+ g$ e0 {9 w$ [$ T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- [# T0 D) b% o, x% C9 l; S4 B
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& h. {# R! O+ }, ~, D; }8 p# EDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 b! _; V6 \ [
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* F1 s+ n; G6 E( A! S0 z j7 C
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* ?6 _4 k( G* |* E; f) r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 C1 \- Z Z" f( {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ B% L: y s# y e3 P
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% F1 H7 R c& q: R* u. s
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' T( L4 I( Y# x
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
o. @1 T8 r% DDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. z) g t" Y3 F I @$ \- E& B
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- a" v- u/ s8 a( W$ A2 j( }$ FDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 j: d. S" ^$ [8 A; pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
# U5 N* `3 h2 ]
9 I+ z/ {* P0 v# d, ~4 }/ X7 ?/* override diags mask for selected modules */
$ l" V* P( ]/ cxdc.useModule('xdc.runtime.Main');1 l3 L" x! U2 b8 O Y* t6 ]! R+ r. C
Diags.setMaskMeta($ c! y8 w+ ~2 U$ l- D5 \
"xdc.runtime.Main",, a/ ]% I, F H1 c; g
Diags.ENTRY | Diags.EXIT | Diags.INFO,
1 D( H9 Y8 x& J: R2 S Diags.RUNTIME_ON) W5 j4 x" s/ V% ^. y
);
, c$ ~) p0 k. M/ E, V5 J6 r
$ Z6 H. V, U: ]# {var Registry = xdc.useModule('xdc.runtime.Registry');% N3 M! r" [% H# @( P, F
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; a) P) h: @" Z3 V, J
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 ?" H( U' g3 R0 H, p" t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
) |+ K( e; s3 m/ g1 _5 iRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;; ?5 s4 z; U" S. b9 K9 Q% ]
5 K. H( D- n2 e3 n, ~9 H! F8 O/* create a logger instance */
9 I$ G0 B+ R# g y e# z4 A6 O$ a# z( Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- n' d+ G s; p) G6 Kvar loggerBufP = new LoggerBuf.Params();( r8 ^% t% ^) `0 l% Q' G
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# q% B* K: u0 EloggerBufP.bufType = LoggerBuf.BufType_FIXED;+ n9 n8 r, u2 n" n. Y% }; s2 b
: W! n0 J$ f+ a# X7 b) B
var appLogger = LoggerBuf.create(loggerBufP);
8 }6 L& e4 C% k& f2 d% ]& h7 lappLogger.instance.name = "AppLog_Core1";
& |/ d* \' Y; @Defaults.common$.logger = appLogger;
! f0 v6 d& ?4 |% \6 sMemory.defaultHeapSize = 0x8192;
7 q$ E! b3 X" |; u7 I( sIdle.idleFxns[0] = "&LEDStatus";& d0 l% p j B) a
Cache.initSize.l2Size = Cache.L2Size_32K;7 C5 ~* s- F+ b0 C1 L1 j
! j/ c8 V7 n4 J% y; }9 Y _
|
|