|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 f+ @, O1 X5 o2 j# J5 B) o" X
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- _) F: u! J( B- N, R
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' v. M. H9 K, n
{+ g, I0 v4 M- L+ j- _是不是需要在DSP.CFG中进行配置6 r+ Y7 j; f3 p! |5 z( @3 n' r
我现在的配置为
7 t# {* _( ~) }) e' S' M4 ~8 A
/*( W/ j0 q! D7 J5 v
* ======== Operating System Configuration ========
- V T: J$ q; o4 {# r( @8 B */ N0 |# v3 L* c' x7 n5 {
/ _3 }, n% T$ T! K2 V2 k+ ~/* no rts heap */( p! N7 x$ L; D- `
Program.heap = 0;( k: q, S& Q$ T! L8 H& n
Program.argSize = 100; /* minimum size */( h {$ p+ B L: b
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ W1 X m$ ^2 e I- s) y
! q( ^1 ^" P A+ Z8 z- d" N/* create a default heap */4 D' T7 a' p- I7 W+ E' A
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+ Y/ Y8 ]$ ]+ j+ M5 I. evar heapMemParams = new HeapMem.Params();) d3 Q# a) `( t# D0 ?2 O+ b3 G4 @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" t! ?$ y6 {, |' o( \& B% b
; x! {8 f# c: i" lvar Memory = xdc.useModule('xdc.runtime.Memory');
8 b$ _$ b/ [/ C$ J( gMemory.defaultHeapInstance = HeapMem.create(heapMemParams);5 u$ b2 f u8 b* [ U j6 Z- L
0 }; S) r1 X) n# k
/* configure System module */
+ z% n# e+ I' e; d% Pvar SysMin = xdc.useModule('xdc.runtime.SysMin');
) o8 ?9 ?0 x! v8 b7 \# B. fSysMin.bufSize = 0x1000;4 G0 a' E. B( T- N: z; \
SysMin.flushAtExit = false;
3 C) H# Y( [8 O2 ?$ @& a& @7 l: d6 r0 N: m8 S# n1 z* w
var System = xdc.useModule('xdc.runtime.System');
! s! r' V( Q" R. {1 zSystem.SupportProxy = SysMin;
+ A y% Z+ O6 F
+ {# S1 @) _) j8 G) H) F( T: N/* configure SysBios to use the lower half of Timer 1 */
) d& Y2 b3 i- y! f- pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& _+ u. L/ s$ a0 V- r U9 P9 Tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');5 R1 W& M) X: g( B+ p" A
Timer.timerSettings[1].master = true;$ R6 I" P5 E/ v( J; S4 _7 Z
Timer.defaultHalf = Timer.Half_LOWER;
; B! L- i: t: y( o- e& Y% _5 @Clock.timerId = 1;
; j2 Y. U0 b/ N& U1 F
" F, }3 h9 \5 G- d+ K# [+ R0 {
* z7 Z C3 j. T$ z1 \/*/ o( a7 d: Z: E" f
* ======== Miscellaneous Configuration ========
) ^% u: ^/ C9 g9 |% w */
6 ]5 f A8 c+ O, O
4 K2 E0 q7 b9 Q# G o/* set default diags mask */
`, b. A a7 z( n' F) Hvar Diags = xdc.useModule('xdc.runtime.Diags');% I& j% w! j+ c, r* e( o
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 C! X/ C' r% B0 _6 M( ]- n& Y. U$ L; z; U8 b# {7 |
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 G! g3 k9 z$ k) W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 j1 M( N0 ^: z! r
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- J$ i. h# h+ m& ~1 }7 VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ s4 e4 l& [; f
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 D. G/ i" V8 T$ Z( d
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 |2 ?8 a/ |, _Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 [1 K( k! b0 W9 b; o; A" YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 K2 }) a4 j& t2 U/ H
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; F p" R6 T8 G6 _: ]! X7 o( o9 O
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# b$ ~. c: y, m4 R WDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ |8 }2 r6 s1 v7 j. d0 [. LDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ W4 m* i; e2 @8 Q) v; U3 O0 I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ Y! E: L+ R% P6 ^ [* J/ n. j. X
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; s, s8 m* O x* ^
, Q- N! O. x0 h
/* override diags mask for selected modules */
' j/ d; P) q- \xdc.useModule('xdc.runtime.Main');7 l4 M+ }8 ?6 K: c& X: q% M8 ]8 ]7 L
Diags.setMaskMeta(
& X, }$ Y3 s% E% Z$ u8 w "xdc.runtime.Main",
; X, @* P$ r0 B$ t7 y7 r$ Y* P9 S: d Diags.ENTRY | Diags.EXIT | Diags.INFO,
: t" A& E' p6 @7 `# @6 ]" T Diags.RUNTIME_ON
0 a2 P7 T$ J0 Y);
, k+ S& `- p; z/ ^6 z$ f! f1 W) s2 F( O7 o5 h
var Registry = xdc.useModule('xdc.runtime.Registry');
" V* ]1 O6 a, J, sRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) ?& d; T. |9 H' D, L6 W! [( m
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;2 `) ?0 @1 f& }$ |! t' Y4 N( a! l2 a
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 T& h3 @8 l% [9 u0 P& e* f+ MRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 _* J D1 M9 P4 V, e' t) |: V
5 H7 `# R* N& i/* create a logger instance */# E) ^1 r. d1 v0 B6 \9 Z! c( Z' i
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 @# _2 v3 _$ M
var loggerBufP = new LoggerBuf.Params();
% v) I/ D0 Q [2 j1 Z7 dloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# y* @0 @1 R9 z# p# jloggerBufP.bufType = LoggerBuf.BufType_FIXED;
Q0 b' G* ?# L; s' h0 O9 ^5 H+ [8 O! D
var appLogger = LoggerBuf.create(loggerBufP);
' P$ ^% y; I( ]) MappLogger.instance.name = "AppLog_Core1";
0 I" U& f7 N: G4 x" eDefaults.common$.logger = appLogger;9 b5 w- m5 c& o, F" b
Memory.defaultHeapSize = 0x8192; 4 y; f2 \9 t0 q& R' o- n m) C
Idle.idleFxns[0] = "&LEDStatus";
% I8 }9 Q* N9 ?, y. x. xCache.initSize.l2Size = Cache.L2Size_32K;3 X& S8 Y5 u) P5 {8 x& ?' U, ~
( H4 ?/ I' J3 B
|
|