|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 @: f- Q4 x5 |+ Y
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
/ @/ Z2 H# P' O' G9 r(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 g: ~/ H1 G# B, v! e1 F4 k: I' f& {% Q: s+ u3 O. l) W
是不是需要在DSP.CFG中进行配置
' Q4 ]& {$ o5 Y5 a; e$ \, z我现在的配置为
8 _( v. E! \8 X" y3 h# ?# S% O0 `
- y/ X+ s& N( v/*
5 K0 b) Q, G7 [, ]4 G+ R' N * ======== Operating System Configuration ========: M: U: ~% ^1 B: c
*/
6 u7 f, \$ {; X' z. s7 }. O$ X. F6 T( x1 s
/* no rts heap */5 D0 ~+ `$ g, d; b
Program.heap = 0;
% g9 X& H- ?& |) ] \Program.argSize = 100; /* minimum size */
( H) k- J% i- s6 R3 `8 DProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 f& L4 O5 V" b7 S* {. N8 u% K( N
9 J( W( t! l+ ]8 x* R5 O: @
/* create a default heap */
6 M0 i# Z: E) A- ^# m6 T/ gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: z* b5 ~8 f; I+ e# m
var heapMemParams = new HeapMem.Params();4 _$ ~; { b5 Q( l: }+ [( b0 ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- q% \( U) k' M+ F
' N& G. @' p) T1 N: l% K. e7 @! xvar Memory = xdc.useModule('xdc.runtime.Memory'); U, }: N. A w7 i, D p- Y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
# v8 b h1 R" I* t* h) [/ I
" E. ?8 t. ^. }/ L6 ?# Z$ o/* configure System module */
. S/ o3 [) ~/ N& S& s+ Fvar SysMin = xdc.useModule('xdc.runtime.SysMin');
0 |% Q5 W4 R \; r" G0 ?9 S! ASysMin.bufSize = 0x1000;1 J7 v# h e4 I$ ^$ _ s4 c0 w
SysMin.flushAtExit = false;( }1 B# ~* q! C# m6 @3 G
J6 m9 |' D; r2 ivar System = xdc.useModule('xdc.runtime.System');
- J- P2 b# x( zSystem.SupportProxy = SysMin;
8 \. o9 t7 i& t* O( P# Q7 u3 e! C& R7 Q" K; Z) \/ Z/ y/ T
/* configure SysBios to use the lower half of Timer 1 */& ?0 i& I# K% C( O! U
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" P' H0 {# P9 N5 L1 Rvar Clock = xdc.useModule('ti.sysbios.knl.Clock');# v7 b$ O% b! g& {
Timer.timerSettings[1].master = true;
) T5 g- E3 z3 \( l8 FTimer.defaultHalf = Timer.Half_LOWER;
6 t" l0 c" k& RClock.timerId = 1;
% }& {7 R& Q# Y! n
3 Q, L' q1 F2 a4 M6 g) o% N) \% o
4 g& d n8 |: u' h9 x, }/*
' s$ d! T, S' s! Z& J * ======== Miscellaneous Configuration ========
7 o/ w6 `/ u5 u# _* k */8 I$ [! l* @! E0 S; M7 Z
& x! F6 W, B$ X7 B( H- T/* set default diags mask */6 ?9 ?4 f8 V% }. p3 H0 z
var Diags = xdc.useModule('xdc.runtime.Diags');
_' F/ t! v7 _ nvar Defaults = xdc.useModule('xdc.runtime.Defaults');$ d6 z5 o6 I# \( {3 Z
5 C" u1 }, [; ?) Y- gDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* @9 t7 {0 p# W3 V6 j. ?% PDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 G5 o1 `; W, l, @6 N
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 N$ G: C% d/ T4 q- ]- w( e3 }0 [
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! u' z; A% e Z0 P) P" P$ FDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; o: B5 `7 w" g6 V7 eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;( n8 W/ s7 F8 i) l7 l
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: s4 F* g5 F( G; k, M" ~3 @( |, x
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! ~ M) Q1 m$ y3 j: ?& dDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ c$ ~& d. T: ^/ t2 v5 R, fDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;" G' J- R7 a& I( J4 f6 ]$ [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 ^% x8 ?! k4 `! F2 A9 O
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ k7 K9 H! }7 @/ JDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ n. Q" c% T }0 F2 y1 o pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& h5 W5 D: J+ Y2 ^
- R/ H! @5 z7 Q: [' Z4 |) K+ E/* override diags mask for selected modules */8 g5 L$ P( q. A( a1 e! p1 K
xdc.useModule('xdc.runtime.Main');, H8 D3 a( @6 M- B' K9 g
Diags.setMaskMeta(% }6 S) H! A1 b+ {& H2 t% A* X; H, b
"xdc.runtime.Main",
. \+ g3 m& m" [ Diags.ENTRY | Diags.EXIT | Diags.INFO,' N: @- S+ }- W& I6 V8 i/ J
Diags.RUNTIME_ON
2 h" v E6 l5 w0 C. f);
_; N, E7 @, p" c" s: `+ T, u# }* ?/ z6 K: O
var Registry = xdc.useModule('xdc.runtime.Registry');- @& x: M3 x- w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# m. h& U# |9 ]5 L9 Y! h
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 C( ?" B/ b# e2 x- r' b# d0 j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;, v6 n$ t$ x; N
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 Q" Z2 \2 y3 P2 | k) {2 z, v( r7 \0 F- [' T+ }9 M
/* create a logger instance */; C- H$ l+ V0 @9 l& X. A
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, j. C; Q2 \7 p" P: S+ d% t& n
var loggerBufP = new LoggerBuf.Params();3 o4 s# F% F. `% N4 V; d/ S& v: d; _
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 Z4 t, }) o3 R; k5 ploggerBufP.bufType = LoggerBuf.BufType_FIXED;' Q$ r6 f$ J [9 ^' i8 ^
( j: i1 D1 ?8 @6 [& y% avar appLogger = LoggerBuf.create(loggerBufP);
0 Y+ S& _. | q% M, m5 @0 Q& U3 sappLogger.instance.name = "AppLog_Core1";
" p1 I( _' @% X3 |" [Defaults.common$.logger = appLogger;2 s8 f+ }+ V) x. B' e r& ~
Memory.defaultHeapSize = 0x8192;
5 ]6 A; K8 p9 W6 ^, UIdle.idleFxns[0] = "&LEDStatus";
" X0 t+ u. z+ I8 a3 A/ ?Cache.initSize.l2Size = Cache.L2Size_32K;
) w$ v" }7 r( ]6 i( r7 c, [
3 _( V$ F8 \5 D7 X: G. Z |
|