|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! i' x$ j% o+ H9 v% ]) a# H5 |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" W" Z- U6 m5 d# `! o
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! P/ j4 Y4 j' h: ~* E( W; o( V) T" i
1 A! f6 E6 C0 T8 k/ ~8 T是不是需要在DSP.CFG中进行配置
4 T! ]1 G1 n) n% H3 v7 s我现在的配置为
3 `/ a B2 \# P
, ?: Q0 x0 C/ u) ^) Z/*; i, i2 N+ j, ~ ? S7 o
* ======== Operating System Configuration ========
" O+ m- C7 J4 X& \9 m- [2 L */
! V/ Q) Q l( J. H$ Q" i
. Q& m& `, N* w% d: e/* no rts heap */
. D! p' J/ W5 ~- l$ QProgram.heap = 0;$ f+ r$ E! H" P( E7 y9 V: ~9 R
Program.argSize = 100; /* minimum size */
$ P v) h$ Q4 X% x) sProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 Q7 H% S+ v7 `* C. ^8 F$ v, o4 C9 I+ R4 A' k; @
/* create a default heap */$ d2 q8 }; `. Z9 f @8 c0 a
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ r/ J# \2 w& `/ n6 ~' K
var heapMemParams = new HeapMem.Params();
+ j' {1 u! |* K% T( ZheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& @8 V! f6 E$ o" g# h# s
9 k' H, _! ~' e" cvar Memory = xdc.useModule('xdc.runtime.Memory');. a3 X9 |/ e$ o" G+ ~( O) A* I$ i6 k4 P. d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* O+ g$ } t7 j) H
% M& |6 `" }* z+ b0 W7 n2 l- e# \' v/* configure System module */
/ q" j% P' Q- g! |. ]var SysMin = xdc.useModule('xdc.runtime.SysMin');4 ^7 x/ W5 u7 H( N4 D
SysMin.bufSize = 0x1000;
, A0 x3 q. a A2 TSysMin.flushAtExit = false;
; {+ A @6 ^( v; S1 Y6 [! `9 _+ Y0 H1 o: e) C3 s
var System = xdc.useModule('xdc.runtime.System');
/ v9 h3 J* B% M! O6 sSystem.SupportProxy = SysMin;
) d& f6 J7 \4 d! J7 i
% K9 w1 R( R1 m* `! s" N/* configure SysBios to use the lower half of Timer 1 */
9 J( V7 p9 k8 v' a/ q7 Zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; s {4 e- H- u$ [3 ~, k/ g/ I7 Rvar Clock = xdc.useModule('ti.sysbios.knl.Clock');$ C8 j9 k6 ]" ^9 J$ `% b
Timer.timerSettings[1].master = true;+ @4 z9 m: \/ J8 x/ o
Timer.defaultHalf = Timer.Half_LOWER;
# T% y$ h+ M4 @* O0 ~Clock.timerId = 1;6 {6 {* ~' @- y- }& [
. o0 m- }- _8 ~. R& n ~( V0 m- ~6 Z" \7 t" d
/*) M7 R- c, X' ~
* ======== Miscellaneous Configuration ========2 a2 \7 G1 c I% G
*/& c8 _- S( ~, l/ G1 }. S
3 Y) L: }/ K; l* N7 y( E4 g
/* set default diags mask */
, G- R3 N/ ]. H; Cvar Diags = xdc.useModule('xdc.runtime.Diags');# e3 W8 {9 t) j+ r# m8 B
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 c4 R8 `1 l# u! q: U' w* j0 |/ q
" @) }( m" \1 i$ O8 V6 ]+ p; p6 eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* V& d- b5 i- GDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 y, _4 D: f" P5 K9 ~* cDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ a! Y3 _; m1 x4 L3 B9 ~
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 J$ I3 k2 K7 u9 c7 J
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! O* N- o9 W* Y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ J- `$ V+ _8 H& @+ v' i
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 O# r. j+ R x5 i" C; a/ nDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ }" E% D; U+ T9 _8 U: F. W
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* F: R$ A9 x! `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 K) j' u" q; qDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 C6 p5 v- W4 a1 A/ y) H; f
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 u. z1 V( w6 L6 \: g* A2 F
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 Q! C! ?$ F8 A8 a5 c; P. _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& d/ q# H f% ]( Q6 x$ R! V R0 @
I g. p2 O8 |- ?
/* override diags mask for selected modules */" I. i6 ?3 L. a" i4 X! C
xdc.useModule('xdc.runtime.Main');
- z" t& l) @+ O6 W/ _Diags.setMaskMeta(" N8 E x9 @& ?/ L! ^
"xdc.runtime.Main",
7 i; j) H) T# L4 A4 V5 Y9 q Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ ~% y* d$ M. m% k" s0 G/ E Diags.RUNTIME_ON
, k& Y$ M) M4 n9 b3 {);6 g4 v0 M2 s$ p
7 { F7 d, u* }6 Z7 U
var Registry = xdc.useModule('xdc.runtime.Registry');. Q& k: u/ p- q* z8 b6 e) Z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% T* e' I7 x/ yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;: L$ h( Y% V% V
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
c" z* B9 U3 ~& U; rRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 m' m% @9 Q$ l! y7 ^: q$ |, @
X( o: ` `" r) q" U5 V/* create a logger instance */
; r; ~* L8 M* F4 Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. P) y3 l" m" j% c9 V- C m- F/ A, c
var loggerBufP = new LoggerBuf.Params();
- t: ^9 s7 A6 a! m" o$ |loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& g/ w2 a9 ~; f5 ]7 Z7 }2 qloggerBufP.bufType = LoggerBuf.BufType_FIXED;2 d; G3 W" W& e* S* S. J! j
3 o* h. Y) v i8 j! Yvar appLogger = LoggerBuf.create(loggerBufP);- Z2 E& D& y/ z- K$ Y9 V
appLogger.instance.name = "AppLog_Core1";( s s$ I; ]' i8 F
Defaults.common$.logger = appLogger;1 l- o8 g. e' u( m4 I
Memory.defaultHeapSize = 0x8192; 9 T' \! p4 B" y% X
Idle.idleFxns[0] = "&LEDStatus";
3 _, P$ {7 O! G7 ?Cache.initSize.l2Size = Cache.L2Size_32K;: o6 {1 @; U2 q( F$ O
" u6 ?$ E, z6 p9 x" z3 ]7 y |
|