|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ L. H% n/ h8 d' C我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 d \: a4 N, N: f/ _# B(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; F3 }# T, e/ f7 _2 t& m
3 g) n/ B3 F+ E0 t是不是需要在DSP.CFG中进行配置5 X% @' q/ Z. Y" U2 q# I D
我现在的配置为
; ^; j: | o) K
# g H* K! g/ M5 B' S/*
6 R7 M3 C7 A1 |2 U: L * ======== Operating System Configuration ========
+ z2 {4 h4 A% Q* s/ F% T# h */
x" X5 n0 `7 f* x8 @: O3 `, P- m: M% T- [
/* no rts heap */" ]1 l e- |+ f( ]4 b
Program.heap = 0;5 \1 T2 S3 b5 K3 c( `1 M5 |5 ]& |
Program.argSize = 100; /* minimum size */
* _2 ?+ L- G5 `1 q7 s& XProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大: s7 N7 \! G& a& C2 ]
1 }! U1 |1 ^* H
/* create a default heap */
& \6 [* g& m6 ]( ^var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ q" o" D5 i* v% x
var heapMemParams = new HeapMem.Params();
. S2 j5 L' ?" b1 pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 D9 K, P3 Q2 m1 J- A* g4 z
9 `) s' X. v' m# |3 Z1 i P2 ivar Memory = xdc.useModule('xdc.runtime.Memory'); w2 c, Z, q! x* R3 r
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);0 u+ D6 G; f- G X) E+ m5 \
+ H5 z9 A- a- N6 L; o
/* configure System module */
- m. g5 l2 a# Y7 {7 Rvar SysMin = xdc.useModule('xdc.runtime.SysMin');+ X G1 m% e; S2 z" U+ u
SysMin.bufSize = 0x1000;
" ~7 t% n" a6 t/ e" c6 _SysMin.flushAtExit = false;
; H# S8 v/ a6 @. A) O- x( k8 D6 l" q- l* S+ f: |; K
var System = xdc.useModule('xdc.runtime.System');
/ t& g7 y" T R: N( t+ qSystem.SupportProxy = SysMin;
/ y6 a0 n( U9 Q- a' O; O K& Y& R ~- @1 W, c
/* configure SysBios to use the lower half of Timer 1 */
9 I: p; m9 Z% Yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 b$ j; s% ?/ E; q- u3 Rvar Clock = xdc.useModule('ti.sysbios.knl.Clock');4 W2 Y6 ], ?% P. f9 P
Timer.timerSettings[1].master = true; g- T7 `" g/ X) Y& G2 F* @% u
Timer.defaultHalf = Timer.Half_LOWER;
{5 e. Q9 ^- t& Q1 w) ^Clock.timerId = 1;
# ]! j4 T8 I! J7 j0 K$ y
3 x0 X n# M, \/ ~9 e1 X+ r) R+ W; T0 Z) O2 U1 n! J% M
/*) P! r f5 q$ V
* ======== Miscellaneous Configuration ========2 w7 _, v7 P5 m* m V" n4 ~5 G
*/7 l2 e* R$ u4 Y3 H w$ S- d
+ q" n+ m/ h; I& D" G/* set default diags mask */2 j( o5 H* e/ h; M" l! w
var Diags = xdc.useModule('xdc.runtime.Diags');
6 M( r }, Y4 e; x- y4 n% C2 s+ i3 \var Defaults = xdc.useModule('xdc.runtime.Defaults'); P/ U" b! b$ r# C
: g8 W- ]" P4 m% F; ?4 ]! hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 J; l4 O: G7 i- m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) N) d6 b* v1 XDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* I; I7 x5 g' C( ^; P& q$ A- R
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 p% w2 f+ Z; ]9 R- C3 L/ n3 |7 jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 v5 o) S7 d$ }5 N' n7 ]Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;: `% G1 a* v5 k* b% V& p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 G, i( E' `( [! D
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! L f6 B5 n6 K; tDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 D" h- V1 f; J5 l0 }* GDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;$ ~+ i5 Y/ K; }% C( }0 d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 U7 ~ h0 {/ Q" V! I/ D6 f; e) @5 i$ mDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& F4 P# U( ?0 }: b8 j+ DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 I( f" t' _# H' bDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
- H- j4 z$ Y; D: e+ b% c7 L& @! n3 a* Y
/* override diags mask for selected modules */
. K4 w- @) X, |$ m# U; a/ U; cxdc.useModule('xdc.runtime.Main');
, s0 O, f( a5 D+ L8 ]1 h" y5 T, HDiags.setMaskMeta(
8 b7 k" r7 F9 z K) E% E "xdc.runtime.Main",- L6 n% G# c9 X% ?0 ~& {
Diags.ENTRY | Diags.EXIT | Diags.INFO,: h; K0 D0 [. N5 y) I
Diags.RUNTIME_ON
0 W' k6 D1 q" s2 O% {* i$ X6 k) ]);
D' |, I8 r* ?3 w- }, A, m( ^# `- g- M
var Registry = xdc.useModule('xdc.runtime.Registry');0 h9 w4 q, l: y) @" o/ P
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. L; Z8 x6 `" ~, G+ f& B
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( w2 i4 {) z8 l/ m! r8 V$ y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;& B$ g! P- B0 _; `
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ A2 D6 W+ y9 \
6 r& p: ?5 w+ Y+ y! u. }( |. U2 [
/* create a logger instance */7 Z0 u' d5 u) E# \" ?) Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 c' @) P( p! E2 {9 C& n# |var loggerBufP = new LoggerBuf.Params();
* d/ u* D: q; ?/ V9 D4 L& zloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* E* C) v/ z, e( E0 F! N4 b6 @loggerBufP.bufType = LoggerBuf.BufType_FIXED;! g5 |* X) q. t- W
0 o7 u# Q$ i8 A* C3 \' i$ Svar appLogger = LoggerBuf.create(loggerBufP);
M* B P1 J4 H: p$ C2 L' qappLogger.instance.name = "AppLog_Core1";
) I" K& b; c, o4 vDefaults.common$.logger = appLogger;4 \! J, [( c+ U5 Z
Memory.defaultHeapSize = 0x8192; $ I" O _7 H; W; X
Idle.idleFxns[0] = "&LEDStatus";
. o. o4 F/ Y# B' i1 J! A0 R* t8 MCache.initSize.l2Size = Cache.L2Size_32K;
1 p7 I/ | t0 e+ p( a" V' a) W! k. I- k7 `
|
|