|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; X& t6 ?0 U9 r. a# R" J
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ I* ^/ x4 N9 P T(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 P' |( P+ u1 t2 E1 y" m
$ h! ?: i `/ v% j9 R* |
是不是需要在DSP.CFG中进行配置( f( t3 J7 ~6 J. h9 @1 p: T, u
我现在的配置为3 R( k3 W9 \6 W0 G# z8 M& y
% L; C. A5 X% w" D+ E- ]! j/*1 V2 s5 k+ r% m0 E) k
* ======== Operating System Configuration ========, D+ v3 o B: W- N+ W& v
*/) ]/ a% A) G: U- q7 Q: D! _
. c/ M' e2 M' A. G: F/* no rts heap */; t2 B+ r2 T: [
Program.heap = 0;
! {! w+ E6 `" `Program.argSize = 100; /* minimum size */
& @3 h9 g' k: G9 z, k2 X9 DProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大' ? C, ?- J' {7 m k/ Y
M$ |1 `. \3 c1 ^" T* v+ H/* create a default heap */" P; j: M7 @- v! |0 }* S
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 f% g( S5 ~4 `, K; C4 X' z
var heapMemParams = new HeapMem.Params();1 w5 ~$ s. l' C# M' m' _
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& b V& `0 E$ V6 ]8 ^ e! e0 c% T: J6 `, b+ t
var Memory = xdc.useModule('xdc.runtime.Memory');+ E w2 i6 ]2 p" X- W% P; F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); J9 j* f* e4 [( m
$ d2 q* m2 `' d# E( e" U9 y7 R* |5 g9 C
/* configure System module */' D8 o3 c, A$ F" K
var SysMin = xdc.useModule('xdc.runtime.SysMin');
^! l' l+ f# ], bSysMin.bufSize = 0x1000;
7 u, {* |3 b6 ISysMin.flushAtExit = false;' ?8 @2 g& h) O1 e8 E8 P4 k
: w, W; y8 u& v$ k
var System = xdc.useModule('xdc.runtime.System');+ a" M$ ?9 \: y# f& C9 Z) Z
System.SupportProxy = SysMin;
1 \- k& G7 N% G
/ \8 A% D7 P9 e( m/* configure SysBios to use the lower half of Timer 1 */, n8 Q$ P$ A9 V% b! ]; Y3 @* X
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ G* T+ R) Q5 x) V+ k. p' W
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ o. J8 i! q6 m" R* o
Timer.timerSettings[1].master = true;
7 ]7 R* E8 ` `# X* UTimer.defaultHalf = Timer.Half_LOWER;$ L+ X) [1 n) _5 q! G4 y
Clock.timerId = 1;" a" g- `) f& S; B/ m
, s8 E- H0 T7 h5 x4 A* y; T
9 \/ \" a0 o2 P9 g
/*
- S- z. r5 D; v+ o9 g * ======== Miscellaneous Configuration ========8 n7 _7 o" e2 {8 i+ I
*/
" t n3 ~4 {, d' w
, T( E( J7 U3 C) S. y) d/* set default diags mask */
( h- O: C0 n; g+ M* \" h# L3 Qvar Diags = xdc.useModule('xdc.runtime.Diags');2 ~" H9 |+ q0 x w/ `
var Defaults = xdc.useModule('xdc.runtime.Defaults');
1 Q- G8 |% F8 t6 V3 B! \
8 f6 C* y& w8 W, K# N3 ZDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 Q) p4 F. t* XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 u& x4 M# v' x+ J# |7 |Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! ~# H" `: G5 Y; R8 Q& [
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 O% I3 L- R: U2 R9 TDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# a1 p1 X' [2 G& r, w8 w. a
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 |7 W% D$ O) i. I5 P% J0 ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ r! }4 D6 j( h) VDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% u2 h R8 |" h2 D
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 g" G) ~1 ^; o5 a9 WDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; O9 g. R6 w+ |! H# l% Q! u+ f5 tDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 d+ g- {/ c" BDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: c4 Z9 ]$ N% @$ B" T3 e1 I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;# t8 h$ i3 q2 R s3 S9 p
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 n) S: A/ ]8 J" y/ i
3 B# u* o$ z+ a% f
/* override diags mask for selected modules */+ {: `& ?2 c4 `( c& g2 d9 P
xdc.useModule('xdc.runtime.Main');/ G3 @) N+ Z6 x4 G' u6 ]( \
Diags.setMaskMeta(2 E$ y: V2 R6 b* }# U
"xdc.runtime.Main",
5 ?) e7 ^- U1 t* i& _ Diags.ENTRY | Diags.EXIT | Diags.INFO,% @0 C: d. H9 V# I( t
Diags.RUNTIME_ON" g3 F. n8 |0 t; o& I* D
);. m' b/ \* r0 L" }" H1 M% W% V
: N A/ q7 ^6 `& `0 zvar Registry = xdc.useModule('xdc.runtime.Registry');
( |0 p( l/ Z6 \) R+ a0 |Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' c( E1 v4 P ~5 [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;& @8 G9 E# H, h3 h) o* q S
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;6 |3 I0 u. D8 y0 v
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" S( }- b, w+ |" ?( }
7 R+ ]" _' H7 C5 E3 s+ Q; d+ x/* create a logger instance */1 p+ Y" j( K5 d" m8 k7 v; |1 k1 s
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# H1 `) m# i* zvar loggerBufP = new LoggerBuf.Params();6 h/ o+ a8 C* g& B: H. a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 S6 P2 z& x/ ]. E
loggerBufP.bufType = LoggerBuf.BufType_FIXED;, X3 }- B1 x0 e6 J
3 `, E% I3 ~3 C
var appLogger = LoggerBuf.create(loggerBufP);
, D! c5 @- I( q: z# N; qappLogger.instance.name = "AppLog_Core1";$ X6 \. G8 n& }# b/ T6 ?2 Y
Defaults.common$.logger = appLogger;
+ I% @6 _: k# q3 H+ S% u! d% _Memory.defaultHeapSize = 0x8192;
9 n9 A h& B* VIdle.idleFxns[0] = "&LEDStatus";5 M7 b/ f/ r$ [' _" A1 P
Cache.initSize.l2Size = Cache.L2Size_32K;- l# N p; [4 h* i2 s N
" y- k G# K2 F3 S! W% Y5 E! `
|
|