|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 h6 t+ W$ q% q) S. g+ i
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 D9 _( @/ I0 g+ ^7 h, H
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 {3 j9 S6 \7 B: N! ^3 V! w/ S
& Z- f) Q+ I/ e% d; r/ |! p
是不是需要在DSP.CFG中进行配置
1 L2 ?: C; F/ M0 H7 F. v我现在的配置为
3 u. v: ^3 r: ?9 g
$ j* n G X- v$ K' U7 v/*- I) u; j5 z- B5 E& l3 I1 [
* ======== Operating System Configuration ======== n4 J/ I) T7 A' \$ Q+ r
*/, ?/ j& F% L/ B' Z% R$ {! w
1 v' F* H: Y# y/* no rts heap */
$ ^0 j }7 @+ q- G: G7 p, {Program.heap = 0;
" C! A T& L- n5 W1 DProgram.argSize = 100; /* minimum size */
. u5 C( |. u9 {& |4 a1 NProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# n8 y: u* L% h" o# D* H* ?- z* ]' o4 l' v3 M
/* create a default heap */" [0 J* ?, [. g" C1 Z8 k
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( X% Y, x! d* W G
var heapMemParams = new HeapMem.Params();
% P6 X5 x, q: U% F; e4 FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 o0 j' Y- m: ]
9 T; C1 X: ?) i- _" m2 Evar Memory = xdc.useModule('xdc.runtime.Memory');" _! }* ~& [9 R$ b6 W
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);, H* H7 T# V# `5 C* a! s$ f- A) X$ \
0 k' W! z; S2 W/ V) _/* configure System module */, s0 i* g' A1 E& @9 f, i+ f
var SysMin = xdc.useModule('xdc.runtime.SysMin');5 j9 k+ {! B, B( ~* F
SysMin.bufSize = 0x1000;( v) o8 z( ~+ _% E! y
SysMin.flushAtExit = false;
' e2 s$ _- w; |. a9 P: m/ \9 J; o$ i1 ~. g
var System = xdc.useModule('xdc.runtime.System');
A! F9 ^$ ], i! w ySystem.SupportProxy = SysMin;; T. b- ]6 a+ o: J1 y
/ g) S6 s- T9 y1 k9 Q& t5 `
/* configure SysBios to use the lower half of Timer 1 */, H2 p3 \/ q: c9 o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 C1 q* c' S K& F4 }4 S! d8 D
var Clock = xdc.useModule('ti.sysbios.knl.Clock');4 P! }5 r3 D+ D3 |
Timer.timerSettings[1].master = true;
9 x m6 S4 E& b. QTimer.defaultHalf = Timer.Half_LOWER;1 K6 U+ i3 H! I5 l% u) ]
Clock.timerId = 1;
% t) f* i$ C4 U3 Z4 H. S- @: K& {2 V9 H& r) Y" U* j9 k
/ `# }* v3 Q. g5 h0 X5 E/*
& R' O1 u( i9 E s8 t( i$ z * ======== Miscellaneous Configuration ========: h( u# B+ E% Q0 }2 n/ V
*/: t. p6 o) ~. p* S% F
* T; l: M# v; Y/* set default diags mask */
* S; s4 p F4 ?7 B7 }var Diags = xdc.useModule('xdc.runtime.Diags');
, c- z) Q5 l- [( w; @, L' jvar Defaults = xdc.useModule('xdc.runtime.Defaults');$ C, u. G7 I3 V. u
' m+ M* a- @8 R( w8 q5 P, R7 b
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: y4 z7 i g1 r4 tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& J1 N+ Y l _. m3 ~, h1 p
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;) q, F' ]! [! J1 p6 \
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) W2 }4 U4 R9 x! B2 `3 D cDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* e) N2 i# b2 q4 q, C* B1 w5 NDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& D4 j* e' A# G" _& E7 X: y8 JDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" A% [! V7 A7 H* O5 C7 UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
/ `# m) [5 ~& m+ b/ j6 eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
1 A& y9 X% Q5 b h" cDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ |3 Q8 m; k1 y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 }& h/ h6 V6 {7 P( pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" x* p3 N( ?9 ~1 ?$ @1 f. d mDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 m0 D4 D6 k* P5 NDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' v7 E9 v7 J- l6 i+ e! K: D
+ }: n6 K) A: y5 u, A) L
/* override diags mask for selected modules */" w0 W' u/ |3 u; f2 e; ?$ a
xdc.useModule('xdc.runtime.Main');
1 r7 }" X& t% z8 @1 P5 ODiags.setMaskMeta(+ j* Y: |3 B7 L. i1 e
"xdc.runtime.Main",
% G$ q; ]( i. Y c# e2 v$ ]# ^ Diags.ENTRY | Diags.EXIT | Diags.INFO,
, e( V# _& C& ~& h9 K Diags.RUNTIME_ON
7 J( j) u+ y7 m8 l. M0 c) I);1 a- b) `' S* r: g F6 o6 |
# ^2 t% ^% e% \/ s7 d! q
var Registry = xdc.useModule('xdc.runtime.Registry');
+ n& k+ ~& n( a2 }Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! A7 W/ W$ `! I% ~+ ]5 Z! f7 p# FRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;" {) d* {% k9 l0 h C( ]
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;) E) G1 T! x! Q% s* \% S: `0 }
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 u* V5 h" X5 w B/ Y2 p+ |
, s" l c: w5 O" z7 [/* create a logger instance */
5 {3 F6 {! j. d0 s* t b5 pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); X! r5 s1 K) o& h- s
var loggerBufP = new LoggerBuf.Params();
6 ?. z- J7 R5 |$ S PloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" q. G/ p! j5 a8 _
loggerBufP.bufType = LoggerBuf.BufType_FIXED;2 s+ @; v6 n, Q
. Z; N! f0 r+ p( wvar appLogger = LoggerBuf.create(loggerBufP);
3 w. X* `' q7 n7 B$ NappLogger.instance.name = "AppLog_Core1";
* A1 L- g; Z' J1 x! B. oDefaults.common$.logger = appLogger;. A( r3 x. O* P C- [. U
Memory.defaultHeapSize = 0x8192;
5 A' L# A' k4 x+ v+ vIdle.idleFxns[0] = "&LEDStatus";
7 F1 }2 K0 g. m- A0 U GCache.initSize.l2Size = Cache.L2Size_32K; K. L, U2 ^3 r* G+ t# L! h
' t4 Y! d8 O$ s" Y4 o9 r
|
|