|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' Z4 ?0 c- x$ p7 s+ L- m我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, u8 F9 O8 z! m(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) P2 `# p' a: Q2 G
8 i& A* r7 o* F9 ~& I B/ \是不是需要在DSP.CFG中进行配置! z3 c3 e& v( s& P+ w* N
我现在的配置为1 U: e( \: C- F: ^0 i" x
4 b- V" F2 ]) h% M- ` U/** ]0 F+ S$ X- K' W' Z
* ======== Operating System Configuration ========
: q8 w5 U4 ?& Q4 X: L( _8 F */
& t, l. b/ d: `2 ~, k% k3 ~+ t3 L$ c
/* no rts heap */
2 P% D) O3 V& f: a+ d: O. KProgram.heap = 0;
2 J& h7 I1 @4 n2 x/ p$ OProgram.argSize = 100; /* minimum size */
/ @+ t; s9 r. `# [, rProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ D: X% h9 d/ o1 g$ s
$ I: K8 C( L5 L$ `! N0 ?/* create a default heap */
, V+ W8 ~+ F3 i0 g/ _* Y! [2 Nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
U* y y, o5 v1 U! q. \var heapMemParams = new HeapMem.Params();9 R; M; l( o' l+ [1 r+ e
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; l, L; ^: \. X6 V+ q+ T1 q. q. Q; ^" \: j2 G& ^' {# @4 c3 d4 F0 ~
var Memory = xdc.useModule('xdc.runtime.Memory');; X8 |+ X |! a" i
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
( F& h, ]2 I. i3 Z
. X8 X/ @+ X: w1 j4 e7 I( \) h3 H/* configure System module */# M* H# o1 f( L2 y8 m- ^: y
var SysMin = xdc.useModule('xdc.runtime.SysMin');0 z" n6 ?! w/ Y1 f7 D
SysMin.bufSize = 0x1000;! O0 L# Z: f3 q3 l" b ^: i( u* B
SysMin.flushAtExit = false; x/ h. t$ m5 q( _. ~% j
. l6 {* ?: v6 a; v9 {
var System = xdc.useModule('xdc.runtime.System');
' |9 y8 E. D. ^4 W3 M6 p4 tSystem.SupportProxy = SysMin;
$ N0 \% T+ y: V* m# H% e
- i3 [3 o$ m. L9 o8 U/* configure SysBios to use the lower half of Timer 1 */) @7 s4 s2 C. g, K! i, b* n3 I
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 N& W8 J& q# \4 m9 \0 Uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
# q6 ?, D' F" _Timer.timerSettings[1].master = true;
7 j5 z) R' A) l" ^( V4 w' wTimer.defaultHalf = Timer.Half_LOWER;
% Q' [3 W0 L1 \3 H% H) rClock.timerId = 1;
2 f4 ?' E' Y2 C8 F% g
# x V% L3 I8 I' _7 S m" D- R$ `
/*
" n; Y" y5 V9 t2 ^% P# Y/ _/ m * ======== Miscellaneous Configuration ========5 b' V4 S7 \( G; t+ ~
*/
; Y; O. }+ x# G1 y+ Y' z/ U
2 F' g( c0 z! \ O9 e/* set default diags mask */; ?% h8 c3 X- s; [" D
var Diags = xdc.useModule('xdc.runtime.Diags');
% S, T: C; H+ a) wvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 x2 t2 n( @/ b9 D
) H1 ~4 }; D" x1 C: S+ C+ kDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
O5 v$ ?' r1 E. V0 bDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 l: |5 Z0 L; d
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 D% v3 D/ m$ P; A+ s" fDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */- k1 q/ F! c7 f- f! K) q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ B# I, X/ C# y: x8 N
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;! ?, p3 E; l& H4 ~. p/ B9 y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, q3 d3 E, H8 p' F) }
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ K+ S. U ^0 O1 C* J
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. I. z. y: I9 A! L" V% _ X
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 v* E7 ? J, o
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 R% \* R2 x& eDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- v2 y- K, y8 L9 G" W) }Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% V+ T% S& v% P) B! aDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, c- m: k3 b0 X
0 @. Z3 z. g( v: l/* override diags mask for selected modules */! t: F c: x0 ?7 ~ @5 z* n
xdc.useModule('xdc.runtime.Main');0 J" a6 f- H. U4 N
Diags.setMaskMeta(
) t5 u6 o" C* e "xdc.runtime.Main",
2 a/ Y2 Y6 }" C Diags.ENTRY | Diags.EXIT | Diags.INFO,& @! K8 E, X7 c$ ]
Diags.RUNTIME_ON
- }$ u5 d: [& |- l. ?# J);6 s: U. ~ t& E/ D: _$ B
7 S' }3 d, o R
var Registry = xdc.useModule('xdc.runtime.Registry');) R4 f* j1 Q. p& V* a
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ D( {7 C5 d0 M! ~; A1 X+ g8 W, ^
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;. }5 x9 P8 r' h8 L2 T" I
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 z- O, J' Q& w$ z3 n- g2 CRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;- A" V+ j8 _: y S1 {
5 l1 V+ \" \- K' z2 F9 u0 D2 N
/* create a logger instance */
( S' }" }. ?- e+ Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, u, ?/ V, {& F1 V
var loggerBufP = new LoggerBuf.Params();% b+ x) G/ `8 n7 T2 p- ^7 @* q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( A5 X: v2 e2 G- aloggerBufP.bufType = LoggerBuf.BufType_FIXED;9 k& @( s3 o5 P; h# A
$ m' \, i6 J" R# c, d
var appLogger = LoggerBuf.create(loggerBufP);" W0 s B6 Y$ P0 }# F
appLogger.instance.name = "AppLog_Core1";' Q+ V( w h3 a, V% i7 J
Defaults.common$.logger = appLogger;& s# z5 N7 g Z( M
Memory.defaultHeapSize = 0x8192; 0 X" I5 F W& `. y0 o! s2 b) Z+ O, x
Idle.idleFxns[0] = "&LEDStatus";
% U0 I, c& f7 R: t- u$ d5 V, s0 {Cache.initSize.l2Size = Cache.L2Size_32K;
/ ]" u* k) A4 R$ q4 `
1 _- U i; C/ d2 C |
|