|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, E( T7 z5 o7 r9 Q4 ?
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 X) w1 i4 V% \ C f; d. M
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& f3 D0 u. e$ Z
% t: D' A5 `0 O是不是需要在DSP.CFG中进行配置
* Q: g! @# K9 s/ q- J我现在的配置为9 j6 b0 _0 ?; r" G5 R( f1 `8 O( r
2 P% y/ g5 s/ i* L7 W6 N3 x/*
5 ~5 k: ?9 M! h8 s0 d. a * ======== Operating System Configuration ========& U% y0 ]/ v! X% {1 {6 J, |: w; D
*/
. R0 j0 V( ]% r7 H+ ~! v$ e2 N
) e5 b; [% \% p/ k! c/ W/* no rts heap */
2 Y% E, s+ E/ U; K9 kProgram.heap = 0;3 O, `0 |- [4 c) z Q8 T# {4 J
Program.argSize = 100; /* minimum size */5 K1 a& F, v6 Z. M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ h( F3 ]2 i+ j# g% w0 C3 C9 `1 n9 A4 t- M! {: b
/* create a default heap */$ e \$ j+ s# j
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# n/ Y: E. S: s V; hvar heapMemParams = new HeapMem.Params();% Z2 k1 P7 e+ B/ w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# u1 G2 F( ~( C8 M% ]: m& E
& Q ^- A) O0 {
var Memory = xdc.useModule('xdc.runtime.Memory');
% ` r/ ]; W& `6 i0 y, O4 i% KMemory.defaultHeapInstance = HeapMem.create(heapMemParams);& n+ i% V4 r% B$ S$ {7 l, `$ f8 d
8 O& c( S& b0 R( l9 C( d0 I: [6 ^/* configure System module */ K" @8 g# Y+ D) V( o. i U
var SysMin = xdc.useModule('xdc.runtime.SysMin');$ t0 R! g* M; T6 O e& q
SysMin.bufSize = 0x1000;
5 Q- M7 d; m1 tSysMin.flushAtExit = false;# u0 u0 K! O$ O6 K) ^4 K1 ^
. F2 n" G3 E7 o( n
var System = xdc.useModule('xdc.runtime.System');3 r% h$ \/ U2 o4 ?. P
System.SupportProxy = SysMin;
; _& J1 j1 Z: h# P8 |+ T& }5 g0 e2 r3 l0 ~
/* configure SysBios to use the lower half of Timer 1 */( r( ^, ~+ }% k$ \; m
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 L: M' `0 \, v) k y) c2 }
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 G2 S( H# K" f n6 f
Timer.timerSettings[1].master = true;
$ y8 F, G5 m- N$ c: P$ j# ?Timer.defaultHalf = Timer.Half_LOWER;
2 P5 P5 X" A# C1 LClock.timerId = 1;
" k4 f" @# U2 K2 u
1 G8 D* W3 b! r+ U) l0 p) J- G4 D& X2 I- L6 G& Y* J5 d* ~* O
/*
; G* e+ V! _" d* Y+ _ * ======== Miscellaneous Configuration ========
4 w. q( E8 a9 _) s */
* ?/ a: _5 B, R8 m2 o& e/ D x8 j% @5 v T) y; ]( _0 M+ K
/* set default diags mask */
5 |7 ]) `# \2 E; rvar Diags = xdc.useModule('xdc.runtime.Diags');5 k% h; z, `' U- g w1 r3 P
var Defaults = xdc.useModule('xdc.runtime.Defaults');
/ w, S. h* ^( f0 S" D$ {8 ?/ m, Q1 E/ @0 C
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 {7 S9 p0 g/ M7 ?Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 q- _! s; c6 VDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; r6 i1 k. U* K5 r7 H7 O
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" a X" |; b, L! V; e6 C. {% ZDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
: b+ I4 o( L6 z$ I: d! JDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;) l+ x4 _( X" l+ X9 F
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;* W2 s" u: {. i% y, o
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, c. `1 T0 r/ G ^0 G
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* N$ O W) W% K; U! TDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! C. i, `6 {, ?" ^Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# t6 Y8 [2 F2 L5 C4 p0 }1 K" P) FDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* K$ X C% ~4 x* [9 yDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;% H; D3 B! E" ]# K9 [" O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 p/ h2 \+ J/ O
8 D9 ?6 k6 \( ^
/* override diags mask for selected modules */& k, l3 `/ M, Q) q* v1 p
xdc.useModule('xdc.runtime.Main');
. I% y4 m6 o* H' q/ W7 y; JDiags.setMaskMeta(
. m) F: G* q9 w "xdc.runtime.Main",2 v$ u/ f% }( f( z
Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 J6 h) J$ w5 R1 [# W( U5 v Diags.RUNTIME_ON
; C0 G( h$ Z) F3 [4 p+ V);
; q+ N' z# Q( E
% n J4 f& T$ J- kvar Registry = xdc.useModule('xdc.runtime.Registry');
% v! c% x8 q, G) ]$ ^0 }; z: Q; zRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 `- ?* P" Q7 T6 M A) A0 w3 a s/ O3 r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 I0 Y9 q% Y6 Q% d+ zRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 z( o) `# u2 q' ?+ F
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) f) I/ V/ ?6 S! r. q5 w: y. O! \4 A$ ~: \6 T( Q7 {
/* create a logger instance */6 x9 L3 Q: b8 ~1 Q0 C/ ]
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ \/ p6 F" C5 [, n2 ` `7 xvar loggerBufP = new LoggerBuf.Params();
# z. v( _) H9 N+ R, Y8 ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- \, r5 B; t1 R) ^, l4 l, L1 [loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) p( t7 ~5 n) }# n: G# l9 @; P" g; A+ O, s
var appLogger = LoggerBuf.create(loggerBufP);1 ], Z* r: f5 s" D/ h$ K3 U
appLogger.instance.name = "AppLog_Core1";
$ l2 G9 }+ M0 T' r! g$ c' JDefaults.common$.logger = appLogger;5 N& {5 T4 O6 i5 z+ P# [: ^7 T
Memory.defaultHeapSize = 0x8192;
1 v7 z M: d, C! K& {0 {1 eIdle.idleFxns[0] = "&LEDStatus";+ z4 ^( l3 r! E o1 B: I
Cache.initSize.l2Size = Cache.L2Size_32K;
) |9 m4 k* g$ u$ u( E- F+ D$ B' y& K8 ~; ?( w1 E+ L' B( z
|
|