|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 ~9 t p. t% j0 H# K x4 N9 ^8 W
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) ~8 p5 u$ x# D5 _) B$ |4 m' R% b
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ C0 O* | _8 H6 k2 d4 ^& G
- E; N/ l% I; U% j$ _
是不是需要在DSP.CFG中进行配置- p) o/ a- s2 [ M
我现在的配置为
* g; Y/ @7 K( \- r- b
" R0 s( `! Z" d( v$ U0 N6 r! F/*5 ?2 @: J( ^3 {& M
* ======== Operating System Configuration ========
- R. X' T$ O4 W9 H' V$ }2 s( [ */
9 @' d( @4 y- o0 ^6 x* I- j6 o+ O7 O
/* no rts heap */5 h" Q4 a/ a* b0 a
Program.heap = 0;
7 ]& a+ i5 D6 s+ GProgram.argSize = 100; /* minimum size */+ V0 z5 f/ E8 h; d0 f& j9 ~
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 \( `. f! J& M7 N( H
/ R: W0 S* A: O) r0 ]/* create a default heap */4 U8 w/ p' x0 a" o
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# i* H7 m8 g. i' T9 i: T5 T$ P
var heapMemParams = new HeapMem.Params();
: s/ k5 x& Y1 _# M$ s# B- B3 Y8 }heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ o3 ?9 N6 n) c1 @
" |8 k- m' H" Y% } ?# Cvar Memory = xdc.useModule('xdc.runtime.Memory');" n( w! G, ^$ W0 @( a
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);+ h# R1 B u; @ Q! w# v) I
: e' Y; ?! U- b3 Q* B* l& g/* configure System module */" p5 K! n- z) \6 q9 Y0 N$ @" U
var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ t6 K# r6 _7 b9 QSysMin.bufSize = 0x1000;
: d0 m6 Q$ }6 S# [; _& ]1 H* b6 F3 qSysMin.flushAtExit = false;
. I) h( g$ N \; f' c" ^
' W% K6 K) C, e7 Q7 gvar System = xdc.useModule('xdc.runtime.System');
. }) g O) c# L% {System.SupportProxy = SysMin;
/ C% f* E8 X; ~- `% y6 E
7 V# u$ S: j u+ X! n/* configure SysBios to use the lower half of Timer 1 */. j0 m. v' m5 e+ {4 `
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% ?+ p- S6 q) x# y1 P8 Z, Fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 ~+ }% l5 a- q$ ^4 _6 T) K2 `Timer.timerSettings[1].master = true;8 N4 H" _. r1 z! N7 E
Timer.defaultHalf = Timer.Half_LOWER;
. X( i/ ^; A1 y" I/ o0 lClock.timerId = 1;. c: u( K; I% C! t- V7 E: X
$ a7 O3 C a, a" z: S7 R) D/ `% p5 n, l
/*; w2 {* t# g: a
* ======== Miscellaneous Configuration ========
3 ^, D3 @8 X% ^3 d7 P* _9 b! J+ Q */2 o4 q1 S- k5 q* X0 l) H
8 _! t6 x- C J9 V' E/* set default diags mask */
( O' {# }; f$ F5 |' w" z5 Bvar Diags = xdc.useModule('xdc.runtime.Diags');
4 O; P' a& m6 o6 l$ ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
# Z2 ]9 j4 W" z) l+ P- W: b O
$ {% G8 @1 O. K: s' tDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" F) V- a5 F( s, b6 m ~
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 `4 y8 q& K* P2 Z3 k3 GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) O0 S' y$ k+ S+ ~7 IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' C W, K4 U- ~4 \Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 m! M0 E7 d6 x Z% `Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 T) C) A" o: W: ~Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* s# y# ~8 ~9 j8 ^1 m. rDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 }7 ?3 Z: L& j
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 g% p. {( H8 q4 P4 [1 x/ y, v9 U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, V* \3 S+ |$ k: NDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;% ~# C4 l+ \. a) N# a
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; z- V/ a9 u; ], E! U
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
+ ]% V O& z/ \; ~Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# W$ W, }0 ^4 v+ q
. t, w$ T, B# E- k$ V
/* override diags mask for selected modules */5 ]9 r% \* I8 I+ ]- _
xdc.useModule('xdc.runtime.Main');2 U$ h- l) Q% s+ @
Diags.setMaskMeta(
( G8 g/ s$ P/ O& H ~ "xdc.runtime.Main",9 B2 `/ t% A/ L* H6 C' y# f! x
Diags.ENTRY | Diags.EXIT | Diags.INFO,3 x$ r$ ` y) |: u. ?2 L
Diags.RUNTIME_ON, Q" K- S+ G1 i- ]7 D/ S3 }$ _
);1 `$ F' a& N; o9 I
2 h) y2 F9 p0 X$ ]
var Registry = xdc.useModule('xdc.runtime.Registry');
1 E& ~: v& Y6 l V! o3 h9 wRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 b9 {4 A) U7 c1 C+ fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
C+ \" |; f! w! B1 _4 j& `Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 S. _, ?1 R. x% s+ @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 r) g, S P( }% G w% X0 ~
' N4 n" m" P4 w' D4 s8 }6 M/* create a logger instance */
# e0 P) M+ A1 ~$ Evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 k$ a6 l2 O. ]( R" y$ f# p: Cvar loggerBufP = new LoggerBuf.Params();9 Y0 I t" }# i) X$ q! ^
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% t; i- G* [% k! t8 m1 bloggerBufP.bufType = LoggerBuf.BufType_FIXED;
+ g! O, P4 u3 N/ ?* j/ N# O; h
4 C6 A1 F! d' u( D; ~var appLogger = LoggerBuf.create(loggerBufP);/ J5 }: Z$ y" m+ _; F! T
appLogger.instance.name = "AppLog_Core1";
4 Z4 t" X4 f" [( \ _3 r& z/ XDefaults.common$.logger = appLogger;
" U( v6 ]/ m6 m9 qMemory.defaultHeapSize = 0x8192;
! l8 J: c w9 J% b+ UIdle.idleFxns[0] = "&LEDStatus";/ ^# [; o: x: V+ C
Cache.initSize.l2Size = Cache.L2Size_32K;8 F3 v, q* } G# c+ V/ ?
9 p3 p* \2 H2 T! B/ o' N( v |
|