|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: g; ?- `, T$ e我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 R5 x g; q' T! s(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; v+ b% f& S1 z. Z* q. Z" `& V
3 X. t* E# s; {9 O# q+ o是不是需要在DSP.CFG中进行配置
, v4 h) ^8 }! c% `0 `+ t" {; B我现在的配置为
5 x7 R( R! [7 e8 ]% y6 M; J& H) i
6 T* a6 Y6 f2 Q2 E; K9 d/*( s2 H" v. _% t$ |
* ======== Operating System Configuration ========
c: u- \# g. ^) I& Q+ g1 g */! f/ i6 K3 P- a; d
- H) a3 R' p4 s. X/* no rts heap */0 t. E% Z7 Z7 e" A/ p
Program.heap = 0;. A0 D' b$ N. p. m
Program.argSize = 100; /* minimum size */1 [1 y& t" E- l/ Y8 z J9 h
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- k. O& O$ V1 E0 s
' @% F' O2 q8 P
/* create a default heap */
& l: O" y" \6 n) r' qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ g, ]# W9 H3 O8 B% ?, B! H
var heapMemParams = new HeapMem.Params();, a# R9 y b: b$ j0 N8 R- O
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ d2 N9 f5 g& s3 C% n; u
( u* n6 H- \' h, `var Memory = xdc.useModule('xdc.runtime.Memory');
! z% z2 l. K/ j1 n' K" x0 hMemory.defaultHeapInstance = HeapMem.create(heapMemParams);* `5 v1 ^( b* d( k! i
8 a: A1 }3 Q* h. P6 q) P' V/ \& p4 g/* configure System module */3 M0 w; o b8 D* ~/ Y6 h
var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 S5 x% P; s' L+ i+ TSysMin.bufSize = 0x1000;9 j! Z& O _' G( @8 _- s
SysMin.flushAtExit = false;5 _, y$ {/ D C9 m
( Q+ {1 `# F3 S$ R0 g! [2 @var System = xdc.useModule('xdc.runtime.System');, G& p- l9 S/ L! C4 w* ?5 f
System.SupportProxy = SysMin;
4 o9 M2 j! G) i7 D Q+ P& [& o. f, F5 a
/* configure SysBios to use the lower half of Timer 1 */
0 h/ y; B0 ^/ ?5 _" Xvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( z N3 o1 T D: ]; \
var Clock = xdc.useModule('ti.sysbios.knl.Clock');. U( W6 K3 l" r, ~+ j
Timer.timerSettings[1].master = true;6 u1 t9 u- w8 Z" b7 ^8 \2 T
Timer.defaultHalf = Timer.Half_LOWER;/ s2 h+ o/ e; K! l) I
Clock.timerId = 1;+ m; |: v0 J1 F8 m
0 I# x% l9 ^& i
3 V: I) u+ p' P( M& ~
/*! ?7 }6 Z5 W# H+ X0 C
* ======== Miscellaneous Configuration ========
; y& b2 b( V6 N- |1 ] {6 Q* d */
5 `7 u9 x5 o8 u# j& ^( w) N2 Z4 z! }. _3 E" {3 ?* Y3 Y: c9 K* S
/* set default diags mask */( d) }: B( A' y+ t0 T, K' g
var Diags = xdc.useModule('xdc.runtime.Diags');3 q4 R# [1 K, k# ]0 \
var Defaults = xdc.useModule('xdc.runtime.Defaults');
1 k$ l* A9 |& X; q
! ]( H( H; p% Z% JDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% f. |7 a9 V) \9 ^# D4 x) \
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. B$ W/ h" T5 ?* |Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; M* |; u; R( k% s5 dDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 l4 B$ o) }5 e( P' cDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' f* ^2 g# {3 e. W0 C2 P
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 e5 ^! c- Q5 f& n' ^" c8 kDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ U# o; S8 H; V8 l8 m; o
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 R! g* u* v/ O5 _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. L+ s6 j3 @" u8 c: @; D1 ODefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 H2 W( ^) L7 w5 m& R8 C
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;9 i3 @. n9 @- ^8 x7 g
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" e' C& ^* I: E6 p
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 U" I, ]. s5 O: C
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 \; p$ ?& a9 n" J
8 r- j1 G0 }0 v( l& `- T$ |1 P
/* override diags mask for selected modules */ R* M; q' i$ Q
xdc.useModule('xdc.runtime.Main');) l* q8 J0 T4 K( T8 S. d8 w* d
Diags.setMaskMeta(
. m6 e& t+ Z" @9 p1 w1 I$ _ "xdc.runtime.Main",, t& o5 T0 H/ Q/ ]+ c
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 d* V/ F7 C2 N) `% x5 c Diags.RUNTIME_ON. u5 r& J0 g' S3 M7 }
);0 r5 S5 c: J9 y9 _
3 V& s4 k4 T" L3 o: B/ x, gvar Registry = xdc.useModule('xdc.runtime.Registry');* W& I2 N6 \' N0 Y5 i
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: s- _ x9 u+ ^9 y& i) J
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- E: U5 k0 y& aRegistry.common$.diags_INFO = Diags.RUNTIME_OFF; g, b. ~9 ?' d7 e7 T1 c: L; U% `
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 m- \; U$ \% Z0 ?/ b* V
( o C+ C! |0 P/* create a logger instance */: k4 `0 Q6 S- z! ^
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; y t5 S3 ] h: d/ K, a
var loggerBufP = new LoggerBuf.Params();
3 S$ Y, \4 |8 M3 b; w- RloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 D3 X; a* e0 R* i8 {; p' H" w! rloggerBufP.bufType = LoggerBuf.BufType_FIXED;& S) ^& `# ?% w, G; L6 M
' g# G% @: I9 A/ qvar appLogger = LoggerBuf.create(loggerBufP);
* H% a; j! o, H1 rappLogger.instance.name = "AppLog_Core1";
+ T% C! n! y5 s6 l4 ~1 }Defaults.common$.logger = appLogger;
- [+ }- C& x9 r( R' G5 UMemory.defaultHeapSize = 0x8192; , n7 D7 m: a6 ^$ X
Idle.idleFxns[0] = "&LEDStatus";; A$ A$ h! H+ @9 M$ U H; j2 ]
Cache.initSize.l2Size = Cache.L2Size_32K;
* }; c3 R% z, c, H1 e
. h! E7 B3 l& W5 D( ]& w |
|