|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) S; H0 s0 }: ] L我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% V: a2 i* K1 R' b2 q) L0 e2 x(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 e! b" t+ H, u3 i' @7 h* ^7 k7 m* t# L* q- }
是不是需要在DSP.CFG中进行配置8 W1 a) V) C3 @# a( f: `& Z
我现在的配置为
3 J, m6 ?: o0 x: \+ ?" b: _2 s: D5 P d) W9 p* ]
/* j4 }. {. k3 Y. e
* ======== Operating System Configuration ========
v# z; W8 Y- n% M( ] */) W+ P, m" \2 Y: ~+ j. u
' Y9 x) A3 W* ^8 _! s: F4 Z. H
/* no rts heap */% z$ B9 l1 L j" }
Program.heap = 0;- z# T. q5 j$ G9 h8 y/ \" X
Program.argSize = 100; /* minimum size */
& b, a/ x' w" _+ z6 D' DProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 h# b7 F( Z, _9 ~6 n( P' X& C1 X
# m. \& M4 w* u$ h2 c/* create a default heap */. q: a8 N/ J) ?& W: C4 K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# z1 J1 B! J0 i2 [3 p, d3 d( F
var heapMemParams = new HeapMem.Params();
1 ?% `& X* g% z! q# k6 ?, i9 ~heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 D9 W- l9 b- C7 K6 D
9 ^, N! X6 t& W1 E: [var Memory = xdc.useModule('xdc.runtime.Memory');5 O4 @- @ K. N) ?3 C- n+ Q1 F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);4 d2 J1 {4 n& l1 s6 x: ^/ F1 V
5 B( l8 j: V! J: \0 T/* configure System module */
5 g8 Y; k, y4 O' qvar SysMin = xdc.useModule('xdc.runtime.SysMin');& z% x, Z& a* U, Y7 X9 z4 r. w
SysMin.bufSize = 0x1000;# ]2 D. }+ e0 w+ N( k+ T. s* V# p5 M' I
SysMin.flushAtExit = false;
: c8 \( ~) x3 t- ^6 f$ q
1 f, v5 Q: S& q. \: pvar System = xdc.useModule('xdc.runtime.System');
: Y: g- l3 A/ ]/ Q: MSystem.SupportProxy = SysMin;1 d1 D+ g: t# q9 v
+ e$ a& v$ q C* \) R9 F/* configure SysBios to use the lower half of Timer 1 */3 m. i+ x) [, N
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ T# M1 Z$ E- e
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) ?: h2 P$ a1 A' W, `
Timer.timerSettings[1].master = true;' T: _2 o+ F$ Y) {
Timer.defaultHalf = Timer.Half_LOWER;* v1 |/ F& j* ^
Clock.timerId = 1;
) {2 C5 F" D( G5 ]& z* [5 N, q. J+ o# g' `$ v& e3 k9 {1 c
; }: n3 D% R2 V3 L/ b
/*
0 X+ j" l( o7 P/ T) O * ======== Miscellaneous Configuration ========) V6 `) _' `' z, t ?2 _5 l
*/6 }7 q9 ?) k" ?0 t6 g
- i, j* j: W, C
/* set default diags mask */( f3 a: \9 F6 W4 ?
var Diags = xdc.useModule('xdc.runtime.Diags');
1 G5 ?. k. ?- U4 D4 N1 ]$ gvar Defaults = xdc.useModule('xdc.runtime.Defaults');6 B6 {* Z9 b6 O, Q) J
; E0 _0 ~" @! E: k# j+ f+ p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" Y4 \8 V7 N8 Q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;* w& W) y3 F: U9 H9 {6 P
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 U8 S5 E4 C( Y* h1 k
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: N' E+ @/ v( F, h' ^Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' ~, @) l. t' |: b- H" g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" k6 A' r- J) ?# UDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 F- s P) b9 s4 d' k9 pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, {9 C; ^8 E7 ~% M& i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ d, e2 U3 O9 s3 `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% t# t" y% P1 f7 q2 U" u
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* C# z" _& Q6 x. d$ D! f0 |& gDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; }% V% M5 p) Q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; p+ U* a ~% o- s% ^4 m, y- K
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 V% e6 _5 M* v* L( H$ ^* \
: U) U4 R. u6 B7 U/* override diags mask for selected modules */
' y8 Y! q3 [7 r0 Z7 fxdc.useModule('xdc.runtime.Main');
. p6 Y0 D V& w+ ]Diags.setMaskMeta(
" ~9 @0 O5 H$ p$ M. M8 l, D "xdc.runtime.Main",
( r5 B5 U% C: G! s" s Diags.ENTRY | Diags.EXIT | Diags.INFO,
4 ?6 I& q- \! D3 D Diags.RUNTIME_ON
3 h9 M, I% }5 K: X7 i# I);
$ i8 i! j4 T; j+ E# c5 K5 X
) }7 @$ x! |- Y3 R% A- S, e8 x0 bvar Registry = xdc.useModule('xdc.runtime.Registry');
% @+ }. P1 _6 J$ k: g: HRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) K" \' \# u4 [/ rRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 f5 h) P/ T7 I6 P* A5 Y( |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ R4 E1 G' l; q7 q- o- c- f& r4 ^5 jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 T) N- `* m. F; K
9 J2 ~$ [( P: g$ C. f! x2 \3 O1 ~/* create a logger instance */
& w1 p2 Q2 j7 r2 n, }# ], rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( [; ]3 V; j) k3 f+ A" m* Pvar loggerBufP = new LoggerBuf.Params();, q. z0 n2 S }0 E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# B3 ~: a* m2 H$ H( k! j3 NloggerBufP.bufType = LoggerBuf.BufType_FIXED;
. y4 u/ ^6 j8 `8 o6 M5 S
- y% N3 c: {8 m. P" ?var appLogger = LoggerBuf.create(loggerBufP);
0 i& |1 @0 W1 F6 ZappLogger.instance.name = "AppLog_Core1";
' j1 ^8 A& i5 DDefaults.common$.logger = appLogger;
" V. y% b) T& a- T6 DMemory.defaultHeapSize = 0x8192; & F9 L' p) [, }8 D1 x0 y
Idle.idleFxns[0] = "&LEDStatus";' k3 V( G: M- P* V" G# l3 y. L
Cache.initSize.l2Size = Cache.L2Size_32K;" p7 b. ?4 H8 q! \
# T4 S0 P. _6 z+ o9 q, C2 e1 h+ c
|
|