|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 i2 f+ U+ b/ o- q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- [, d1 Y1 A- W+ \ o(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 @; F. K2 x3 B" c5 C5 Y
7 s4 d" g& e0 F4 E$ m是不是需要在DSP.CFG中进行配置
8 N3 y& A3 i2 y; j" O我现在的配置为 T1 ]0 N" h! N3 p; p9 Z
7 m0 q" b3 q# P9 @/*
& q5 E+ o U# {+ O$ L8 ~( k * ======== Operating System Configuration ========
* ~8 B2 U+ }! U Y$ O j */
; I6 B M' y* I7 R7 m. a, k. V: |( P! _1 U! J& G
/* no rts heap */
7 u% W) [5 s W! i wProgram.heap = 0;
( {* o/ Y! q: w, k, ~0 q% A0 sProgram.argSize = 100; /* minimum size */% E+ H4 c; H8 Z+ w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ B$ q+ I0 V4 K2 A) Y. O3 z' G5 B0 a8 [7 p0 Y( ?2 |! n1 F$ L
/* create a default heap */
* R( F4 g, a: K" W* u# Kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, \$ A2 I3 P4 C8 F( E9 k! Uvar heapMemParams = new HeapMem.Params();
; J6 e* H# Z! u2 r4 L/ i4 SheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ X6 s7 ^* ~7 h, v+ c& W3 \) a
% i' r! G/ Z2 O, x' Rvar Memory = xdc.useModule('xdc.runtime.Memory');5 A/ A8 b2 P `/ I! @
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 I" f& @( [9 V- C8 ^0 {
0 W8 V8 X4 O9 Q/* configure System module */8 n7 h' ], q: P& B7 _
var SysMin = xdc.useModule('xdc.runtime.SysMin');
* }. x4 k9 w8 J2 u5 g' U# u8 RSysMin.bufSize = 0x1000;
! H/ _2 W; i# V q( b2 J' qSysMin.flushAtExit = false;
$ f* s1 c; D. P7 k# |$ }+ q9 l% m. l& d. }$ P" N
var System = xdc.useModule('xdc.runtime.System');
2 p7 n" k2 J5 s% a6 `# \5 X' ISystem.SupportProxy = SysMin;
6 I# z1 o/ m8 H+ v4 D- F2 F# M, C% |0 C4 K6 K, p3 t
/* configure SysBios to use the lower half of Timer 1 */6 n' t9 u+ ]* l- T1 M1 W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
L8 C: Z2 n5 G1 `; n0 A3 Evar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 U' j- g/ e& z- l
Timer.timerSettings[1].master = true;
8 Z8 {' j7 z$ F' r& M: s/ ?Timer.defaultHalf = Timer.Half_LOWER;' E* }4 H7 m' q& ~
Clock.timerId = 1;
* n! F+ @0 q/ x6 z% ^( _4 ~) J( S4 h' @9 S; _4 H
4 Y& R4 d, H h/*. V/ y) W/ m- A, r! C: ?5 C i' ~
* ======== Miscellaneous Configuration ========7 g* P0 M. D! W# x# }, n4 i+ R& Y
*/ n0 c8 _$ F6 s8 T/ ?& u
1 R$ d1 a$ E0 ]4 P# @3 t
/* set default diags mask */% r# a' T0 K+ L% G
var Diags = xdc.useModule('xdc.runtime.Diags');7 t0 N2 m# p8 b0 }7 L" S: w6 I K
var Defaults = xdc.useModule('xdc.runtime.Defaults');( B( Z. y+ V- a! G4 V+ O6 M* h
7 ]/ m9 {7 ]9 |( ]/ T d2 dDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) z% e) d+ o1 ~3 \9 h. x" ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 M. `4 {( A1 ?: J$ q' n" K6 b! e
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 H/ U& C- V& H- |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 P' f2 k$ {7 l' i8 t# h
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( y% F5 |% H0 p0 c
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;" x$ r6 M+ ?" @ x3 W" L
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 M) _0 b5 C, p% j3 t, k7 J4 pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, C' G0 A; A' g+ r: g
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 G+ h6 a$ ?0 D: o2 ^Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! w% D# u2 ]/ ~) ]
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 n, O6 c4 y$ k6 T& \9 u$ W' g1 n
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ L: b; ?0 P: t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 l9 N2 ^/ n% x$ A3 H0 r
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 s% l2 Y+ O# E7 z" s; c' K) v0 i9 g! M1 {! t8 y$ ~* p6 {6 t
/* override diags mask for selected modules */
# L* z a3 R' nxdc.useModule('xdc.runtime.Main');
! T8 u- u3 d+ wDiags.setMaskMeta(3 j3 d" p- y: s1 ], K/ M5 [
"xdc.runtime.Main",
' { `0 J- f' K7 z; b Diags.ENTRY | Diags.EXIT | Diags.INFO,+ G$ g2 w. `" @/ t% T7 Q3 s. q. p
Diags.RUNTIME_ON% \" ^' d. C/ M
);- m# \2 l/ l8 H
# `( U, e9 N( }$ P% bvar Registry = xdc.useModule('xdc.runtime.Registry');1 l4 |' r. v O$ F
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ i- S& v6 f- CRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% s5 ^% r4 c5 d" W. @: z2 PRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;9 Z# W. k' g u/ ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 {, Z: ~8 ]! M) O; C4 {* a4 c4 q5 j7 P& ~
7 d3 D1 y$ m+ o W9 ] e& D& Z
/* create a logger instance */, i/ @( ?3 y4 w$ O
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: _ X' _& x; S7 m& z6 |1 b6 P1 M- q
var loggerBufP = new LoggerBuf.Params();
1 y$ n0 {- ?1 J5 ?loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* W4 _* n% ?$ ~5 x9 j* V5 ?loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' v/ W3 Y0 P: |" O' y- \- ~8 F- J) ^5 D) b6 p% ~" _8 h1 R* U4 C
var appLogger = LoggerBuf.create(loggerBufP);. u' I0 Q1 c. W, M1 X0 g# s0 p. [7 q
appLogger.instance.name = "AppLog_Core1";8 |% x o4 Y% D
Defaults.common$.logger = appLogger;
5 o% i9 E7 F9 x. V0 }Memory.defaultHeapSize = 0x8192;
5 k( H! C- A: ^. \) E, ZIdle.idleFxns[0] = "&LEDStatus";
5 m$ `5 }9 ], C7 MCache.initSize.l2Size = Cache.L2Size_32K;
' n( A$ @' T2 t" F5 u8 [3 ` @% v; c1 ` j- ?3 i# g8 O. I/ N. y
|
|