|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% i$ H: ]2 @- M6 }我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ D* y0 j4 B0 _" ?(不过疑惑的是,为何单独DSP仿真就没有问题呢?), s9 n' g5 Y" Y% ^# D- Q) U: K
4 O- ]# q( I1 Z) D( D6 w9 `( I是不是需要在DSP.CFG中进行配置) l z4 U$ b/ Y0 I* x+ n
我现在的配置为, v7 R! W4 a+ z# u3 ?. _" s
" [. t: T+ k1 V$ v8 N
/*
& i X) A" |4 R0 k/ _4 [ y- b' i * ======== Operating System Configuration ========
. u: g/ J2 j1 R) C0 _9 d, @0 D1 v2 D; d* a */$ Z, R+ E* T# w5 M- J/ \
* A3 F: T# w" V) H; L/* no rts heap */
8 l# W" t- g% Z# @: i5 |) u$ HProgram.heap = 0; q: l& `2 ?* f( D
Program.argSize = 100; /* minimum size */
- ^* S6 [7 i6 sProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大, P9 B7 A$ B) Y# @ w/ F
! E0 Y4 y; S% j; N
/* create a default heap */
0 F3 _, q! A5 P; d r W3 {5 Lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ Y: [/ M, m" I7 Q2 ^4 |var heapMemParams = new HeapMem.Params();
* M# w' t! x: L5 C7 s3 |7 T6 FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 s0 ?8 E7 K% b$ M3 v3 F0 X
7 K3 i$ R2 I' m) ^4 Dvar Memory = xdc.useModule('xdc.runtime.Memory');7 n) p# a4 |( e2 a
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ N5 @. F H; r3 x0 e4 V
8 S5 P: H: w* l( R' R j$ b; e' {/* configure System module */
1 ]* D! _; g/ a1 |8 I& {var SysMin = xdc.useModule('xdc.runtime.SysMin');: L) ]- \6 u; Z0 \' x
SysMin.bufSize = 0x1000;3 R5 D: f' ~, P+ E
SysMin.flushAtExit = false;
/ f! |- T' d( e% R8 V& E& p; k0 U$ m W e& V9 A, [* r+ s3 M
var System = xdc.useModule('xdc.runtime.System');$ A. p; S2 z X# W$ X2 g/ Y
System.SupportProxy = SysMin;0 I2 G6 W Y/ O" J$ V
$ K) d& w. ?& j @) d0 q0 @8 y
/* configure SysBios to use the lower half of Timer 1 */* ?* l: w9 n* R3 Y: X
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 Z- W0 L! R6 c, k6 T( P dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 h- A! [" v0 T1 ~$ uTimer.timerSettings[1].master = true;
/ U& z5 D3 h% F8 i0 p. N; nTimer.defaultHalf = Timer.Half_LOWER;
- ^( q) p7 X/ n8 w$ {5 t# h4 PClock.timerId = 1;
; M+ R3 u o( G* ^( }9 m1 V. ~% G) R( J
: U% A% b- o) y) v N, _* `; f
/* B- `2 w8 I% Y6 c5 v
* ======== Miscellaneous Configuration ========3 R+ c, [; n8 u5 L" A ]1 }
*/1 C. x& l0 [8 t4 p1 H
9 M4 A2 Z: l z9 t& P+ B9 d
/* set default diags mask */
k. [% j' R4 z8 f5 p9 lvar Diags = xdc.useModule('xdc.runtime.Diags');& m* j3 q4 b" S+ Q! j) @
var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ G! v) C0 O' R. v" L3 T, d5 e* e8 N8 m2 H5 d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 G" T/ ]* l, w% p, `8 Q3 mDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ D& x2 o( F% |6 O$ G* `/ B: MDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 O- a* g, f% T. H+ I% O% S% nDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 i2 D! F4 {7 T7 ]- i+ w
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 Q4 w/ E( B. F [& E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, Q8 i9 L7 ^2 Z2 wDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ f7 m+ U. X) o8 B- L, `Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 y8 [5 t) R6 T$ F. E* H
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& v% a8 \. v/ i; r B6 {6 LDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 y/ F+ n. t/ ~/ j, K4 kDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 s" k5 }9 b0 g4 x/ v0 K6 S% [Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# ^; w! v# {7 {8 }6 rDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 `! ~1 k( i$ hDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( g; m) E" y0 @3 v
& X" I3 M9 H; f6 G% z, x7 J/* override diags mask for selected modules */
% ~# F1 K" h9 P# q; pxdc.useModule('xdc.runtime.Main');
6 _) U& f! y( g( m( m. j1 BDiags.setMaskMeta(8 J! c4 ?! `7 L, x7 z2 Z/ T
"xdc.runtime.Main",
- `( K7 F1 A6 U Diags.ENTRY | Diags.EXIT | Diags.INFO,
1 K9 r2 q; d: S- S! n* k Diags.RUNTIME_ON
- t. s R. W! k% y/ `);
/ }" ]8 k- M- O1 s) j0 P9 ~" N. I7 n2 F1 [. P6 I% Y
var Registry = xdc.useModule('xdc.runtime.Registry');' u+ K% C# {, p
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- [6 V6 g# P. k, o7 O# ~Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 g! z" U8 e: Y( r5 e0 W
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;# d) q( G) W. D" t; D
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
4 N, h+ X6 T% ?7 E q, @- C1 ^+ U9 r. C3 Z( e* m* i
/* create a logger instance */
7 h9 F+ t; V' F& e! Z& zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
* p: }4 }" d8 r( w3 C. y# O/ }var loggerBufP = new LoggerBuf.Params();
9 e' ?! I- _+ ^/ v# Y, TloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) }4 r. F& _* @! s2 @& @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
# O* k% A2 z" x. Y$ N, k# U3 y5 j, }) \/ e$ m( N
var appLogger = LoggerBuf.create(loggerBufP);) w. Q9 i! @( h0 C
appLogger.instance.name = "AppLog_Core1";# ~* C: S$ W# A3 C6 e
Defaults.common$.logger = appLogger;
2 c& [; V4 i# S, c& X: c M& W vMemory.defaultHeapSize = 0x8192;
; f: [6 j9 p0 Q- e) @. _: G- B/ u" Q0 XIdle.idleFxns[0] = "&LEDStatus";. |) b3 {0 {5 ? z2 k: r4 l. S% L
Cache.initSize.l2Size = Cache.L2Size_32K;& {* o; L$ B3 R% E# j
6 B! a- G5 c" B
|
|