|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ }7 e6 f) ~$ }' H0 I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- z9 o7 T6 T0 u5 v8 [$ L(不过疑惑的是,为何单独DSP仿真就没有问题呢?), s: A& U' v, L$ c- b4 r* z
9 ~ O5 m- _; }" i
是不是需要在DSP.CFG中进行配置7 W3 Q& }! [3 c4 W& G5 v6 V
我现在的配置为 e# y2 S/ g, ], x6 {
% W0 _# x- u, _3 f0 _5 l( n
/*
5 x; q; T6 |( U- v2 ]6 E * ======== Operating System Configuration ========2 @: F/ ] N$ W* y2 J4 T
*/
! d4 |% n; Z5 |7 M0 j7 _& d# x+ @& c4 H
/* no rts heap */
- {# D% j# F0 D5 wProgram.heap = 0;! Y8 D ^" j4 }2 g' ]
Program.argSize = 100; /* minimum size */) `/ @' f4 X' `/ a
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" c8 H5 W0 N" j9 R- V; G
7 f9 \7 H6 j! J5 F9 v& H7 R" G/* create a default heap */
/ s- ^; {: ^6 W5 svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 J. R0 m/ Y3 H$ W. [ Fvar heapMemParams = new HeapMem.Params();, l1 t L4 x, d! {) L Y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 ~8 s" i; K5 R& t% g% e4 m9 c1 D; A
5 O0 {/ ]1 B% \var Memory = xdc.useModule('xdc.runtime.Memory'); K7 N" A3 F @' M% g
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ u! Q; v$ r) v# x: S z+ V. @) T6 R; y, c. b. H& I' o3 Q
/* configure System module */
0 U, L3 F9 z" Z2 j F$ X/ Cvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; O8 [2 G9 R9 D' I9 z6 |* ESysMin.bufSize = 0x1000;/ r) ^% J4 r% T& i3 ?
SysMin.flushAtExit = false;
2 G" J+ o$ [9 X$ l V O
* x; k- W B+ s7 kvar System = xdc.useModule('xdc.runtime.System');
$ Z' `# ^2 K* w* u) D' L5 SSystem.SupportProxy = SysMin;! o" m* n2 Y; V. l
1 z% V+ w. x, X( {. O& {+ Z
/* configure SysBios to use the lower half of Timer 1 */2 n. S( v; i9 Z( ~5 u
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ i3 w& d$ U* M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, D3 R9 ]4 P9 {; a% n8 FTimer.timerSettings[1].master = true;
' r% |; C/ `6 ]Timer.defaultHalf = Timer.Half_LOWER;( D* _, D4 T% L' j) X! _
Clock.timerId = 1;
/ r& P, v' m3 x6 ^5 L g/ Q7 i4 m0 c! P' i, M
; |4 O" [) B, Y: g
/*+ t1 I' ]* T- J, g0 M2 v
* ======== Miscellaneous Configuration ========
3 }5 c* i& M% D */0 z8 c; v) ^! W/ ~3 Q* T/ U0 \8 J; F
7 U5 V P, S9 {0 R8 V/ S. I( k
/* set default diags mask */
( Y. H$ {) n( i& j. H- ?. {var Diags = xdc.useModule('xdc.runtime.Diags');' g, M9 _, ]+ x9 s" x
var Defaults = xdc.useModule('xdc.runtime.Defaults');3 q) L+ E* ~6 h& L/ {7 G1 B7 Y L" E
0 C1 G; f. t) _1 {, V# v3 q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; G( ^( L' } i& E
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 }2 ~" Y/ \* G$ C eDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' ]* T; p/ [9 w0 Z! SDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' ?3 K! A/ l0 S
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, u/ w" @5 f: [" _3 `9 W# ]' W
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) b2 m s: P: E, d( E- j- LDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 B2 k$ U$ X8 `+ T* ZDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 I" F; }3 D& l/ _6 N2 y4 q! m
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 W9 |0 X1 l1 q* U% H- k2 gDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 R0 ?$ s2 [+ c( I7 K' L1 CDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% I' h5 p" P- H8 x! fDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 t/ Q! k k Q! T, q2 | F, v9 h% NDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
+ B" D1 j6 T3 HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 [8 {6 H1 v: j' \" t" Q# O" n1 ?0 ^ s+ y0 Z r7 m2 Y
/* override diags mask for selected modules */& w- c+ e2 o) v# J* r) t
xdc.useModule('xdc.runtime.Main');
( L! u. P3 |. ~* l" cDiags.setMaskMeta(' L( }6 y: j& [- |( p
"xdc.runtime.Main",
; |% G n! [* b Diags.ENTRY | Diags.EXIT | Diags.INFO,6 `1 j& U& n( J" m3 y
Diags.RUNTIME_ON9 p+ K+ ~- k, t
);* F7 i3 G& K& d# ?+ Q
. B. |: x. T% M3 _+ c) h8 x
var Registry = xdc.useModule('xdc.runtime.Registry');
/ Y6 y% Q4 d$ E- o, k1 `+ YRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ M$ C0 n Y# B7 RRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;; Y7 E! J2 o* V+ ^" ]& J6 ?
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 s, M5 t# Q0 hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 k9 L& i4 Q! ^. p9 L. Z
7 G8 D% w3 k6 w x1 N% _4 Y2 r
/* create a logger instance */
% V2 U! S% K8 J4 e- {var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) P' g0 V% O* l6 A7 H6 q4 nvar loggerBufP = new LoggerBuf.Params();
/ |2 B4 m8 f4 B1 w# g1 E$ W( DloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ E2 Q# c4 `5 U+ `0 n
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
# ], e6 `; _! v0 O) j) x# S
% y) \; w% _9 A8 D& Qvar appLogger = LoggerBuf.create(loggerBufP);& q, W" L8 H& R$ ?4 N
appLogger.instance.name = "AppLog_Core1";
. ~1 f& ]3 z7 l1 e3 SDefaults.common$.logger = appLogger;6 |) U5 R% S/ f5 d6 T9 S
Memory.defaultHeapSize = 0x8192; " \- R7 q7 Z6 ?+ _
Idle.idleFxns[0] = "&LEDStatus";* O3 M% n' U. \, V5 K* w
Cache.initSize.l2Size = Cache.L2Size_32K;( l; F, [0 c% \4 p2 c
8 g- o, Q( ]" V |
|