|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: G3 s: }9 ?2 }2 c' f- Z, t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ E( u, H3 |0 k' g3 A) E# O0 c7 V(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! }) v+ }8 G: Q7 j
" e/ _5 V/ d. A7 Q/ i2 Q& E9 j是不是需要在DSP.CFG中进行配置
& P3 N; u" |9 `& Z: `( n# \我现在的配置为* ?& q- P+ S* T
1 q0 P5 L' e( d& i6 l. P9 N2 F( _/*
( Q5 E+ j5 f) |& @ x8 ~* F. V) B * ======== Operating System Configuration ========% Y$ V( V( l; S/ z Y' J
*/
0 J" R" u6 I2 B
6 g! x2 P) n; `; @; j% ~/* no rts heap */
8 g2 G% k7 X- O2 e* ^Program.heap = 0;
2 W: B5 G1 c# @Program.argSize = 100; /* minimum size */. V% ^, r9 Z2 ~- N3 M% F2 `/ p- `
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大& a, d# y6 z" r( B s- `" ?
1 ], ?' j( ?- D+ e7 h/* create a default heap */7 o- H: V9 }0 |; }6 y" x. \8 K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
O0 Z9 E# \ q5 X1 fvar heapMemParams = new HeapMem.Params();) l: @! ^" O7 P b
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; ?' h$ p7 d' F; B. Z* |+ C
! x2 E, u1 Z5 Z: H' l0 j0 d, O1 T
var Memory = xdc.useModule('xdc.runtime.Memory');: C- ~* E4 k4 c B+ w9 a; W3 b
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# u; b9 W4 K5 V( e
, u! d7 ?5 d l( c& R ?/* configure System module */
! |/ b: Q7 p' x( l: m( wvar SysMin = xdc.useModule('xdc.runtime.SysMin');: k0 S6 |1 e, U# U7 [
SysMin.bufSize = 0x1000;- h+ c0 D7 c, t
SysMin.flushAtExit = false;
G) o; r; ^# y: O% w. N
7 m2 I' F T0 V6 Zvar System = xdc.useModule('xdc.runtime.System');
3 T3 k7 @" ~; ~/ `* h' k5 Y0 dSystem.SupportProxy = SysMin;
) }: n( N% R0 k' d9 {+ g* J7 ^ G: ]& R
/* configure SysBios to use the lower half of Timer 1 */- E& ~- \6 u. V V N8 Z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: p, }" N- l, ]- d7 U( @" Fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
& R, l) i# z" ]- m5 O/ u- y, m+ S6 ATimer.timerSettings[1].master = true;9 L/ D/ k1 @$ P
Timer.defaultHalf = Timer.Half_LOWER;
: v4 K4 I$ r5 z4 r& O; d7 j2 |) UClock.timerId = 1;
$ C! B2 z$ `# t1 h! f7 d1 T" h
! l% ~6 F- ]- w& i
" p8 x. N) }% y) K+ D/*; k0 c' {% O0 C& _' h
* ======== Miscellaneous Configuration ========
& L) m2 G9 y/ i */
2 d9 L( b# \4 ?# O& B) |( Q) L1 f
& `& K* F+ {! x+ x, {/ a0 {' |/* set default diags mask */' d% A' X3 R( X8 {3 n3 }3 u# j. x
var Diags = xdc.useModule('xdc.runtime.Diags');
& D# [; U* |* c+ bvar Defaults = xdc.useModule('xdc.runtime.Defaults');1 |3 {# J0 k+ c3 w0 }; @% }
3 z& r: f1 g6 m% C
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 {9 }8 s5 r9 t8 N
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' `- A7 z; ~+ c% _$ p. `2 P/ g5 s" {Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. X5 F4 k! x) y+ W( E* O9 d1 ^( V; W
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */# H/ v, } D! C- F P, {; w
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( D# D4 l( d$ X# |4 _) {+ i' t+ }2 wDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 t6 v5 I; x# w* m, G' ^ n
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) ]- D9 q9 M1 Z0 _0 g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
) A9 e' s% \' N0 z8 j" [& Y8 v) P2 qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 U J( n/ V ^) _5 ]8 f/ i: B
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 h8 O/ K/ a9 u5 W" u1 h! jDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;6 Q+ U. B0 {( e. |$ C7 j0 A7 v
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" _$ t" `% g$ D6 e0 NDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;6 j K$ A% H& ~$ Y5 `8 _# I
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; _$ o7 }% i, V5 y( ?$ w# x% a
- n( ^' ]0 {: b6 p6 p/ }4 F/* override diags mask for selected modules */; n* d0 ]' }6 t5 u$ o [. S; o0 U) v
xdc.useModule('xdc.runtime.Main');
8 F1 }# N! @% u# d; f) z1 oDiags.setMaskMeta(
' q% H: ?/ D7 O' m W "xdc.runtime.Main",
7 j$ \( c& K7 ^ Diags.ENTRY | Diags.EXIT | Diags.INFO,) p1 x+ N) @: |" N4 X4 ^! k
Diags.RUNTIME_ON: j: x$ M0 w5 P% K0 \
);
- }, i1 f. z" H$ Q, D* p3 @2 P7 {$ i* b2 |5 h3 T
var Registry = xdc.useModule('xdc.runtime.Registry');
5 ]- K' E* j' i1 d/ {Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; e. d& X/ M r c, j8 PRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! y4 c$ i! ?& T4 u/ p
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 s# W; b7 ?: h# L4 j+ I/ zRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( G) L2 a* F2 \! Z) o* L
; L. s0 @) U2 G2 C. A, Z6 U3 C/* create a logger instance */2 O$ \( F& ?4 _/ ~$ G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
a) w8 y/ I( E2 wvar loggerBufP = new LoggerBuf.Params();
9 f) C3 i, \5 k: t ~7 kloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 @; v) ^$ _3 V% x. [& [' SloggerBufP.bufType = LoggerBuf.BufType_FIXED;
+ e; e3 B+ ?2 o$ G; [+ q$ y1 D# F8 W) q+ j" x' i
var appLogger = LoggerBuf.create(loggerBufP);, e6 ^5 b0 y! P
appLogger.instance.name = "AppLog_Core1";
. c' ^7 S& F9 O7 ~% K7 yDefaults.common$.logger = appLogger;5 ]* K9 w* q2 [3 d& N2 o4 T
Memory.defaultHeapSize = 0x8192;
0 @# T. u8 {1 A' D6 ~Idle.idleFxns[0] = "&LEDStatus";
0 [8 e4 r+ M* _1 o) X6 h. \' |Cache.initSize.l2Size = Cache.L2Size_32K;1 L8 @0 s& H2 k2 z/ D
) C* d0 n; H& r9 J6 E [2 |
|
|