|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' u- [" j a$ E5 J
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% S% v( G A4 H, e$ x8 O( e/ O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' v1 k8 C" n5 `: i) Y, R
l; q; V1 J4 _ Q# T
是不是需要在DSP.CFG中进行配置# U! K- p* n c* w0 [. Y
我现在的配置为
( e. `7 l* x. S$ p/ ~0 d( K0 L
2 [- C- x' Y. ~( {- p; z$ `' b* ? d/*% M1 h' l1 ]. W/ R8 i
* ======== Operating System Configuration ========. @2 ^) l3 U% _" A4 O7 j/ ^7 _0 }
*/
: v- D9 M0 j1 U8 u, y
2 y4 ^' m! ~" e/* no rts heap */
w0 X- h Q XProgram.heap = 0;, U x( |# Q& R( ?& J
Program.argSize = 100; /* minimum size */: O# ^# V+ F1 f* Q9 ^3 @
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大% L2 F/ ^' g- L/ }" h, U& M
# O" W8 h4 c _. B/* create a default heap */0 i! V S# |: h) K& i
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' m( M0 D( g7 ^" D7 cvar heapMemParams = new HeapMem.Params();# J# Q2 [* Y w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ H+ D$ W/ u8 j: h Q( H1 l
, j; f- L' R" g5 }
var Memory = xdc.useModule('xdc.runtime.Memory');
2 }8 t" |3 U5 k8 CMemory.defaultHeapInstance = HeapMem.create(heapMemParams);; e% t% d5 b7 p
: M; E' t) g! U2 @6 Q/* configure System module */
) C3 B% r6 T1 ^( D3 @% H( @var SysMin = xdc.useModule('xdc.runtime.SysMin');6 c6 {! r q8 v
SysMin.bufSize = 0x1000;; F: Q# `7 \# |. o
SysMin.flushAtExit = false;2 s- h+ D: N+ P R( N7 T- V
. W) a4 W1 h0 I' \8 Q" x2 S& J0 O/ U1 A
var System = xdc.useModule('xdc.runtime.System');
% F! x ^8 U$ f+ ~1 j* G9 OSystem.SupportProxy = SysMin;+ h! D; E r8 g- g9 N5 D
& ~( p5 o. e! P) K W4 [7 U
/* configure SysBios to use the lower half of Timer 1 */
% y* m( ^- H5 x9 ^$ vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 C# c: H. e$ g8 M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
* b" V7 Q) \+ [) \1 }4 E! s1 LTimer.timerSettings[1].master = true;
2 ?3 K3 a/ i/ K$ l. N% P1 BTimer.defaultHalf = Timer.Half_LOWER;" {2 O3 B0 J5 C$ ^/ p7 H" k8 p* R
Clock.timerId = 1;
( E4 Q2 ~& Y' b- q2 b
' W" L/ {9 N/ g8 `2 y* T# K, Q
/ C- q$ l3 F( O4 x/*
' K9 x% I! n8 \, H/ X6 \* H- Z x; U * ======== Miscellaneous Configuration ========4 C5 ^( {3 @) V) Z
*/2 O* E8 I+ p. S @$ l
9 I/ L; x# |& K: Y
/* set default diags mask */% C3 f6 B; h, r" W6 C! Q( j
var Diags = xdc.useModule('xdc.runtime.Diags');3 j3 H2 f5 {6 F3 n
var Defaults = xdc.useModule('xdc.runtime.Defaults');
: ^3 v& R6 X# e- a
7 f9 o, w! Z/ ~ qDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) V5 m0 @& ^( U. C) f5 P- X* tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, v" `: g1 A4 L' H. QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 ~/ F6 q4 F1 t1 S- T* lDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 J3 k! g: S3 b+ v8 x! p: w
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( D! i d5 c# l' y! J* EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 N* c( x2 W+ l- L% z; a" M$ Q; sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 T" O: X7 I* M' eDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# F4 h8 j* ~3 n& ^4 g
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' U1 t Y6 `9 ]7 P- C3 S
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' Z: p! F+ X W$ k9 L- RDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;9 ]7 q. Y& F3 o. I
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! u% }! e1 J$ [: V
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 p9 c, G8 \) J7 p# }
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( W" j2 E6 h# s0 n! r" A: N$ d
2 h$ K# a; o' R% e+ F* ~4 Q& t
/* override diags mask for selected modules */6 T5 U$ a% w8 h" f Q O
xdc.useModule('xdc.runtime.Main');
1 l% G/ m, H% Y; a5 ^Diags.setMaskMeta(7 Z/ f5 k; \4 A
"xdc.runtime.Main",2 |. f5 b7 ]9 b; _
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 ]* m2 V3 H6 s# ^; N. {, Q Diags.RUNTIME_ON |( H/ r( N( o4 n1 p4 B$ I& D. t# M2 g
);
, r9 ?6 U& G" l' n9 l* @/ Q' d7 g* E$ P
var Registry = xdc.useModule('xdc.runtime.Registry');* `( z' g/ W( q: }
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ ~' G0 Y/ u; M6 K. o, F; i1 o( P9 F
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 N% J: ?9 ]/ Y$ s+ Q: @
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 v0 Y+ P8 r- v0 C/ m$ d5 s
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ Q4 b! g/ g" j/ E( K0 K# d, W5 r! a& Q9 {9 m4 p/ L& M9 P, b
/* create a logger instance */
" z$ A; [$ }* J: J' H; Rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 h' t1 u: ?$ G
var loggerBufP = new LoggerBuf.Params();5 M3 z: t, D6 i! c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' Q# U5 [2 G9 R* _
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
& H; g6 r% a/ z, x# K3 |
0 U R# B' D0 g: n5 x! xvar appLogger = LoggerBuf.create(loggerBufP);
$ }* j& I4 X) T* u0 U5 @appLogger.instance.name = "AppLog_Core1";
9 I6 i% Z9 |$ A4 @$ `) ]# M1 O3 {Defaults.common$.logger = appLogger;
) ]* ?/ B% G! A: z2 o2 J6 B1 |Memory.defaultHeapSize = 0x8192;
6 W: Z7 H8 t; |; A& ZIdle.idleFxns[0] = "&LEDStatus";0 W3 W5 C+ x4 F* u8 g
Cache.initSize.l2Size = Cache.L2Size_32K;. p( ]0 g/ T2 x1 Y: s( j
) Y4 ?( W' J& ]: s |
|