|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: [ l0 V6 M0 v4 b6 i
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( A! @) |$ r. U0 t2 D. Z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 X3 V& s( L8 K- w6 C# C6 Q
' K* H- |; D; E, v! a% N$ E3 N是不是需要在DSP.CFG中进行配置. l a% v$ p) I/ L7 W" X5 W0 i
我现在的配置为
5 Y8 h/ f5 B7 @2 G
1 e; P- `# P2 ]( M& @' a$ Z: \% v3 `/*
7 j0 u( v/ t+ s * ======== Operating System Configuration ========
* I6 Y M4 S. w% c- _$ V */
+ [. z/ @) D6 K Y3 r+ _" N3 o" F$ T
/* no rts heap */% s) Y P' U i. ?" `& E5 G
Program.heap = 0;' C* g$ Q( V( S# C. I5 q
Program.argSize = 100; /* minimum size */5 @# c+ a- u. b# U* s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- E" h* y# u0 T5 i
+ y0 Y& b( y u( I0 w
/* create a default heap */
( b8 V: ~$ u6 J4 ]- Q- Lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, |, Q( | l$ o. C
var heapMemParams = new HeapMem.Params();
6 a& d/ m- W) A; p5 j( K; xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 V1 K; G9 L/ \2 R' f
( T) \0 E4 G. Z/ @5 S& @% wvar Memory = xdc.useModule('xdc.runtime.Memory');$ t1 y' d0 b8 }1 O ?" P4 U7 u
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);) h- e! f: o$ {2 M' l" Z
. R& J+ ^ b! c5 h! H" x! ~/* configure System module */% z- j7 m& D+ _. V: i% b. H# \
var SysMin = xdc.useModule('xdc.runtime.SysMin');; j: x3 W' h0 l( @/ F: D' @/ y+ X0 I
SysMin.bufSize = 0x1000;
! X L: U4 s t) K Y% vSysMin.flushAtExit = false;1 w: `+ o% X4 i2 C/ p F1 m4 r$ g6 s
& K# G( I: A# b- H, D+ }& K
var System = xdc.useModule('xdc.runtime.System');
: W3 j% K D* |9 s3 OSystem.SupportProxy = SysMin;
+ T0 Q7 c% r6 {
7 H( G; R' H% w/* configure SysBios to use the lower half of Timer 1 */
* i$ }/ o( I! Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% Q9 k" ]$ Q- U" `
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
) c* S2 d6 f% G8 TTimer.timerSettings[1].master = true;
6 e' ]- U, T; V; E% eTimer.defaultHalf = Timer.Half_LOWER;
, T1 g$ T. O1 k* gClock.timerId = 1;
- j* ]+ Y3 Z9 b& Z- d+ E( k
3 Z; i/ p# @1 q: ~, Z
* I9 E) o( n7 k v4 H/*
+ Z- Q, h2 d; j# [ * ======== Miscellaneous Configuration ========0 t8 k: [6 s3 _- a1 M
*/' k+ L' z9 H& W- E9 N
: R' f( R2 C+ j0 `/* set default diags mask */
( u1 V: y( b5 R5 X3 G% Bvar Diags = xdc.useModule('xdc.runtime.Diags');- H6 g; F( k' f& G. ?' N; j6 D6 M" |
var Defaults = xdc.useModule('xdc.runtime.Defaults');; Y8 \' I2 Q: {% u; e) r) C3 A& W; c* n, x
- O0 c& q! ? Z6 }( q8 z1 tDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 F8 G' ]5 y( l$ uDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# n! R2 _9 t& w; ^. Y; J1 `# d3 XDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* B1 w9 x$ A9 e2 D% O! _9 @5 [) GDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 g4 P7 w% ?2 E; {Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- v8 m$ _# T1 n; f& B
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% k. c% V. n+ x5 V, F C) Y- _) qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. A# z& G9 |3 W% e" p/ n$ {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% h; p- D% O+ F( d
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ g6 X: U. q- ?- ?& z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 d( Z: }$ \. Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 j0 e- {# H! A/ l/ b
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 J) @$ P3 V8 D7 P5 t& G. M) W, ?, FDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;; ]2 x6 g- y. J z* O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ [( U; N3 T6 ?- ]$ e5 j+ O5 w. |: y9 h k! r( v4 W
/* override diags mask for selected modules */, b3 N9 f# _! x0 g" O0 P8 C
xdc.useModule('xdc.runtime.Main');
6 F2 [$ L/ T/ }6 CDiags.setMaskMeta(1 k% z7 C/ i1 f
"xdc.runtime.Main",
# q5 S* M6 W( a! }% C1 f4 I t" p8 _ Diags.ENTRY | Diags.EXIT | Diags.INFO,8 J! T- l+ ~. B K5 f& m
Diags.RUNTIME_ON/ G4 c" `! Y" Z) R8 _# j+ C
);6 {/ O* L P# F& F' A" U8 w
: ^( j* l# S$ ^8 z. a' U- bvar Registry = xdc.useModule('xdc.runtime.Registry');+ h/ W& h0 `) S+ W- h$ M
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" E2 D3 m+ f2 {7 V# o0 a
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 T* E3 m% o) R9 P* W+ ]* IRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;) n$ ?! P+ f* D/ J* R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; a. [/ C% F. P7 I# N+ S
0 g$ J* L3 x: U) i' Z! c l5 y/* create a logger instance */( `! s. |. D- M) \" W/ t
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 \" q8 K& C+ w, o4 jvar loggerBufP = new LoggerBuf.Params();
5 _1 g- T+ |0 t; q6 M1 S% r+ r( KloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) n& e3 C3 D- ]% `3 E9 H4 l+ u6 O! YloggerBufP.bufType = LoggerBuf.BufType_FIXED;
Q% T( \& e! V2 w1 }! X7 j
6 `0 P( O& N# A' a7 {' Vvar appLogger = LoggerBuf.create(loggerBufP);* ~( S4 p2 a- Q- F
appLogger.instance.name = "AppLog_Core1";! X" X" b$ m0 ?
Defaults.common$.logger = appLogger;
. ^" l1 { }1 z. h2 nMemory.defaultHeapSize = 0x8192;
6 O: m) l1 r: }/ ^: y" ZIdle.idleFxns[0] = "&LEDStatus";
/ o' G7 a7 X% r9 c, OCache.initSize.l2Size = Cache.L2Size_32K;% R7 W: ^- i: ~8 h% E9 C- `! E
) }1 v5 a* N9 }6 m( y% o. b4 t3 w' h
|
|