|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* J( u, W0 h7 i1 ], y
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' Z! v M; Q h(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 K7 j: p' ] i1 ~ T+ u
9 r: h4 k& f8 E: E3 ~. J* C是不是需要在DSP.CFG中进行配置
9 z( I$ @: z* i' |* x/ y9 ~我现在的配置为
& @5 n9 M5 ^! R. X) X: \- X4 q$ J+ N" g! b, Y. V1 ^: U, \
/*
0 u. b; [- w0 b& j2 j+ k * ======== Operating System Configuration ========5 E7 q8 E' m# c- _- ^4 T0 d& m
*/
6 j l# b9 k J9 N- [* u% p' C9 }- R3 k/ w1 ]; f
/* no rts heap */
. f* d0 I8 j# C/ _& n HProgram.heap = 0;
) V. U" X% s; h6 C; FProgram.argSize = 100; /* minimum size */- u& S+ U$ d. G0 S: u7 H, ]# ?+ {
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 V2 B8 u3 I# n$ P- E3 z: P, R. h
/* create a default heap */
: I/ X4 x) M; r* [$ yvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ `% s, z- r4 O+ J5 O
var heapMemParams = new HeapMem.Params();3 o( l8 u: v7 R9 P# S; [9 \ V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- q# `: J! X2 Y- l7 D: k* F: a" k8 a! M0 j' o
var Memory = xdc.useModule('xdc.runtime.Memory');
' ] S& Q( q, T1 B* ]$ ?Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ V) T2 ~# E9 L# N: W; t/ k9 l5 r& Q: s2 `
/* configure System module */
. T% y1 d2 L1 l" q, S* v- O# gvar SysMin = xdc.useModule('xdc.runtime.SysMin');8 @& t+ C( Y3 U' i+ [/ c9 }
SysMin.bufSize = 0x1000;
! U7 |# p3 K4 E+ b* [SysMin.flushAtExit = false;
' b) P% j% ~" j/ [/ p
7 }( {$ j, b# Z6 Xvar System = xdc.useModule('xdc.runtime.System');
- T. l+ g2 L8 xSystem.SupportProxy = SysMin;' w6 f+ p! v q z1 {2 D6 W
' W2 F6 N, Z5 A$ T& ^* u4 ?
/* configure SysBios to use the lower half of Timer 1 */
7 v0 y# f2 n' s: }# pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 M7 D8 w+ r* ^. c G3 V( n/ t; K
var Clock = xdc.useModule('ti.sysbios.knl.Clock');# V; Z) A5 R, k, O
Timer.timerSettings[1].master = true;* @1 w% P7 l, F8 c/ Z3 \
Timer.defaultHalf = Timer.Half_LOWER;
) y$ l% l. L! ?, R* B. B8 f& zClock.timerId = 1;+ \: Y; L1 @+ x( O. n
3 ]( U5 K7 k% ?' P/ a
/ N( f1 r# j/ D4 F* F# p2 |. c
/*' O# v( L. f) f! o* e$ V5 i
* ======== Miscellaneous Configuration ========. E2 q, p! ^" m! D4 o
*/! R% R/ [! Z/ U! }4 k# C: A( S
1 T, l3 E5 u' Z0 \: N7 H/* set default diags mask */" ?. E1 Y* _# } M$ w" ]
var Diags = xdc.useModule('xdc.runtime.Diags');9 k. ^+ g9 I0 A, H
var Defaults = xdc.useModule('xdc.runtime.Defaults');
9 J$ J- B* c$ S7 ]# s/ i) y' W; |# B$ U+ D5 f/ ^
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ t/ K. W0 y- N& |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;1 S! a) z& F: t# A
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& ?$ O' M3 N0 i0 M1 lDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 r* b# l% R- L- l- i* t4 t0 Z2 PDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ R0 x6 d% ^/ J( U9 YDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 j2 [) k% l% b$ S3 DDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 q$ Y9 [3 W% ~Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& |7 T. @ U7 g, Y; v/ w) `Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- S0 Y& ?4 Q. f) Y0 ]8 n# NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& a3 g9 ]* k* l: g @! T* ODefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 T- U7 g% d- R- B: [0 c
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) c* \# x3 k! {7 H4 B
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 \' S$ h; C! W, MDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, X# n4 x' z- \6 I" I6 p1 o0 A/ r K% J+ M. e, Z
/* override diags mask for selected modules */
: ]: z& W$ N: l1 w0 J }xdc.useModule('xdc.runtime.Main');# m4 d5 B6 L; g* q+ S/ ~
Diags.setMaskMeta(+ v; A; o$ V% M2 E W. `% x
"xdc.runtime.Main",
2 S' ?' n& x. v* w6 j1 O$ W Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 K1 m' N0 X( Q+ R0 y Diags.RUNTIME_ON
1 p6 i, p/ q/ W I);
% _$ S& O' D t! @2 s# l+ \% J1 T( s/ e5 g# N! Y
var Registry = xdc.useModule('xdc.runtime.Registry');$ w3 R4 z# c2 f* T$ @" Z+ u
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 x g1 V, _5 R6 \" ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# k( E7 w( L- W, `Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 `; N+ K/ ] o' W% h/ ORegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- S/ P9 D0 p4 s' o# W( Y8 C6 v# P) W+ z1 g7 e9 F1 Y
/* create a logger instance */
! n+ Q8 w# U) l$ u# W# M: Avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ K& x2 y* Q4 F
var loggerBufP = new LoggerBuf.Params();. @6 ]2 A- V1 [* {3 s4 e R6 Z
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 t5 ?- V) C* Q. \6 M8 H, d! xloggerBufP.bufType = LoggerBuf.BufType_FIXED;% p( o1 ]1 f* p! q& }
& I( y. v: S+ M0 B; l/ r
var appLogger = LoggerBuf.create(loggerBufP);
' f/ d; P1 ?! ]appLogger.instance.name = "AppLog_Core1";
( T& k- x2 `4 I7 j# O5 O$ CDefaults.common$.logger = appLogger;
( M8 M: K8 Q0 j; r/ n0 |2 ?Memory.defaultHeapSize = 0x8192;
# {' n U. P6 s" {8 sIdle.idleFxns[0] = "&LEDStatus";0 Y# C; ]; {- |
Cache.initSize.l2Size = Cache.L2Size_32K;
1 y9 B( P/ A" A; _( s+ m) ^" }% u) n( O' T( v
|
|