|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 w7 Y5 ~8 y" I我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 B7 V; q. `( H7 t. G0 g
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" z; X; B2 L3 [7 n+ n
' k# q+ U) p8 X- \; V# m是不是需要在DSP.CFG中进行配置, d" o+ S' x+ f$ Z
我现在的配置为 W0 k! R% \# N# ]6 f8 Y
. W: K5 r& O4 ^0 a
/*6 h G2 c6 z& `7 c1 h$ Q
* ======== Operating System Configuration ========
& `* e9 O) L, p2 y& E */: a2 b( f3 k& k/ [) _
( s, E: \- P' X- S+ O/* no rts heap */4 A7 i) N E, G/ H+ \0 @: N: s
Program.heap = 0;6 k$ {' h9 ?+ M* f
Program.argSize = 100; /* minimum size */
- f# q8 T4 B1 c6 LProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大% o. Q7 @2 e1 b+ C+ U$ i$ m8 b- W
( p3 O9 i1 X, z/ y6 C2 b/* create a default heap */
e* M: e& w) w$ _var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 G( b) k/ y+ J+ b m
var heapMemParams = new HeapMem.Params();6 u* b( z2 V; U! c0 ]& D
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 ?4 ]6 e( ?/ E0 f2 c
5 |) \8 v; D0 |- \; }+ Gvar Memory = xdc.useModule('xdc.runtime.Memory');. {% U' I3 z4 r* h! q+ V
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 I+ i. R% ]/ j( B$ ?2 R$ I
; O/ v* B6 z8 N2 H/* configure System module */
/ \( N. k2 d& l4 Evar SysMin = xdc.useModule('xdc.runtime.SysMin');
[6 I/ _& k5 r2 G0 B- XSysMin.bufSize = 0x1000;; i& M0 V/ U+ c" g
SysMin.flushAtExit = false;) A5 w; x/ e/ u' A
) e1 t# U) T S
var System = xdc.useModule('xdc.runtime.System');) F) d, b1 \2 A' p! i+ p9 b+ b
System.SupportProxy = SysMin;
& h+ D0 O0 a; X) q f; W0 C+ ?" p
/* configure SysBios to use the lower half of Timer 1 */
. A+ I( P* ]+ O6 }var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# K0 z$ t* }; t; x5 J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');: j/ z) j5 x5 n/ x
Timer.timerSettings[1].master = true;
) c& g& A4 f8 i6 ^/ y0 c8 E+ [( m; aTimer.defaultHalf = Timer.Half_LOWER;
! N _9 D! P; B# j* w$ PClock.timerId = 1;
5 R' r% R" b( o& Q$ U, c& c3 s# Z. L# u1 r6 c! L; [' V. p& v
$ H6 z! U5 I* _5 q7 m/*
$ C# d; M1 i8 ^/ p * ======== Miscellaneous Configuration ========6 M$ K0 O3 T' O
*/6 m% J) ^+ p/ J& N( W" A
' h4 Z6 n3 |! ?. y2 U* W$ j0 p+ [/* set default diags mask */
% s& Z# a9 f1 y8 P5 Dvar Diags = xdc.useModule('xdc.runtime.Diags');
3 g$ C4 \9 W8 l5 Dvar Defaults = xdc.useModule('xdc.runtime.Defaults');& b4 L$ D# a4 m" k* J$ e- B
1 s% F1 c8 r) z7 l+ X* HDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: R' e% |( @7 O- C* k2 m$ ^
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 P% F" s' S9 R/ z6 F& q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 I8 c6 n# l) w, `/ V6 J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 K Y$ e6 p( {- R$ }+ QDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
: s. J" d5 C2 G& e% m' f$ Q7 h5 JDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;- A. ]' c3 |- w4 O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" d- ^& ]8 |0 X' y7 n8 vDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: A$ p$ Y8 L7 b$ _% NDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# F$ n- }& }3 G1 T5 r' x W
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 p/ K8 G) s0 vDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& M4 J7 s4 Z1 W i# X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" {7 z, { o% M. ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 m2 \0 S7 K8 o0 O0 ~0 J
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 k4 ?% r7 j, H' L( b0 c7 j. H7 g2 h
8 E M3 J X/ B) q s1 {5 J3 |/* override diags mask for selected modules */% `) c- R% w R1 Q
xdc.useModule('xdc.runtime.Main');
- y& A4 S, J8 y& U' EDiags.setMaskMeta(' t# p9 K( l! O, N
"xdc.runtime.Main",
" A j- @; {( d: E: n& R Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ F% @/ J0 V; _) e+ e; S- G Diags.RUNTIME_ON
8 i: Z7 o" x$ [% t);
9 X' R/ p" s3 a I/ [0 U% z+ G' Z0 V8 ]
var Registry = xdc.useModule('xdc.runtime.Registry');
' U% U& W% D3 @Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; G6 j& ?9 O( g; o7 P
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;. q9 f) o6 |7 o) ^
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
" \; \* u+ S( m! BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 S; P) `# m' U3 S- ]7 b( @2 A3 ~* {. U8 p
/* create a logger instance */: `) V3 Y/ }. |8 Q0 l% [! U
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 ^# f) h, A/ yvar loggerBufP = new LoggerBuf.Params();
. \, c8 K+ ]" X, [( h) X! c- `5 gloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' H, S( i, O Z. r! G: X: ?7 n2 UloggerBufP.bufType = LoggerBuf.BufType_FIXED;9 Y+ W+ C. s2 D, o& Q/ J
& ^9 h. y; w5 K" n4 k+ Q
var appLogger = LoggerBuf.create(loggerBufP);
# z7 o# I r" S8 t+ H1 e3 s4 A eappLogger.instance.name = "AppLog_Core1";, r' u* F( @$ G1 P+ ~
Defaults.common$.logger = appLogger;
# ?/ b! S- Y+ x8 n# @* `( M- `Memory.defaultHeapSize = 0x8192; / S8 ?, k6 f/ R% p
Idle.idleFxns[0] = "&LEDStatus";
( r2 j* q. h4 R( UCache.initSize.l2Size = Cache.L2Size_32K;/ s) ^8 v/ E$ C
$ M5 f0 ?7 H/ ~$ H3 y* ?+ S& n' t |
|