|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& }4 V: k5 s7 v z* f- o
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- O) U$ O+ B' n* @" {7 V
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* M7 ]9 H3 @7 c8 i( r' k6 ^ h5 w
& z5 B$ d& I4 q- k0 X( Z& C- p. b是不是需要在DSP.CFG中进行配置1 N h0 Q* P( |* K' x
我现在的配置为+ a; I U7 X3 X8 X6 A
5 K! w% X) o; l3 n9 l2 o% ]& r
/*
! W, c" p5 u: Y. p * ======== Operating System Configuration ========
1 {. Q( F6 @; U) }: z. x */
S2 i. ], _9 p
2 k$ O2 X4 L( j8 r4 O( Y/* no rts heap */5 S8 Y; s2 Q) _4 }& N
Program.heap = 0; ^5 A4 ^3 G* `" |1 m
Program.argSize = 100; /* minimum size */
j1 C& f2 R* ^/ EProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大, }/ ^) H2 q- G+ |) T
# C7 L$ U! M0 m. a; t/* create a default heap */- K* B/ v6 z5 W& C
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- h4 D3 G9 o9 A# Bvar heapMemParams = new HeapMem.Params();
; `4 g$ r8 \) WheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" l* B3 [; @0 M( `3 }% T
- V+ u2 R" O5 z. y. l; Uvar Memory = xdc.useModule('xdc.runtime.Memory');: V6 z! w) f+ q0 R+ r- K4 h* y2 e
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. z; M3 a% q( P9 Y( y) c
% l4 V4 d. m* h0 {/ M/* configure System module */& a( u: v& C0 Q6 U" {& K; C
var SysMin = xdc.useModule('xdc.runtime.SysMin');
* N4 X# _: B/ w" \6 R( \& ]1 X! b( u% ?SysMin.bufSize = 0x1000;
3 \+ ~7 b7 t* q) @SysMin.flushAtExit = false;8 ?+ a c7 I: C
; B8 a( E+ {2 U: _+ j: T4 l9 F' Rvar System = xdc.useModule('xdc.runtime.System');& M# A2 \0 A( |' z& t8 b
System.SupportProxy = SysMin;) P' R9 O. ]5 I# |. g6 R3 B; k+ B
# ]+ f+ T; N5 S; [! v" k
/* configure SysBios to use the lower half of Timer 1 */
7 z3 `: q; y( n' @2 p' Q1 wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) |; S, J( I% ]6 I0 Q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) F, q9 g: n$ K Z
Timer.timerSettings[1].master = true;
# }! ^6 |6 i4 E! l/ w* w: STimer.defaultHalf = Timer.Half_LOWER;
; {' S9 T- P2 L% qClock.timerId = 1;3 N6 g6 @& s- Q
; R2 }- n) ^ V% e% f5 B
4 Z% y0 i- a1 r/*
( V U3 @* _5 k6 e: Y% Q * ======== Miscellaneous Configuration ========
5 ?8 q& O( w3 z */8 V4 x$ N' ?6 w; L- N6 l% |5 L
% C8 ~! r4 e9 E9 F
/* set default diags mask */9 I9 a) {( F6 g; W4 y1 t! f( e
var Diags = xdc.useModule('xdc.runtime.Diags');
, R' { E) }% k: O# Kvar Defaults = xdc.useModule('xdc.runtime.Defaults');6 U7 g6 x9 U4 p( |2 j7 |0 p& X
4 O( ~! k Z2 B) H6 n3 P }# QDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, Z1 {! h, Q$ b& S0 u' l* o$ \
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;1 a' p. g! N% V+ Q$ h: b# z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
( C9 L1 C8 F8 w) q+ W7 PDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) T3 L2 S! E: w- `Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
@- r* `6 T; X0 x- p6 EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ M+ P% Y. M [3 q4 qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, u; L' A* Q; SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 r+ J8 w( T0 f0 m( C, o4 A; ^Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% L8 n* |" A+ KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ e" S) |) P& x. O% I: I ?
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! T* w; G; W1 l" MDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( o" A0 {% G) o4 j! g3 Q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 T* x( E7 L; |7 S" o% _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. ]9 t& M) L" f7 }) Y0 J: @2 g
3 H Y' [( l6 C7 r
/* override diags mask for selected modules */8 U: z8 U0 ?, ]3 q
xdc.useModule('xdc.runtime.Main');$ F5 x8 R9 ~& a0 L+ F2 d6 Z7 M( ?9 n
Diags.setMaskMeta(3 y/ G1 K! ~# v5 D. ]) ?- T" P- ?
"xdc.runtime.Main",
% I1 ~( l9 t* Z: V8 {. o Diags.ENTRY | Diags.EXIT | Diags.INFO,7 b& N: P. s8 F, {7 a' Q
Diags.RUNTIME_ON
' d% W+ l: P' b0 ]- s% A);- z/ A0 O9 D! v" @
7 P+ H+ X8 J- w% c+ p, `: U
var Registry = xdc.useModule('xdc.runtime.Registry');
1 u* J9 a( I* d0 a0 _Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& Y& n' f) X4 ]- \% D4 O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 p# z, p# a8 vRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 e# f n% ~ X9 u. X# V6 Y/ HRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;( b4 K7 k- \; o6 ]% q7 T
7 s, N( U' `: a0 U5 O4 s/* create a logger instance */
6 s+ C2 y+ w ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% [* U y& R! l- \( ?. T1 X) N6 G
var loggerBufP = new LoggerBuf.Params();
6 o5 d! u) ?9 i8 C2 gloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
w1 R- y' a) F0 B' \. KloggerBufP.bufType = LoggerBuf.BufType_FIXED;. O) f! _. v' N9 L1 r- u \9 d
2 W# p9 x; u8 L' Y4 S+ J
var appLogger = LoggerBuf.create(loggerBufP);
, y D! }/ n7 V" QappLogger.instance.name = "AppLog_Core1";4 ]# Z" g# s/ T8 R
Defaults.common$.logger = appLogger;0 q% M/ j" p J" q: K" f- c
Memory.defaultHeapSize = 0x8192; k' f) r5 X7 A: Q* [5 F5 `& [
Idle.idleFxns[0] = "&LEDStatus";
$ V; j. J, h* e% @6 }. ^Cache.initSize.l2Size = Cache.L2Size_32K;( o# t0 N' a9 S. I* L0 |, ]2 {
; W+ H6 f4 ~. A# u; T8 p |
|