|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# ? G- _) j, Y# u; R我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' r9 ^- n+ [- q: {! K(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 `" o8 c3 t R% ~, g
+ L% M5 @( x- F% q1 Y
是不是需要在DSP.CFG中进行配置6 W" _9 ^; Z7 s; c2 O1 w
我现在的配置为+ s, T+ d c* Y5 @: f3 f
9 A( |3 J# }' [9 w0 d8 D2 i; e
/*
n5 V( s% o' | t r; W * ======== Operating System Configuration ========
0 _: x; j5 H/ h# I */1 C+ F& A7 }9 b" X% W) }' v
8 L9 w' R3 m3 E' q+ f! a
/* no rts heap */
9 B; B) X% s/ P b& n7 Y. gProgram.heap = 0;
! G' j1 o2 d* Y0 o7 a0 T" mProgram.argSize = 100; /* minimum size */
- o% U4 T5 q4 d4 U! rProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ `( B; x/ z8 k% L+ w T# g! M
1 X* l' x& H3 d/ r( Z/* create a default heap */
4 Q2 g- v7 o( p1 m5 f- s* I# }var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ [6 i* A" g# ~. m9 _" q6 P6 N( kvar heapMemParams = new HeapMem.Params();9 `. J8 y1 \6 s7 |
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& [* o0 U% x+ ?6 i
& n1 P! t( G$ ^8 m' H
var Memory = xdc.useModule('xdc.runtime.Memory');
6 P2 Z8 b T. q; |1 G R" {- HMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 R( C: h- u9 q
4 Q6 c" X+ A& E; P1 X/* configure System module */
, x* I! L: N9 b/ C3 Y4 j2 H7 o, P* q0 fvar SysMin = xdc.useModule('xdc.runtime.SysMin');
+ b! [2 {' e1 S# ]6 p/ cSysMin.bufSize = 0x1000;/ E0 G5 t3 b6 V) W3 e) g* s
SysMin.flushAtExit = false;7 p. X8 i3 ?! [' `2 {( Y9 O# A* h
: }/ }3 v# d: ]$ D$ Tvar System = xdc.useModule('xdc.runtime.System');' A O& S. J& V2 e: u
System.SupportProxy = SysMin;- O+ O2 E$ l3 e
8 t6 x' m( m' K- j* q7 w1 j' U
/* configure SysBios to use the lower half of Timer 1 */8 g/ v2 K! Y6 K! G) p
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');5 [2 l2 e" [: s: Y% l) X/ a
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 f% V7 `& S0 W8 v/ W- i& QTimer.timerSettings[1].master = true;6 W( Y" r* F! z, O
Timer.defaultHalf = Timer.Half_LOWER;
( i% L: t& ?8 ~/ o& [3 O+ Z* iClock.timerId = 1;5 u b0 F* M4 K+ y! \) X8 ]
1 W+ u( S% H- V$ r5 D. f" }3 L$ E# V: d9 Q
/*
# f" n- t7 J! x5 [) ^! K6 A. ?5 l * ======== Miscellaneous Configuration ========8 ^) C; ~. U. z( G& V
*/
, O5 w& z( M i6 u+ o: e$ [7 O( i ]. O t" J {
/* set default diags mask */
8 n) q6 B6 O( o* L4 Svar Diags = xdc.useModule('xdc.runtime.Diags');7 e' j/ T" {1 A# {0 X
var Defaults = xdc.useModule('xdc.runtime.Defaults');# t4 q _* o! r) |
0 W- T8 |) b* I& {; u
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 {% e _! t" ?$ m4 C' dDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ x [" V" k0 r W4 JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
E1 y( B! E9 M7 Q8 oDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 ^9 m6 t1 K) D; k
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only *// [" m, ^) {6 z. k6 I
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
0 A. `; T7 } C+ LDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- u- n* |9 v1 ~" Y7 \Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; l" f6 h: U3 W4 @5 C3 o# _$ P
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- K, J/ ~9 K- u! H6 `0 K3 d
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! O s" D: y2 Z* F" hDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 M K3 X) y6 S8 |4 r
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% [9 O% }7 I6 ]( {6 b
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 c" `4 ^( F7 ?
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;5 @* c6 {& v/ I- d& h d
) e N, D$ [" @! E4 p/ g O
/* override diags mask for selected modules */
0 |( T! O8 r3 | f. S% r, xxdc.useModule('xdc.runtime.Main');) r" j, x- I6 g) l
Diags.setMaskMeta(" [' n) f. R) i3 h7 u# c9 w
"xdc.runtime.Main",
* u' X, V/ I, L0 i; z Diags.ENTRY | Diags.EXIT | Diags.INFO,
* I; {0 _2 T, L# ^ Diags.RUNTIME_ON/ \! g" h' j! n) r! B3 |
);
" t, n: R: m+ s$ s
; O% n# Y# O2 J/ E& \2 Z+ Bvar Registry = xdc.useModule('xdc.runtime.Registry');2 v F' k! ^, W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' d6 g+ |5 G9 n6 g2 Z4 x8 G$ O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ E# v4 w+ E$ C4 O8 M& X. kRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
# M* M8 m e, t$ Y/ r. |Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 o8 h1 d \& @% b
9 x, S u! Q6 z# p; a4 ?
/* create a logger instance */
( Y0 X1 C. N L7 I/ O7 Tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! S# ]: V) ~$ q* x5 d' ?: evar loggerBufP = new LoggerBuf.Params();, P# g) R2 w' |) i1 y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; b! G' V' d9 n! I. t9 n$ ]/ BloggerBufP.bufType = LoggerBuf.BufType_FIXED;9 s1 g; H1 f* @& j
* G! P" z4 o- Q# U
var appLogger = LoggerBuf.create(loggerBufP);3 p! m$ X# I. U* x9 E
appLogger.instance.name = "AppLog_Core1";6 c3 }9 P( j/ ]6 u
Defaults.common$.logger = appLogger;
) y) b2 r4 P7 b, O9 BMemory.defaultHeapSize = 0x8192; 1 R U l$ \) k5 a. u
Idle.idleFxns[0] = "&LEDStatus";
8 w* N* |# n1 NCache.initSize.l2Size = Cache.L2Size_32K;
) M# n! S0 g4 P: G$ n% z1 H; w1 o0 D' g+ J
|
|