|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 n6 x5 T' P" Z- W4 A6 ^ {9 Q7 d我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下6 W( E, k# S8 K& P) i
(不过疑惑的是,为何单独DSP仿真就没有问题呢?), U4 b; t9 @ @" Z3 `/ c% D
0 i; j' r3 M9 A3 C. {1 B
是不是需要在DSP.CFG中进行配置
( m' g- v" Y; s我现在的配置为
/ I+ w1 W- D! @% l9 t9 o# ~
C/ ^" `" n; c3 t/*# K8 t5 Q3 h, I' l2 n
* ======== Operating System Configuration ========
5 a+ ^( c: _% X) \. T */9 q) q7 }; r" v8 e' Q$ z
2 u6 F$ t, \% h$ P8 C/* no rts heap */
a# {" s1 j& _8 u" E cProgram.heap = 0;( m q3 Y" P- Y6 K+ l
Program.argSize = 100; /* minimum size */5 z. Z+ y' X/ |1 V
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! Z: G. G5 g' B s' m8 o* F3 h! a# r
/* create a default heap */
h( ^8 S9 m3 C: J! S, Uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');' D. f3 |; d5 i u$ @: x
var heapMemParams = new HeapMem.Params();) ]% V) {' k9 ?) }
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 ]+ n I3 V' Y* Y
% n/ c+ i! b6 }7 I0 U& g/ G5 a
var Memory = xdc.useModule('xdc.runtime.Memory');
7 Z1 }! ^7 s6 r& V' cMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
% J* d" r7 u+ O" T. i# {5 n3 n) e' n
/* configure System module */
6 x8 E1 _! K2 U5 |var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 X& v' @5 v4 \9 o! _; ~$ `SysMin.bufSize = 0x1000;6 s- h1 ]" D8 e; ?+ ]/ t6 s" v3 T; X0 ^
SysMin.flushAtExit = false;
5 ^4 r; p( y' ?7 i; z! n) _9 [' N4 Z+ w
var System = xdc.useModule('xdc.runtime.System');9 t! k, g* t, c q' t5 y. c9 P& [
System.SupportProxy = SysMin;
& {* d2 a% L0 p% o9 H9 _8 ?$ Z0 O/ k% W7 E
/* configure SysBios to use the lower half of Timer 1 */- r, e: k @1 }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" \& |1 U( }/ b" ^7 h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: E) J/ M! i: m* @Timer.timerSettings[1].master = true;
$ ?. K( C f( c2 qTimer.defaultHalf = Timer.Half_LOWER;
9 t( X6 ~! I- MClock.timerId = 1;
! c9 i) @- i) g+ Y; |+ X& e3 z% @1 \
- N2 {1 _: J3 m
/*5 _; `; w+ w+ ^
* ======== Miscellaneous Configuration ========) j. I Y8 O7 q3 N) s
*/
+ [6 O+ A0 A& h" y! r2 x# W& V* F4 E- [" O2 B
/* set default diags mask */
3 Y9 H8 C7 \; L8 s Mvar Diags = xdc.useModule('xdc.runtime.Diags');6 w" S5 o- `; ]1 H
var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ t4 n# B/ c: `+ m0 R+ P. o; Z0 ?' m \0 _) I, s) {. O0 e1 b
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* o; c' M5 E3 h% d+ [Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& I& A6 G/ H4 ?* [. Y/ DDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 K. ]$ l: s8 u$ O# ^9 pDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 C0 U; w/ c7 F' r' c: l2 w7 D
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 \0 k* A; `5 }- R6 w+ I( p5 o
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;! h2 c" q6 P% O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" J! N) E' o. K5 W I( u: I2 L: pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ H8 R- z0 R3 P
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ L$ n8 P+ D; b! p2 _
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: F. {# y' K2 {Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 o* ^1 ]1 {* A3 w8 t* p' |Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 E$ E3 w# h4 P) s- M* U: y* K
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, Y$ f0 h3 d- b9 c9 w4 MDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& I8 Q$ G& r+ u) b. D
. `4 [9 b" `. c9 @7 `% N4 x
/* override diags mask for selected modules */& S0 u$ M# I. C, d* O
xdc.useModule('xdc.runtime.Main');
" j9 l* _( e: f* @) R7 C$ d3 [% i {- ODiags.setMaskMeta(# t3 K% t; T( [+ `" f( e
"xdc.runtime.Main"," J/ q2 V( q3 ~2 N* x1 W( f/ J# T
Diags.ENTRY | Diags.EXIT | Diags.INFO,; e3 ~# N, \, T. h% X) Q6 [, X
Diags.RUNTIME_ON8 u5 ]% V1 g$ J7 P& C" }
);. O5 R% t' v! y$ t+ l
; c! a- r. @* C2 o- p [ y0 I
var Registry = xdc.useModule('xdc.runtime.Registry');
2 X2 G* r4 u4 W5 V% n- V) FRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' t2 ^1 ?* ]" x% L' PRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 J4 S5 u. P! ]" h6 a8 Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;, r5 W5 @' r& B$ ?# r
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ E: l% m: V! Y0 m8 |3 W3 D; ^
0 x0 _8 q f1 n$ j3 @. n/* create a logger instance */8 R5 T$ `/ I% ]- _
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- W7 y4 ]" O3 c' {
var loggerBufP = new LoggerBuf.Params();
8 {! H% j( n3 B7 K: K" bloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 w8 C q: C0 t; M& T/ ZloggerBufP.bufType = LoggerBuf.BufType_FIXED;
" Y6 _1 O8 Q6 W5 Y4 H3 @
- |2 G- G- C9 K) C$ J. jvar appLogger = LoggerBuf.create(loggerBufP);4 z+ O$ y. N8 T& Z. H* Q4 b
appLogger.instance.name = "AppLog_Core1";
3 {! `# U- \4 S" [' v1 TDefaults.common$.logger = appLogger;
1 l- o! E' ~$ k i: q' v4 `Memory.defaultHeapSize = 0x8192;
! O$ q, L. B- cIdle.idleFxns[0] = "&LEDStatus";. M% P, }& v- X5 n, U7 c$ z
Cache.initSize.l2Size = Cache.L2Size_32K;6 F2 b4 ]5 K" }% @( E/ O+ J
" n1 {# h5 x! ?+ J; g |
|