|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 n# `' U/ ~' F" d% @) p! @
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( \* L& i) H$ Z1 {) p(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 F: w2 B: `' H: _; C! b) l1 m, S- F' l+ c
是不是需要在DSP.CFG中进行配置& N3 t) ^- s3 d, L- P# o
我现在的配置为
* L6 f( S& L$ m T* F* Y& i/ t* f( a, |. }% t% T' o
/*# [5 m' p& o+ D& V' C* B
* ======== Operating System Configuration ========" Y& A# s$ p' K B3 a
*/
. K7 c8 G! s! ?; U
7 F/ ?6 Z% R2 V2 X6 p5 K+ J/* no rts heap */, S; W( Y" x2 X. x
Program.heap = 0; i, I& |" m/ g8 M# W
Program.argSize = 100; /* minimum size */) g; R; }4 U. z! s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
x$ J. z6 L* I# P$ M% u, E1 ]( v. l: X* q% K5 S# E
/* create a default heap */
4 o% x% F- e) C" l8 k7 X4 }var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 g- R$ I5 @2 S$ F& ?
var heapMemParams = new HeapMem.Params();* Z6 } h3 j9 l3 p- X( W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ o7 i3 Y6 e# i4 {9 E8 d" K
" w) k+ U4 U) s' M
var Memory = xdc.useModule('xdc.runtime.Memory');& N* b1 K! j8 F7 {) L6 G' l/ ?' M8 [
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* [) i7 @( e- X) b/ w2 P+ q. r
$ N+ y q- G! I( k; \, X/* configure System module */8 c" ^4 g* |, Z5 a1 t8 K" J$ V
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" k, h: e7 c% c* F, _! |9 vSysMin.bufSize = 0x1000;
$ g! E+ l2 p* ^. O, ~2 ~SysMin.flushAtExit = false;+ d! W1 Y' X& U! y
/ U6 W' e" w2 z. Y' u/ ]1 s2 c& }
var System = xdc.useModule('xdc.runtime.System');/ t! H3 u5 y/ H( m5 l) U$ |
System.SupportProxy = SysMin;6 W- N9 u8 y+ w
r# a! g4 V9 B5 Y6 `7 B
/* configure SysBios to use the lower half of Timer 1 */
* h4 ]! ]9 R6 c+ |var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" R t* H; ^6 j
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 F' T ^) j1 P6 V/ R* OTimer.timerSettings[1].master = true;! s2 N. K+ E9 T1 d* z4 k
Timer.defaultHalf = Timer.Half_LOWER;3 K- U1 Q) n. k1 M1 F) _) \2 K" z
Clock.timerId = 1;
: ]! |; R( s; r8 i! f; ~; S6 ^, q
& P" a1 w5 f5 R1 d
5 W4 D' @! Y3 `3 S9 v* U2 D0 I1 @/*. o1 T% Z5 C3 s. h' R
* ======== Miscellaneous Configuration ========2 a2 V7 e7 h& ~) ]% B3 A
*// L7 u$ B+ ?+ v/ U) ]9 n% o2 u- c
, z1 [; @! C, Y. M3 }8 F2 G/ V
/* set default diags mask */ _3 W8 p0 D+ y$ y
var Diags = xdc.useModule('xdc.runtime.Diags');
& a+ Q4 V- J. V9 r6 `. Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
5 H) a: A/ d+ ~" n+ b- l' Z, n( [# W' s7 z
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 Z0 z# T4 Z3 A$ _9 w; XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% d$ {& e* v$ Q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 j6 G+ `+ \7 w* tDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 Z5 L) H- y3 u XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 I' p7 ^, n) U f" x& q8 o
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 ~# J$ Z& b7 `" tDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! z8 I2 @! X" l+ h$ D0 Z- i
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;" X8 Q! r+ b& H" B" ^4 C+ H! G
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ U7 W1 t5 j+ c) ~7 W
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% l/ U" h( c& v# B" EDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ G. A/ \8 q L! B. C% Q" vDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 W4 o$ n4 o; ?
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 n8 W: X: Z& {' k) X% Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 J0 m% l1 L* A; U) u; Y- t) u0 _* O* {
/* override diags mask for selected modules */4 X: k8 d1 p, W" k5 o+ f
xdc.useModule('xdc.runtime.Main');& n; i! J' j8 {* x
Diags.setMaskMeta(
1 p2 t$ k3 N0 y3 r; Z "xdc.runtime.Main",' b% D2 U5 S3 v0 p( L
Diags.ENTRY | Diags.EXIT | Diags.INFO,( h4 m; R, O, x$ j/ l- l3 J. I
Diags.RUNTIME_ON( f. x- Q8 q4 C
);# N6 ~* L1 n' P
" t" ]. S& N- t. [, W- j5 ~
var Registry = xdc.useModule('xdc.runtime.Registry');
; h9 W4 \0 Z0 W" v# V# pRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& q) {: ]1 H$ Q I3 L! URegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;% J; Z: z$ N% o7 g5 ^; |0 B9 d* K% f
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
. o( G" }& l% ^; Q# d" e& hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ p# e. {: V. N. s- J# A9 h+ V
& f8 l+ g3 f$ k! r/* create a logger instance */
8 e& s" Q9 L7 v9 i' R0 a$ X8 rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% r/ C1 a3 t0 X* s0 M! dvar loggerBufP = new LoggerBuf.Params();2 H9 ^( X: g: ~
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 _7 j# J' B. D: @8 j j7 E$ w8 b$ k
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 P, _0 {) U8 c' j7 Q o, K3 I D: t
var appLogger = LoggerBuf.create(loggerBufP);
0 g( {. o: d1 u3 V WappLogger.instance.name = "AppLog_Core1";
( v& r% M2 R8 V `2 k) WDefaults.common$.logger = appLogger;. ^0 u5 \3 l z/ O
Memory.defaultHeapSize = 0x8192; , u( t/ b. u+ E
Idle.idleFxns[0] = "&LEDStatus";
6 P4 n6 A, K b5 _, ?( [2 WCache.initSize.l2Size = Cache.L2Size_32K;
" x1 r5 \* T) Z0 B# I6 i) l6 r! e' j0 d: t& t- X
|
|