|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明. x$ S3 A: C& |% v5 r+ X& I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' V) q8 q8 P" e' b: r( K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! a* k$ z6 w% ~/ K9 ]0 V
: O9 Z2 Y0 B* @, O- d
是不是需要在DSP.CFG中进行配置
, s3 U2 S e: O4 w& u7 D! U我现在的配置为3 {2 E2 \' @" q+ D( D
: S. v- d% W" l- S4 Y
/*) d: F b! G. ~9 R
* ======== Operating System Configuration ========* j! |* U3 p! o
*/
; @6 a3 c- |1 z6 X' o% @+ \# P& }0 V2 l4 Y2 A* |" T# R
/* no rts heap */
7 G8 G5 [- z/ w" \+ IProgram.heap = 0;& l% S0 G* u" y8 E; Q) L) W& I9 b
Program.argSize = 100; /* minimum size */
6 {* O& s6 V: n2 x Y+ L! G( qProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- V8 |; a# |) N+ Z
: R6 m4 T `7 W$ `+ L! y6 i6 o% r/* create a default heap */7 {. ^0 [2 |5 a- }, x& L
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. W7 C1 i F$ A e; m: dvar heapMemParams = new HeapMem.Params();
6 q7 T( k+ J1 `( h+ yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
( P! E! |4 ^- P; s; ?& P7 \
; O+ I, C* w8 P& Qvar Memory = xdc.useModule('xdc.runtime.Memory');
' p$ {8 c+ J! \; X$ yMemory.defaultHeapInstance = HeapMem.create(heapMemParams);) t* j! O4 ]5 d; o5 C* L3 @
5 h; J I) a+ [5 Y# f% N/* configure System module */1 o1 J, N% T! |! `/ s; d7 H
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 E. T7 B" U: I5 s8 s8 I+ }* mSysMin.bufSize = 0x1000; u6 g; x$ V0 v B
SysMin.flushAtExit = false;% P2 A9 Q2 f4 e
$ ^3 f' d% V1 {" L2 @var System = xdc.useModule('xdc.runtime.System');
0 u4 l' K% c3 v: j6 @& DSystem.SupportProxy = SysMin;( @0 r* N- C! j
- i2 l% b* F* C: i) F8 }/ S/* configure SysBios to use the lower half of Timer 1 */
$ a- f; A Q, d$ a6 q1 ~! ~var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 s3 @$ U# f' J: G5 Z
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 D9 _& i6 {- ]( Q; [) J$ q
Timer.timerSettings[1].master = true;" X1 k) x0 i k6 g' w& @5 _$ M
Timer.defaultHalf = Timer.Half_LOWER;$ g. ]; `( N, S0 n% q! {6 `
Clock.timerId = 1;: a" {$ C( ?0 V% ?$ c: n
3 F9 J+ q! V8 k' [
% r. G3 ?- V8 H/** o' ~" p& u. }: e* ^/ ?
* ======== Miscellaneous Configuration ========8 k1 g9 W5 O' u
*/2 W; ?$ g& X" ^7 `8 M5 E; { ^+ m( e$ B
; e2 P$ v: D5 N/ }/ [/* set default diags mask */
7 L3 H3 g2 h+ {7 j% W6 d5 Avar Diags = xdc.useModule('xdc.runtime.Diags');
6 L# f) S% Y/ svar Defaults = xdc.useModule('xdc.runtime.Defaults');! U% t, m# U9 A' y* ?, [
, w$ \- ~! B. U9 ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' S0 d X E3 ~
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' |! V) Y; h- ^4 e2 Z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ S5 S9 N. O) A; j3 l/ {7 B2 qDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 `. P# M9 o$ q% j- \. sDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* G% e8 Q: O6 p# g& G
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& r+ X1 }6 O {6 QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 {/ M( `. g% ~Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& v; h# o$ ]( M9 p9 s5 x( [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 a1 X' C3 H' N$ S* CDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 }: D0 k/ x& D7 t
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 h' A6 C0 r' Y8 G
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 i, {6 O# |, }$ p5 v U7 h7 VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;) N4 a/ N& I/ {5 o2 m5 d
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
! S) ^6 d7 l8 q
+ v! |7 Z/ F h/ U/* override diags mask for selected modules */
: I/ J9 g8 O' H, rxdc.useModule('xdc.runtime.Main');; U+ u; w6 e0 F( q# X
Diags.setMaskMeta(
i% P7 |. U8 X0 G "xdc.runtime.Main",
5 p' w0 B: f% s Diags.ENTRY | Diags.EXIT | Diags.INFO,, k6 q' c; s# Z
Diags.RUNTIME_ON
0 z3 U k( O/ b4 @4 f& k# \);# i2 W7 Y- q- n- X$ |, @1 `9 h
$ ^7 o1 n! R! u; a* @var Registry = xdc.useModule('xdc.runtime.Registry');
" v9 U% a+ i" H# Y" [Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
: h0 t5 i' Q6 r5 j6 mRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 m' V5 [; ?/ J8 e$ V: f' @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 J$ g& G/ N6 @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ G' G+ u! E$ B! j; s9 `% p0 x
/ S) T3 B7 u( c9 n/ ^
/* create a logger instance */
8 Y# w& r+ P0 e! ~var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& s9 u9 v7 y! T( g
var loggerBufP = new LoggerBuf.Params();/ k8 G9 y* |2 m5 E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: V) ?- W% W7 M6 @% K
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 [" D) _3 Q: @( y5 k+ M6 R- H. S# k0 Y
var appLogger = LoggerBuf.create(loggerBufP);) Z/ i) j S0 d1 ]( i1 @3 q2 {9 ? ~
appLogger.instance.name = "AppLog_Core1";
* M, @$ A/ ?" J) U3 O# MDefaults.common$.logger = appLogger;3 F6 m( }$ O3 @4 `$ X' _( b! \
Memory.defaultHeapSize = 0x8192; 1 w4 I* l/ k( j- R/ w' x
Idle.idleFxns[0] = "&LEDStatus";
5 S$ ^# Y: t% X" E7 jCache.initSize.l2Size = Cache.L2Size_32K;
& Y8 ?' A! Q9 _! }% F* X8 X
5 u0 @! I4 x% @% X. ~ |
|