|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% v& X. `9 U" J" g6 j! p$ k
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 ]( X. W8 g, `" V4 g, c
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ M0 b7 U2 r+ q" d
2 @: y9 c# M) ^
是不是需要在DSP.CFG中进行配置
$ n# h$ N4 ?& `& e. v5 R+ g" Q我现在的配置为
, i# d+ f; ^# U5 V5 R% T! ~- ^" S1 F A7 O0 I9 R
/*
+ v; q' n* G+ I- L% T" K+ a2 z) O * ======== Operating System Configuration ========
& T& A& O! ~/ ~' [/ }, L */
8 @( F: @- W5 C! R" p: V
7 e S. j( R; d5 `/* no rts heap */
$ @" ^( k; T; u% t2 {Program.heap = 0;
. P2 K2 i7 Y- a3 K# X8 BProgram.argSize = 100; /* minimum size */
' f7 \$ i( d1 }% V- T* e0 ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. m; G8 E% V& V X4 K9 {9 Q+ [" y. I3 p. V3 x+ Z9 o/ \; h
/* create a default heap */+ M% W$ G, K& l& i0 ~! p
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# U% r$ `0 j4 w( n' I! ^/ f: _; y7 nvar heapMemParams = new HeapMem.Params();
4 {9 ]! U+ X r, _/ P6 qheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 F- A: Q/ ~/ s7 S, x; u# N5 Q0 y; R
4 H' x! N' H5 l" |- ^* A
var Memory = xdc.useModule('xdc.runtime.Memory');; X2 Z! t" l( L, f2 A a) n/ O8 U
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* p" y' [+ B/ b# l0 F7 g6 S$ Y
, C" [- r; H" L% D/* configure System module */+ N# [+ v4 M0 m7 ]+ B
var SysMin = xdc.useModule('xdc.runtime.SysMin');
' R, l! H2 z% r4 m& \SysMin.bufSize = 0x1000;
3 p7 d! z" R7 g4 p2 LSysMin.flushAtExit = false;6 S3 o" j: z. M, {" @: Y
1 ]4 T1 d0 i3 l1 f: Y; G5 u
var System = xdc.useModule('xdc.runtime.System');/ N {7 }, @& Z; \2 f7 T$ s8 E& N
System.SupportProxy = SysMin;
0 S- R- i1 ~, I
5 P% l! }* X% Y4 |7 X" a& K3 L3 E/* configure SysBios to use the lower half of Timer 1 */
0 \1 H+ \) z, kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' X( o+ o* [ l! A( p+ k! ?
var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 x! a: P7 g& P
Timer.timerSettings[1].master = true;
5 ^9 T) ?* f" ^: NTimer.defaultHalf = Timer.Half_LOWER;
( I8 s: n' h0 ?! X3 K5 A' tClock.timerId = 1;
) h. @& a+ p/ E; `) ?1 B: ?9 @& u; P4 X# m3 J/ P& P
1 T5 Z! e; W8 p' b( o/*& ~3 b+ f' m5 P0 v
* ======== Miscellaneous Configuration ========* W* I) B- [$ {. c: m' R, z: U
*/( n% l( q% q( V L: @$ O0 O: @7 x
; w3 J+ W8 f Y* G
/* set default diags mask */6 e, t2 i' T" o, h& N, q0 f+ U
var Diags = xdc.useModule('xdc.runtime.Diags');$ L# J3 D" U2 U
var Defaults = xdc.useModule('xdc.runtime.Defaults');5 t, y* r# S g
9 `& C& Z" z# ZDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 X7 ]# x6 G% P7 A4 B" T
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" f6 p/ v; R9 p4 y a
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 l6 O$ f' J$ } XDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ h& w2 ^8 ]; ?/ H, eDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# M* D( `4 S/ [8 u% D4 u
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 @2 g+ s. d3 e6 q$ x
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 |& o$ G4 P6 b2 `' }5 x1 \, iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
/ ^) I7 a& z$ zDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;3 u; m7 P, ?+ a! r! m# S
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( X E9 _# `8 q& J E& MDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 y) G: w/ K2 m$ a$ ]Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 W& d! s) {! D, \Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; h1 g- ~2 B- ?" i1 \) G
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; j. i" V. \2 }
: z1 ?. m% e! T. M# N+ j
/* override diags mask for selected modules */8 o r0 H7 N/ }2 n* {
xdc.useModule('xdc.runtime.Main');* e$ u3 \7 S2 |- m5 C" E# n/ b
Diags.setMaskMeta(
) k4 @7 L. n6 ]0 K "xdc.runtime.Main",
" [2 ?- K+ T# i1 I0 I Diags.ENTRY | Diags.EXIT | Diags.INFO,8 D p3 Z& i$ _1 J# v3 k
Diags.RUNTIME_ON3 v) e6 @' V V2 H) v1 h
);
( n a8 M/ Y E4 N! l8 l: }8 v9 P1 I+ D \* {$ y; j/ U2 A
var Registry = xdc.useModule('xdc.runtime.Registry');+ m( a% J* ^6 X$ V
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! b2 P, ]' i( Z; S+ l8 U5 d
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; d2 E' _. U* J( [& j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
! u$ n3 f* n& s: ^& Q' H* S& g1 yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 M% _$ Q, }5 Z& n
) i. v9 W# O% {( j ^1 H/* create a logger instance */! G$ ^7 i5 w7 L$ J0 k* c* D
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 b; g! u& x) h* p* _var loggerBufP = new LoggerBuf.Params();4 l }& r# b( e! g% ~0 `' P6 U8 o
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 ?3 y' ?8 X( G3 S! XloggerBufP.bufType = LoggerBuf.BufType_FIXED;
Q4 I$ z0 Y% @# T9 _& C( |; }
var appLogger = LoggerBuf.create(loggerBufP);( W, K( J( Z: b( g# w& e# q( f
appLogger.instance.name = "AppLog_Core1";2 s6 Q: ?4 I4 s/ t6 O1 v
Defaults.common$.logger = appLogger;
8 c6 g& @0 r9 GMemory.defaultHeapSize = 0x8192; " ?! L/ X0 n( Z" S; ]
Idle.idleFxns[0] = "&LEDStatus";
) P& h& P9 s, R) MCache.initSize.l2Size = Cache.L2Size_32K;
. e: ?, B5 q7 ~+ F& A/ G2 J& z7 V1 k5 W$ @+ m: x) s* _
|
|