|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! c5 A- i* |7 ~7 y) x1 \# \我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) h4 L. e& _0 [ |4 V E; u- U" Z; G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); w8 ^# `6 }, e7 ]6 D, b
' ^. L* `5 X/ |5 z9 ~! @是不是需要在DSP.CFG中进行配置0 Y0 G, l% \9 t; r
我现在的配置为) E; Q$ b4 ?) x0 M2 t
$ Z' Y% S) g3 q. ~! Z
/*7 p, S* a7 K; e: k' |: }
* ======== Operating System Configuration ========
( W, H7 P* H6 h# G7 k$ c2 ^ */
8 k0 ^: R) r- `+ k" o8 ~
2 i! x# D6 T, y8 c% ^/* no rts heap */
. \% ]6 @2 k1 X. r) Y! pProgram.heap = 0;7 P. p( Q# O# M3 }2 ~' a
Program.argSize = 100; /* minimum size */0 e, Z8 W, x1 R* h' y% b
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" D) q7 G! Z# h1 K) K
* N' D( C7 k0 C
/* create a default heap */+ a8 M# _0 ?/ j+ s
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. R5 J2 ~+ z/ [8 P# }0 w+ |
var heapMemParams = new HeapMem.Params();
/ ]4 f X/ h2 Q1 s) W- GheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" s8 X, O6 w$ g- z
4 w! ~$ ?* M1 F8 g+ K
var Memory = xdc.useModule('xdc.runtime.Memory');; ]6 P3 I7 ]1 z, U
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' q, w8 @9 G' W. h2 W
4 |1 C- g. y( f- n" K
/* configure System module */& {8 w. j( W& L! V) g% H, |
var SysMin = xdc.useModule('xdc.runtime.SysMin');
' |' P5 i. j/ \) H, F" k4 eSysMin.bufSize = 0x1000;
/ U1 B3 b- I' z+ {3 f4 XSysMin.flushAtExit = false;! O. G6 b9 C- z5 ~
* g; u! R1 y) v J+ s
var System = xdc.useModule('xdc.runtime.System');$ A7 o/ z7 ?* e5 z8 _9 T% _
System.SupportProxy = SysMin;' j' d2 {7 p7 U7 p! x- Q5 M$ h1 t
; H0 a+ }- {$ K2 r6 f$ P9 g/* configure SysBios to use the lower half of Timer 1 */
7 Q }4 J1 p9 u8 J wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ Y( L2 m& h8 k* ~4 ?7 x3 @% S
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' p4 Y+ N( h' E( c$ S9 ETimer.timerSettings[1].master = true;# p" f C+ Z0 n2 F+ Z: u0 C, p+ Y* E T
Timer.defaultHalf = Timer.Half_LOWER;
, D9 x4 s! _* R5 P+ w# L! N5 F) UClock.timerId = 1;3 ?! E3 f+ @( k& E; n% g/ i6 A
/ ]" B1 o: ~) Q/ A* x
8 f4 R3 G/ O3 A/*! g5 ]8 L0 H' a5 v4 o
* ======== Miscellaneous Configuration ========
; ~1 ` X! p7 d o */& b$ x4 V' ?& X* z
* i) U5 P7 E$ i/ O8 j5 C( [/* set default diags mask */
( O$ l3 E+ F. }$ N6 [+ H! `var Diags = xdc.useModule('xdc.runtime.Diags');
9 @ A5 ^, Z- b5 f: ]var Defaults = xdc.useModule('xdc.runtime.Defaults');9 _ t' i6 D' } N3 f
& H* g# S' q4 ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 M ?8 W5 R- o5 k: e3 mDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
/ W; ~6 O- |4 H3 p* sDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. m% L+ f" z; q6 J: KDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ ]" {& V) o+ n3 l) wDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, o, m: c+ [! m' U! n( |0 lDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;: b# y6 z, \6 u' n# o/ f
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) @& o( d0 t1 d3 b; u' J# R6 PDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 ~+ O- P$ Q) H4 P8 R6 e) M
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: c/ B ?' I h3 a. g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( y; U$ D; a) {# X9 v: SDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( v2 T) t2 z0 g* p& X- g/ e& ?
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 B4 j" ]& p3 p$ E. k& b( yDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 B) ]3 z, D( m0 y3 O2 iDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) U9 L( K3 X4 Z: Y0 r
' x8 w* W9 M' G u( N1 }3 o
/* override diags mask for selected modules */
" ?% j: ]# g3 d# L6 q9 K; Bxdc.useModule('xdc.runtime.Main');. {0 ]9 V6 C# n) d9 E% y
Diags.setMaskMeta(" H) [. R5 I$ N' b! U
"xdc.runtime.Main",/ Z4 `+ z" p/ p; S
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ t3 M8 y7 F9 Q) K ^ Diags.RUNTIME_ON
' U9 R1 O- N2 W);3 c5 z8 ?/ M6 o5 s8 d" P
! y8 B/ P7 V5 Z3 D& n/ evar Registry = xdc.useModule('xdc.runtime.Registry');
: f/ T* Z$ y# c3 fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 O8 z& q& i5 C+ @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 }7 M$ V7 F: |7 v5 o1 V2 E
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* u0 F* l: O) o+ F! lRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 v" t* d' L* z. P
( `4 u/ z; ^4 a, F8 D5 \/* create a logger instance */: S" y' E$ ^( O
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( N2 F$ G9 L& S0 z$ k, ?; D% Mvar loggerBufP = new LoggerBuf.Params();
3 K, P( u: w0 S- K b1 f2 ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// b1 }* \5 C: T$ u" D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) O9 O% i, W+ W \5 N8 P( }/ q, `, u& M0 m
var appLogger = LoggerBuf.create(loggerBufP);
4 ]/ M. P8 z/ m$ |% qappLogger.instance.name = "AppLog_Core1";! A& L: l) X% g: G$ {; y' d
Defaults.common$.logger = appLogger;
) f% X5 q7 M- A# ~$ T) `Memory.defaultHeapSize = 0x8192;
* h; B, x4 W, V6 E/ WIdle.idleFxns[0] = "&LEDStatus";" E7 O! x; |5 W9 b1 t ?0 D5 z* Y* p
Cache.initSize.l2Size = Cache.L2Size_32K;
4 x0 r% S1 I1 l6 t7 f, u, D$ p4 Y1 B8 a9 Y! L0 d: [) B
|
|