|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. f7 f+ i, I3 [% ^# }6 m: f我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) W$ u: x; b0 ?7 p- @- g(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( A) r! D. `6 ?( t& v. o ?- T! S% a1 w) l5 x
是不是需要在DSP.CFG中进行配置
5 X0 k+ N( s4 O# e3 p% ^1 O4 z我现在的配置为
$ L; k7 \0 [3 M/ `
, D5 S* x# s% f+ n0 B; S" Y/*
1 ~; k4 t, z) _7 p, ^ * ======== Operating System Configuration ========
/ d( w0 w9 [1 e N: c! J' Z */
! a4 i1 K& `* `8 [
5 k% _- w/ Z: T) F# {' Y+ H$ m/* no rts heap */
; R5 R2 j' Q0 m* MProgram.heap = 0;
% K0 O- F' `' C; f2 \( lProgram.argSize = 100; /* minimum size */4 }# u/ S0 `* x& \/ O2 R, ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
d% C3 U3 p- k4 `: W' x1 y
4 k$ m; R( p J% ^/* create a default heap */
8 f4 u' D2 Y; I5 ?5 q8 P: L7 |var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');! L( {4 H( f) g4 E' a6 u
var heapMemParams = new HeapMem.Params();
: o* {- z1 M' u7 [$ i+ kheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ \, S% @, t% ^; Z
* ^! K- p3 q! c8 W7 ?var Memory = xdc.useModule('xdc.runtime.Memory');$ J @1 W. N5 d( A1 Q4 \
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);( f7 U8 h/ X: D7 V5 U5 W/ ?
8 I6 W; S! T. k1 C3 R/* configure System module */! @4 O; g: l$ e& e& ?' w
var SysMin = xdc.useModule('xdc.runtime.SysMin');
0 p2 }& N2 b, Q/ i; O$ r& X7 }% OSysMin.bufSize = 0x1000;
5 b9 N; x5 k3 v# u, j+ VSysMin.flushAtExit = false;. r" w8 u" [# h( i; K* f. G ^
; |" c! M& ` S$ [( v$ V3 a+ y' e" a
var System = xdc.useModule('xdc.runtime.System');6 w+ M, E+ Q' q: v7 [( ]! @# D D
System.SupportProxy = SysMin;. m( A6 ~/ X7 r% c2 X# k
% r& ]3 b; q( z$ N, o6 l* p/* configure SysBios to use the lower half of Timer 1 */* I8 Z2 p" M H" D' [+ z8 n2 J% b
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 P% l4 M2 A' S+ Cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');, o, t8 S( \, h. z- `
Timer.timerSettings[1].master = true;0 r) J3 b c, c$ T M# U% |1 E
Timer.defaultHalf = Timer.Half_LOWER;
: D5 s$ V, g# h9 Q% O) tClock.timerId = 1;* R F7 }4 s" c3 u
$ y5 |: X$ R w' b8 r
t$ {0 F# w4 J& o/*
' t% e4 m9 G9 |5 i# c0 E! Z * ======== Miscellaneous Configuration ========
l- t+ v* i, R p! ^" ^ */
8 e. _* w+ C) ]5 ~+ r+ S& e3 D) D0 _- ?
/* set default diags mask */& s) \7 ^8 T, U8 B0 V$ {' g$ C
var Diags = xdc.useModule('xdc.runtime.Diags');
2 f5 E D2 T; v4 C: }var Defaults = xdc.useModule('xdc.runtime.Defaults');
( g$ q; m" z" k8 y" J& b: q
" v6 X* _9 r! v3 j) r. e/ fDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% C' t1 Q, w" g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 g: p% K( b& k4 UDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 d4 W. h. X$ VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& p0 S+ k* u0 F6 S
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 x+ T7 {, `' r, C/ hDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;& T9 k1 K) ~$ K$ y, `% ^, x
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- D6 \( G3 u0 H; a2 UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 h3 H1 Q) }+ q+ k9 H0 Q% \Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 l, I$ y Z) |1 x: f* P8 I. J. f2 t
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" Y9 N8 k1 j) w0 L# n& iDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, Z+ r! A4 K6 K3 @. w
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
B5 [% ^9 s0 }- f, oDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ e+ b+ [+ _0 a! `3 zDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! { K- L/ ], o( L- C& f+ T
) p' A! v3 }$ V6 y) M/* override diags mask for selected modules *// C& e& k, X9 H3 `" z! i# R0 x
xdc.useModule('xdc.runtime.Main');. X( F: o, s7 j) T) W5 }
Diags.setMaskMeta(! d6 z I9 d4 K( S. } r& \
"xdc.runtime.Main",; Q: k" C# G' D! m# m5 \# u
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" F, n+ c2 k8 j Diags.RUNTIME_ON' a. C* e+ B! Q# w4 C4 d
);
$ ^- Z) k: _% z8 g3 }; G0 O$ _' ~5 i r& ?; A u1 R' z; G) P7 ]
var Registry = xdc.useModule('xdc.runtime.Registry');
0 D$ T. _9 `5 s& _ BRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 R1 C9 O! d3 D7 T z
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ \+ R0 a! z7 s& F3 n: q; Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 I$ T$ L) x( \1 I- ]) [! w: yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 H( h- @/ y2 f& o0 G% C: s, v* G+ u1 e8 } Z
/* create a logger instance */) F. a0 p8 b+ G, j) ^6 @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; {, M/ q8 p" M
var loggerBufP = new LoggerBuf.Params();
6 S. M0 e3 ]+ G K/ \: NloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 r# o' H, t' \+ ]' U. }% r8 R
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- }) [9 C3 r7 D6 k1 {$ G8 I: i8 u! Y2 f/ l+ g. P, \
var appLogger = LoggerBuf.create(loggerBufP);1 w! }/ D/ J( T2 X) s4 E! h# i. ^
appLogger.instance.name = "AppLog_Core1";% E/ _" k( r6 Q9 q# [
Defaults.common$.logger = appLogger;* i( ~% r. ^1 J( o
Memory.defaultHeapSize = 0x8192;
# h5 t. _4 X" `- C8 kIdle.idleFxns[0] = "&LEDStatus";. c; J2 z+ F9 n/ r
Cache.initSize.l2Size = Cache.L2Size_32K;% |' e$ u1 v+ [4 y e* z% G
, O: F" K1 p5 S8 [ |
|