|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( L) f( q% s/ l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 m3 Z6 d3 e9 Z( P. |1 h
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ s) ~8 y7 w" k' ?
7 y* H1 p9 l% l: x5 ?5 }6 H3 m
是不是需要在DSP.CFG中进行配置8 Q9 G a( k0 h$ }6 H8 }
我现在的配置为
5 r& j2 F0 h/ }/ i$ q" u+ a5 e0 `0 \+ R. [
/*) G" |! s) k( _* X# a% o
* ======== Operating System Configuration ========
3 e$ Q# v7 x) |0 g ^ */
7 L& e4 D% x4 p F3 F6 I
3 P, d9 _- E% `/ o/ H/* no rts heap */" y8 J- W, L8 ]7 z
Program.heap = 0;
, T9 L: X/ M1 {( H$ ~Program.argSize = 100; /* minimum size */* I& g1 z# _; {1 [
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& H2 Q. t$ Q, T/ v, }; Q
9 q9 m3 S3 ~+ [4 D: v/* create a default heap */
8 C7 ^7 Y+ i5 cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 D$ K! V+ W9 h/ `8 c2 O
var heapMemParams = new HeapMem.Params();7 T7 Q6 S" B, Q: }
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ E) }' k/ o- y% e) p
, E: _9 W) a4 ^. W2 o; ^, g# W
var Memory = xdc.useModule('xdc.runtime.Memory');: {1 B7 W6 ]- ?4 G/ G
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
, t$ R% I/ L n" r( u) V
. M7 D5 x; R. s5 A8 \ P4 |/* configure System module */
) Z2 I0 H" _6 q2 c) @var SysMin = xdc.useModule('xdc.runtime.SysMin');
: Z" ~9 {5 j K, S1 g- MSysMin.bufSize = 0x1000;0 f0 y2 X- [2 K% I I( e
SysMin.flushAtExit = false;
9 f7 a. j; o& ~$ x8 f+ ?5 y+ k8 a" c* |
var System = xdc.useModule('xdc.runtime.System');
* \6 D# x M+ ^. a2 e* eSystem.SupportProxy = SysMin;8 {, x5 R% Q3 _) h* G7 d! A9 d
. d9 T6 S m' T/ \( h' _: _/* configure SysBios to use the lower half of Timer 1 */
5 S* F6 }6 C+ W0 y& _, I* W4 F( C" \var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# c: Q6 O8 q; ^8 W/ D7 Jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');) Y" K' G1 V2 a6 |: L! H
Timer.timerSettings[1].master = true;
2 ^; B1 P, r. q$ Q% dTimer.defaultHalf = Timer.Half_LOWER;
, t O$ n1 c% c6 R' SClock.timerId = 1;4 ] ], m5 D- S& M
: l6 ]+ _; n, W5 N; @ o/ V( V
, p! Z4 W$ h3 ]1 K# a: ]2 S7 L/*
0 d! Y( c& H+ O * ======== Miscellaneous Configuration ========
7 r* E" J: Z. \( _ */
3 f6 |8 a5 M7 ], H( O+ s ]5 |: R; Z( d8 k! r4 _( r* x V& H
/* set default diags mask */
1 X3 B4 h; [ Q6 W, T! _. ]var Diags = xdc.useModule('xdc.runtime.Diags');
- g1 h# A8 G( Avar Defaults = xdc.useModule('xdc.runtime.Defaults');* K- e; r% }9 b- f& F8 B# t
5 N- H. A( @; S+ U+ {" \Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 u" p& ]/ l- |# @% A5 ]
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 I& B6 E. a3 L0 [) W
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 E' W1 q: I( N! `Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ v' T' Y' ~; u
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 |! o0 e0 t2 E* g( JDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) i& H+ R1 S& \- a. N- ^Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 o, [$ Z) Z M6 Z& }% o$ V: ?) m6 ^! ADefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 Q) r4 Q4 N2 E- r" ~2 M
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( I; g: f0 @1 U9 n% F
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF; u7 u- r s: V* d8 g R2 T! M* [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ {, j) F5 O4 W# p! T$ F0 D1 i/ z; }Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* F& t6 H/ O9 i, q; N
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 @$ \; R# E0 K' H F+ `
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;: F8 {2 ]# Q0 X' K/ ]$ }6 b3 J
: w! \4 E1 ? |. R
/* override diags mask for selected modules */( _2 U& T6 o" T. Y5 F" C
xdc.useModule('xdc.runtime.Main');
5 e$ q. S4 ]& `5 i7 A% E9 o9 BDiags.setMaskMeta(2 M1 h+ D; H9 v8 X
"xdc.runtime.Main",+ i$ l( y$ H R$ l3 a
Diags.ENTRY | Diags.EXIT | Diags.INFO,7 Z# P+ e" Y9 D4 Y- N& L
Diags.RUNTIME_ON; ]' p: n9 x- h! e' v
);
- @( U/ d* K5 {7 Z3 o4 Y3 u( r4 S$ `, }: U4 c$ @
var Registry = xdc.useModule('xdc.runtime.Registry');0 K& E4 Q& U) `5 k4 R( f
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 M a) A" G0 ~. [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ \' v2 B4 ^8 t' o- {: ~2 p( uRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
, q( V% n$ F; ]" s+ R6 jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, ^. [" ^7 a' z" f/ H4 C# W" y* a- [2 `3 k* q3 z }" a+ h
/* create a logger instance */
4 c1 I1 Z7 k' R+ s: b" ]2 K* @: e2 Yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ B) Q% Q' s6 ^% m8 S, a
var loggerBufP = new LoggerBuf.Params();
, a- s8 s+ p: A C* E2 U/ gloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! I5 q0 d& Z2 s: g
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# G2 E- `9 z, ^* E: A: }1 i, j1 R
3 n& c7 }' r9 ?+ |% C4 g3 A1 T
var appLogger = LoggerBuf.create(loggerBufP);
g$ z0 d! ] G8 cappLogger.instance.name = "AppLog_Core1"; r, D7 a1 a1 ]* W0 D; y
Defaults.common$.logger = appLogger;
8 A2 Q8 ?4 q6 s' A) q/ ~9 _1 e3 r% FMemory.defaultHeapSize = 0x8192; ! J/ g) @3 ^1 v4 f/ w
Idle.idleFxns[0] = "&LEDStatus";
, n0 m% @9 i+ Z5 A2 h6 PCache.initSize.l2Size = Cache.L2Size_32K;+ p* N# ~: S, ^! N, P' X' P/ N
& T6 W! r/ j, o/ g4 l
|
|