|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: s$ E: U" \+ Y6 p3 x! G我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 D8 C# `9 W( o: Q H(不过疑惑的是,为何单独DSP仿真就没有问题呢?), [ [ V {1 A$ e
* j3 c; k/ y: q% j% H# D$ l% U x是不是需要在DSP.CFG中进行配置9 m# N& \0 H+ O; `, o3 f
我现在的配置为3 ^# g% o! S# X3 V% h5 `
# ]# u3 h3 b, y. X! A7 b( R) S/ f# F' t
/*; ]) I" K M* b9 I* P( y/ ]8 [
* ======== Operating System Configuration ========6 l& r6 y$ o' n$ [+ F6 i
*/2 D. \4 ^) V& n8 x
) ~0 K2 H5 q1 _; J7 F6 ^/* no rts heap */* P; m f7 f c3 \
Program.heap = 0;
2 T. Z3 Z# ?9 A9 e6 fProgram.argSize = 100; /* minimum size */
3 \# U5 O/ B+ GProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ w: A8 }9 k* |( z3 r- t
9 z: W( K8 D* ~9 T5 k/* create a default heap */$ Y A$ K) G, b/ v! f
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 O- ~7 W; }( V$ }6 F5 j$ v
var heapMemParams = new HeapMem.Params();
1 w1 q' n; X; R( T theapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 X: m) N& {) V" e2 G2 ?9 P' Y
6 ^+ ~; b& o Hvar Memory = xdc.useModule('xdc.runtime.Memory');" R: U, z# T5 {3 x5 S" L6 Q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' J2 J- d2 R2 E8 r& d
+ ~. u' P* n, I& ]/* configure System module */
* Q+ R4 u0 \2 @3 y2 Vvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; H% L' k) z: U4 q' _SysMin.bufSize = 0x1000;
) [# w4 C- _' t( N0 FSysMin.flushAtExit = false;
# }" ]( Z* T Y* Q" C3 u6 I0 Z( i; ~- d; o! M
var System = xdc.useModule('xdc.runtime.System');% l6 n5 z$ f% N; i; b
System.SupportProxy = SysMin;
5 u' a: I" _6 r
) {) X- n( C; `* C/* configure SysBios to use the lower half of Timer 1 */- R& W* e" X( C8 o( ^- j
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# x# T2 L' U/ |5 x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 j9 B7 u3 r8 [2 F! {Timer.timerSettings[1].master = true;
2 g8 d- S4 x+ n6 k+ n ?Timer.defaultHalf = Timer.Half_LOWER;! K0 J# p+ U7 T, {$ [
Clock.timerId = 1;7 w: u& Z/ }7 \, W7 B
. _+ {; r; k8 ?0 Z
& x: f ?/ x9 E) j0 O, V9 D/*
4 H, J9 X3 ~# s' M0 H, n8 E0 [ * ======== Miscellaneous Configuration ========/ a" L) G6 D% ]1 P1 T3 a
*/3 j: N; r9 n8 T$ M" T1 t; W
, \9 P8 R+ H( i" d9 U2 k. m
/* set default diags mask */& o- F4 A! v& i4 u& c
var Diags = xdc.useModule('xdc.runtime.Diags');
8 Q$ _6 ^1 n8 o0 H9 R% {var Defaults = xdc.useModule('xdc.runtime.Defaults');- B8 W' E/ m0 t E
; ~% R1 ^3 F3 G
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 {/ |4 ]) |* B, ODefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 ~* W* Y. Y" n* H
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; R4 G' p, |( R0 S; }
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* G2 N2 s# B+ i9 T$ pDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, f+ E9 B/ Z- Q' b8 O% N- n8 J
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;' R6 Q/ b5 ]7 B4 o i8 @( W$ _
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- w- b/ R* p" a" |4 G/ bDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 t8 f, y, K# H$ E2 R" G7 O
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 c2 d, r6 W+ z, V, ~$ @# u
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: z# u0 F0 W# d0 pDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" @% G/ a( T! {7 p
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- p# S1 H& S; ~2 x. \# {" E, K" y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ U, z6 w: D1 K. m0 s* m; h+ |
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 L8 w( Z6 ]7 S* Z8 U& w( J0 ^1 [
% i6 I! |7 g' `3 a5 \( J/* override diags mask for selected modules */0 y1 Z% d0 B- J' V: M
xdc.useModule('xdc.runtime.Main');
- |, h9 _/ Y4 \2 @% P) U i7 |Diags.setMaskMeta(
5 M: `; v# z C P$ L8 p "xdc.runtime.Main",( v, ~- q0 |0 P& u$ H, _$ a
Diags.ENTRY | Diags.EXIT | Diags.INFO,$ h4 ?+ f5 N+ M0 j, A& {5 A
Diags.RUNTIME_ON
d$ j" X+ V& `( q+ y);! s9 j s |$ ^5 [
* J; `9 h9 F7 Xvar Registry = xdc.useModule('xdc.runtime.Registry');
' G- u+ B9 E3 _8 F# VRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
: G5 H4 M, n4 s# O4 qRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 |" v7 M, o1 YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ q' K7 P& Y" F3 H3 jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" s! w% M( H2 W4 U. T3 L- ^3 y1 w& z6 @+ p
/* create a logger instance */
7 ^- ]( j5 [1 s- h9 A# M) Z8 Xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; u. K& v% _+ q8 fvar loggerBufP = new LoggerBuf.Params();; ^, c/ e, q. x, T4 l
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 e: M# J; g |loggerBufP.bufType = LoggerBuf.BufType_FIXED;2 D( L* `0 f5 B. V% u T+ u2 A: @( U
" O8 _5 G+ C9 A6 `5 [' t0 ivar appLogger = LoggerBuf.create(loggerBufP);
0 I$ p+ G7 ^ [* ]appLogger.instance.name = "AppLog_Core1";( k) b s* q3 i4 m8 i& W
Defaults.common$.logger = appLogger;# X' O' b" W5 J, @. _* i- v m
Memory.defaultHeapSize = 0x8192;
( n9 ]3 g, D9 A1 gIdle.idleFxns[0] = "&LEDStatus";
/ @4 `& a: S K2 H3 h7 ^9 DCache.initSize.l2Size = Cache.L2Size_32K;6 a, X6 o' e/ E1 h6 V
, U7 k5 ?# B+ ?$ y9 m0 l
|
|