|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; a0 v& ]& e8 O; G) h
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 `/ b; ~7 j( o(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ Y: P \% ^( R$ ^* }
V* m8 q8 ?+ p% B e是不是需要在DSP.CFG中进行配置! l6 R* a$ z$ K
我现在的配置为
& w7 Y* p; j7 `4 v% r E
3 x* ^* r3 H$ U9 z X! o- |. G/*
7 g- i# K2 G3 a% G * ======== Operating System Configuration ========4 W7 j0 e4 p: B. r* G
*/( Q0 P9 ^2 L$ b2 ?! }( h/ f
+ }* U1 e! n1 N2 e) H% G" M/* no rts heap */
2 X9 V" }0 b4 a( y4 tProgram.heap = 0;$ m' l" |* W7 `9 l
Program.argSize = 100; /* minimum size */
0 m4 _% q! F, ^- H- U8 pProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大, H5 u: K) r- s9 W8 h: h3 v( a1 s
g/ W7 E K5 F0 T" N
/* create a default heap */$ e' F+ g* z; P2 |6 U' y/ H. I
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 W6 U" A; Z$ b/ a, `1 Z
var heapMemParams = new HeapMem.Params();3 q+ I: T% P3 ]% j
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ K+ S' e& E8 n2 K% a y
! D5 t) C/ q& R$ u7 V
var Memory = xdc.useModule('xdc.runtime.Memory');. B1 E: y- k* f3 e* Z& A
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
- T6 U3 \. x# D( Y
- l' N/ M5 ]4 W8 B. l) ^+ v" |/* configure System module */
" p2 n8 F+ F' I: q: V4 Y) nvar SysMin = xdc.useModule('xdc.runtime.SysMin');9 [ ?8 t$ T ?4 y+ f2 y
SysMin.bufSize = 0x1000;
! R2 B [6 ]. o2 j, e# s& }SysMin.flushAtExit = false;; y9 l# v; z# P) `4 O4 \7 E
8 H3 i; I" P# D) q1 _1 ]
var System = xdc.useModule('xdc.runtime.System');1 Z" K1 V! Y5 F. a/ H8 \
System.SupportProxy = SysMin;) G: x8 [5 s/ u
$ t0 b1 |* l: U& v. O3 ]% U
/* configure SysBios to use the lower half of Timer 1 */
4 B# V5 J& O& e `+ w! ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
l: e# F% q1 F/ p3 U6 |var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' u9 c/ t6 r; h( a; V: U! S' VTimer.timerSettings[1].master = true;
2 R6 a: [. u* j- N# T XTimer.defaultHalf = Timer.Half_LOWER;% A5 j& f/ D8 F% S; q7 _
Clock.timerId = 1;1 d0 O+ d6 `; H$ m
6 p) M' L* ]. r& ]- p* ^4 y; f$ `
! W- ]3 S: X1 ]& ^. Z
/*
" { K' g3 R, q) K; p * ======== Miscellaneous Configuration ========8 @$ \% X& a. ] p& {6 n: r. [
*/
% Q) T. @; u* d4 M6 o" D. r3 K. A* Q) ?
/* set default diags mask */
1 f) ~: F+ x$ c$ q) Y% jvar Diags = xdc.useModule('xdc.runtime.Diags');9 F6 q- r. \* z! J2 @7 a3 S, ?( v
var Defaults = xdc.useModule('xdc.runtime.Defaults');0 L, L& v5 T# j! s: }) U9 D1 ]
4 {# t1 Y! Z4 h$ c" ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 ^4 D4 z/ i2 j/ L. W9 W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( _3 b8 B! {: q; Y! MDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! s8 [* c" O. U' fDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ F* T, l' o2 t* J# \3 }; C- dDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& v6 @8 C& G; eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 V* M8 L$ T4 U4 f) X0 h) CDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( F! b: i9 S% f- ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 e& Y |3 z; ]( p: bDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
e" w* F* d6 b6 d6 f, eDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' f C, {" W: o5 A/ p) t
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, `( L& p, ~( w" X! a! ^! ODefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* s9 [: u/ T% Y0 ~: aDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 k) k- A& ~' s; }2 j2 ~
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; q- u7 s: x) t# W
2 V& _. X# Z1 {/ I- y! n/* override diags mask for selected modules */
( k6 }; C2 R1 q& c. z$ Q! rxdc.useModule('xdc.runtime.Main');
( a6 M9 S d, h1 q2 ODiags.setMaskMeta($ f9 G$ ^" ]) w
"xdc.runtime.Main",
4 B- G. S" M2 M& ]2 l8 }& \ Diags.ENTRY | Diags.EXIT | Diags.INFO,* `; d7 Y- i* h! ]1 y: m
Diags.RUNTIME_ON) Z- [+ [8 g+ e
);
; g i( G8 u$ m9 `7 c# q
6 r8 ^, R$ _1 f6 k+ K/ Avar Registry = xdc.useModule('xdc.runtime.Registry');
, ]9 ?- b- x( ]4 Y1 kRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 s0 \& _, P. C1 v1 TRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 l: b5 d- @, R# URegistry.common$.diags_INFO = Diags.RUNTIME_OFF;) x# u. ~: c" ^( v* }7 T! c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# m# ^" [1 A1 e$ } ^
( A) v ]. k7 S
/* create a logger instance */4 R9 V% X: Q. b
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 H8 w" j' q1 F6 q2 `8 R
var loggerBufP = new LoggerBuf.Params();
8 V6 W. u( J1 f+ TloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 p+ K0 Z. K5 { Q. w' a' p" {loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ I. T3 s0 P, k% ~' S0 j- l2 I F: c5 V
, W8 G3 [# B1 u8 q y- K2 vvar appLogger = LoggerBuf.create(loggerBufP);
( z& R+ @) |8 d: {% W gappLogger.instance.name = "AppLog_Core1";7 c% P5 c. x1 p) k6 c* }
Defaults.common$.logger = appLogger; ?: O. l9 ^$ n% d, }$ |$ q
Memory.defaultHeapSize = 0x8192;
! d9 J% U9 z, x9 YIdle.idleFxns[0] = "&LEDStatus";
5 t3 v8 P& d3 o! { z0 sCache.initSize.l2Size = Cache.L2Size_32K;8 O& h/ s; ]1 r* Y
/ b. O$ @& t2 q$ N$ ^ |
|