|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 u6 ]9 e% j# D6 F, @8 L
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: [0 z, i/ q! b4 K5 R: G( f- [0 r
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* X, P" n6 o r1 V! R$ \; j* u6 X, e F7 E4 x
是不是需要在DSP.CFG中进行配置
: u: ?1 k# q- a$ k1 w' u; T f我现在的配置为
# L7 U% }0 A* {; G, T# E; B5 l! m/ l2 l7 V1 y1 G3 f* X$ A
/*2 a' f+ G% W+ Y# d! L8 O0 K1 h1 x
* ======== Operating System Configuration ========
* H; {( A$ M4 ?* t! j */
1 g9 x: |2 ~5 q2 U, h O/ _* _
2 D+ z1 D' b; E; S* M/* no rts heap */ I* Y6 z' A1 \+ d( ~* `( I
Program.heap = 0;
8 d. h8 j& e4 n% g2 ~3 AProgram.argSize = 100; /* minimum size */
* @% K' {0 S- a! T/ y0 A9 NProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大& i4 p/ t9 [) l3 V! q9 X/ D! P
# r& u8 o3 J8 \3 R5 o+ M
/* create a default heap */1 ]* I# K/ A" W1 L' [# O* s7 Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 b! R8 X8 j9 |* u5 A$ k6 ^6 N
var heapMemParams = new HeapMem.Params();+ Y4 V! H) m3 h( _( S. @9 b
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 ~% {7 v2 W2 J5 k: J
0 n+ q3 ~+ \3 r8 p' q1 n; B+ l* m
var Memory = xdc.useModule('xdc.runtime.Memory');
$ u$ B* ^! X4 F) wMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 t) ^: S) I s+ O, V7 P3 {
/ Z2 X$ e. v# O$ d) U' E# ~/* configure System module */
4 z0 d& ]/ C/ S$ |3 [5 b# g0 J0 Lvar SysMin = xdc.useModule('xdc.runtime.SysMin');
8 t- f- D; R! O, |0 w6 I& _2 aSysMin.bufSize = 0x1000;' H# Y# C& Z4 v9 N5 F$ z
SysMin.flushAtExit = false;0 V5 F! ~5 [' G& W6 J
: d$ T5 t' g- O4 u
var System = xdc.useModule('xdc.runtime.System');
0 S3 K' z# N0 ^6 p! }" R- S" iSystem.SupportProxy = SysMin;; `9 U i# {% H0 k0 ^& T$ N
: |9 L( B5 L& f1 f1 @
/* configure SysBios to use the lower half of Timer 1 */
* ?) i' B% E- \var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 v+ D9 B+ Y7 }3 H; jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ T$ |" Z6 i: u" \8 A5 g. F8 G: uTimer.timerSettings[1].master = true;
3 h9 u* Y7 l4 h7 j, g: Z4 WTimer.defaultHalf = Timer.Half_LOWER;
# B( @( C1 ^8 \Clock.timerId = 1;& n9 G) L( g$ E5 Y
8 q( B6 J7 L3 L$ I5 e# h! M+ E3 h6 A0 @) A2 U
/*
+ e) l* Q1 z* S2 e# i) S * ======== Miscellaneous Configuration ========$ T) \/ K9 y* ]& P/ I( b
*/
# ]3 A- p# u6 I" q" D
; k; w; r! x) w h/* set default diags mask */" ?9 B, d* ]" T; `4 k
var Diags = xdc.useModule('xdc.runtime.Diags');
# p- X1 |0 U' T5 l# tvar Defaults = xdc.useModule('xdc.runtime.Defaults');0 Y% A8 T$ q8 C4 G2 w
! ]8 f, @' Y7 e/ `- s# C
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# _$ u: g3 _/ u, { C7 k$ Z; e y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 r1 U$ q. P6 u& r- EDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% ~) h, M& h3 M" i9 @- XDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) \' Q4 H$ N- h1 V- `
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! L6 z2 A0 J6 Y6 ?, w7 T2 h1 Q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. u6 d) g4 [8 o' N9 S6 C+ B# ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 a* `, z- A g o/ E/ D4 q& f
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ c4 d9 l# U9 i- S) |+ IDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 E8 l9 S. P' r% \Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 w7 F- E1 t% P& u, Z5 ?Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;! W7 ]# N( q; v
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* J( d! B s# P* i1 R/ e4 e
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 J2 n I7 \/ m6 q! b/ [% H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* i8 B( t( S7 A# r" T. ]0 ?
' M# }1 a5 `5 |3 o5 |+ G/ t/* override diags mask for selected modules */3 K! m: `* R4 y* J5 x, ~8 d g
xdc.useModule('xdc.runtime.Main');
, l. d S6 ~0 S) t; ~* z+ DDiags.setMaskMeta(
% J0 y* B" r# \0 P3 {/ | "xdc.runtime.Main",
5 K2 O2 x7 F7 w6 y- Z5 ~! M/ o Diags.ENTRY | Diags.EXIT | Diags.INFO,2 h& ^- ]" a k2 ^: i
Diags.RUNTIME_ON
, C2 N/ R7 B; G/ _8 T8 P);5 Q6 i/ o8 _, Y* l. c4 b) Y
/ p! M) x) f2 j' q x9 Z/ s1 j1 T
var Registry = xdc.useModule('xdc.runtime.Registry');. F1 U) \' D4 B8 R
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 x p8 Y4 [1 z, ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;- b/ `: U# H0 Y4 t; d5 E
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 h7 \3 Q% s' H' ^8 W0 L, X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 p" E8 Y# U, e; m! d
- J" `' W9 Y9 n( {0 ^5 Y+ w
/* create a logger instance */5 ^. V- s$ Y( |3 A* i% `7 U# t$ ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( L1 ?% {9 y& M# V1 Y
var loggerBufP = new LoggerBuf.Params();
) ]5 R" q) I7 N& [6 h+ y+ ^loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ {. c; s; E4 E/ W3 |. i# JloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 _, S1 J6 T; }3 m; h7 a! ~3 I7 O" X% B$ ?
var appLogger = LoggerBuf.create(loggerBufP);
; m4 |# v! \& T5 ]" A# KappLogger.instance.name = "AppLog_Core1";2 G$ G" `3 s7 T5 D+ r" _' ^
Defaults.common$.logger = appLogger;- U. ~6 W1 H0 z* ?4 H% V
Memory.defaultHeapSize = 0x8192;
. g8 ?6 B! N* g+ a% o( sIdle.idleFxns[0] = "&LEDStatus";' K# V$ y* t/ S2 M8 A* F/ g1 b
Cache.initSize.l2Size = Cache.L2Size_32K;5 y: i6 A, t# ~9 |. c# d% V
0 T5 i: I3 t v
|
|