|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ z5 f$ O- v n- s0 B: ]1 Q* X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- y: K" u, e! i' B(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ H, Y& \2 Q7 g; z" M! E+ E
/ ~+ k. z7 r* q S
是不是需要在DSP.CFG中进行配置
5 y, k0 J# [6 j9 O: z7 A7 J8 Q我现在的配置为: D# l1 C8 c& C! O% u# l* b; _% @
: K! |% r3 g) z* D# y% P9 @
/*' P1 ?) a8 J5 g0 I- Y( B$ E
* ======== Operating System Configuration ========
/ |1 h9 _3 |+ }% Z+ q */* G' g+ I( e1 y |8 q
. R3 c; z/ a- j/* no rts heap */5 l# N, k" ?; O3 \
Program.heap = 0;
% U( o) T0 K% W8 d9 }& YProgram.argSize = 100; /* minimum size */3 x8 C L1 P; e. A( Q$ T5 A7 X7 G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ s7 X2 V. m8 b8 y" k, k6 z- L
( U ^9 h" p9 \3 B/ Y/* create a default heap */, u5 t2 \) ]* n: q; ~' r' z$ h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# O' [; ]& B2 wvar heapMemParams = new HeapMem.Params();
) x' u+ j' n7 yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ M5 P9 O$ D: w
; R. k. H5 G: w" E; r5 Q
var Memory = xdc.useModule('xdc.runtime.Memory');
! M I4 p0 K/ k R6 E- i+ o1 E# LMemory.defaultHeapInstance = HeapMem.create(heapMemParams);4 ]# o) Q& Z% ], r, D% b# [
4 I' E2 C% F, W6 E/* configure System module */5 \9 E; |# B$ M; V) P# Q
var SysMin = xdc.useModule('xdc.runtime.SysMin');
( i' O3 Q* ~1 N' Z' V: wSysMin.bufSize = 0x1000;
0 _: {5 f! G3 c8 TSysMin.flushAtExit = false;
' \# F6 ?6 Z& ]2 ?; n, x8 O6 ]! |$ ^5 I
var System = xdc.useModule('xdc.runtime.System');
. ]9 E& Y R d6 P; |System.SupportProxy = SysMin;
2 k2 a, F3 t4 d4 }
% ]% T$ c* R# y' O5 d) A% j' J/* configure SysBios to use the lower half of Timer 1 */
# N/ E q* e4 F- d6 ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); _0 Z( y* p1 }; `: z1 ^8 Q) C
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 z7 h& B" B' K6 X/ ?0 o4 O
Timer.timerSettings[1].master = true;: p% ]) n+ j0 n7 U# a. s- t
Timer.defaultHalf = Timer.Half_LOWER;. t Z* o+ G& M2 d. v o
Clock.timerId = 1;
2 | z0 _6 q9 O6 F) [9 I6 ^% N. l7 y2 F3 r' H
+ _- o2 ]. b8 Q4 a2 D5 J6 O' O3 m
/*3 Z; Y/ B+ r- |. ?& a& ?3 h% `
* ======== Miscellaneous Configuration ========. w5 m; z$ ?4 Y; K3 a; [3 O
*/
& S: c; u: O( o6 N7 }, J, y' S6 v' p4 q, K, V
/* set default diags mask */4 T, e$ U: C/ b8 c
var Diags = xdc.useModule('xdc.runtime.Diags');
6 d' g' p3 v% p* D& l$ avar Defaults = xdc.useModule('xdc.runtime.Defaults');6 j* E1 f; T1 G$ Q+ T
8 w$ C$ O7 j. n) c, a4 d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& |- x3 P0 c5 U" W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 s, ^" a% }; Z$ J9 A
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 H$ x0 C; W) o; F; K- N9 e
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 Q" [! @2 w. W/ | K) yDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- f$ _4 V5 s" x3 I: g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;& }$ Q# O* a8 F6 { U/ U; d
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 B) w a' F& D, Y9 @9 Y7 mDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# A, A# F4 u$ t7 H$ N; D6 d7 o& C
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 I# ~7 o+ B( j' j5 o
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, x( }9 D/ D) o4 f. A* A1 ~
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ j9 B, l6 y/ n6 c; k0 |& LDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# |& A8 I% ?) vDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ R3 O% r: N9 B+ l8 I
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ |) J& T. e# Q. g9 v3 j7 ^) U" R) z; X- H4 e- S7 D
/* override diags mask for selected modules */7 J% H/ n' e4 ?# }& X" e F
xdc.useModule('xdc.runtime.Main');
1 Y$ q' q6 `% a3 l1 sDiags.setMaskMeta(9 i: ~, T/ r8 r! P
"xdc.runtime.Main"," H4 G* }- `& ^+ U3 _
Diags.ENTRY | Diags.EXIT | Diags.INFO,; | x$ l) M4 {
Diags.RUNTIME_ON
' s+ b1 Z2 v h4 a5 f% d);* |! w' z4 b9 V! s9 @) v
- T! t5 F g+ `! Z! i2 a3 Q: K
var Registry = xdc.useModule('xdc.runtime.Registry');$ ?, L' z# Z4 f+ }. ]8 T! s
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
: v5 f* c) R0 C6 U( IRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 u+ ]" W- d1 L9 T& D
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- F! A# q# n0 Q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ F% D# o" W9 s' ^ w
$ ~1 a8 y* @$ [7 [8 G+ ~, Q. T6 X/* create a logger instance */
: k8 n' J6 x" p7 q3 \) e/ W- |1 H+ W% ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& E7 L: I! \/ {) g, \
var loggerBufP = new LoggerBuf.Params();
2 Z9 p7 j/ j5 e) G' Y! EloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 I! J' S0 H4 i- d5 DloggerBufP.bufType = LoggerBuf.BufType_FIXED;- t& w9 A: Q$ V7 R7 N( x8 U; Q
1 F8 }, Y L/ ^+ K
var appLogger = LoggerBuf.create(loggerBufP);, s8 d3 f6 p- b6 J, j
appLogger.instance.name = "AppLog_Core1";
3 J" {# X6 \" f# iDefaults.common$.logger = appLogger;7 E! k) x7 e: m' u5 |
Memory.defaultHeapSize = 0x8192;
) Y5 W" _) x8 d6 T/ u' IIdle.idleFxns[0] = "&LEDStatus";/ u/ [4 {% S$ {
Cache.initSize.l2Size = Cache.L2Size_32K;# N+ C8 Z) }) W2 P2 o
( C. s: @' e4 o3 Q# E5 Z
|
|