|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 J4 H* Y7 a) m) j* k& B- E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- H: t. B. a6 G$ G' j- b6 n% d(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" c3 j( a+ @) l: p6 S
' W( I9 W! x/ n/ d, p是不是需要在DSP.CFG中进行配置1 X: O* c2 l, ]8 s& z
我现在的配置为! a, I- q6 m8 J3 W
! F6 c2 H9 C9 i+ H1 Y* O- M" ?+ C/*2 Z$ v/ _9 n D4 p- I
* ======== Operating System Configuration ========
4 u& A9 O* R9 a: @ */3 v( p: v ?) e8 R9 u3 i' P, g7 Y( ?
) H ?1 k- o( g) h" m
/* no rts heap */3 w J! X1 v7 H0 n# B4 K
Program.heap = 0;
/ O1 h. i% M& {% r" h+ F/ {Program.argSize = 100; /* minimum size */3 B! w ]5 l" C
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' R( x+ \3 p* ~: G M1 S9 K# j! R- _6 M+ j) m$ g, }
/* create a default heap */
' N/ i# I% `' p* G+ p! {var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( \/ S/ y: ^2 k( }( E& b% n/ w3 Y% V. Q5 k
var heapMemParams = new HeapMem.Params();
" l0 E( }& J, u/ d3 \% dheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( ~4 y; ?0 c" W. G5 C) u4 o
* s& e6 u5 ]( Z' ^' A
var Memory = xdc.useModule('xdc.runtime.Memory');6 _$ e/ ]. s V& J0 y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* d4 a, _4 o b3 }
" B# s$ O9 F) ~- @* R/* configure System module */
2 k6 [& J O1 l& f% Y! Evar SysMin = xdc.useModule('xdc.runtime.SysMin');/ U8 s4 ]: y' g
SysMin.bufSize = 0x1000;4 V+ O8 [/ c# z" h
SysMin.flushAtExit = false;
* h7 L/ ~8 R! G/ B5 u$ E" H: r2 }% h7 l
var System = xdc.useModule('xdc.runtime.System');: i) c `5 F2 Y$ b( S+ b5 S0 ?+ d+ c
System.SupportProxy = SysMin;
- w3 p+ m& M" U) m
0 k) p9 z- _2 K$ L1 y/* configure SysBios to use the lower half of Timer 1 */! H0 q; D$ ` i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# V: Y! l9 m! Ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- S0 b8 W& B7 ]5 f/ ?$ u) ATimer.timerSettings[1].master = true;/ y" n) P0 [; V
Timer.defaultHalf = Timer.Half_LOWER;, R t* E! P3 ?, k; j; d& ]8 m* s! Q
Clock.timerId = 1;
+ \9 l& a1 s* L! d2 a- q7 B, }
6 H$ |* d$ E9 l# e& M! F2 m3 o7 q5 P- [+ @
/*, w- Z/ J0 Y9 J* y4 h- J
* ======== Miscellaneous Configuration ========
" \; [- ^$ z* ]; A, v */1 o: ?9 ~% H3 H9 M' P$ D
5 m/ b2 ]% j3 `; e) v# p
/* set default diags mask */ Z9 g2 z$ |7 b6 v, f
var Diags = xdc.useModule('xdc.runtime.Diags');
' j/ V, W' ^' f/ c) ~: ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 C! Z( E! f# Y& N! I
% ?4 I% o K# z# M; _ E0 w$ O$ cDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. [2 E& D) \0 [1 x7 E- v4 R
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! J) n2 t3 ^: M
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 S q9 b3 E( ?( }! [( r
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. @, Y* [7 Z% [& [$ [. m
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% t. X* Y0 n) u7 W& j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 w& Z' b! A8 h6 m! z$ C/ yDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& s& D6 S2 p( V5 M
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; z) G) n8 L; P' c3 \' P+ O8 k) a( a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! |5 y& d; ~( ]! b0 c3 a$ MDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) }" F' w3 ?( ~' g5 a7 aDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& f& a; n: `1 r, _ g2 N( Z0 BDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* B; A, G+ R: ~7 M* D& O$ F2 GDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;: z$ u7 i) h0 h7 C- J6 U2 k2 A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( t0 K& Y. f o+ I" ]9 ^; F: R& m, A' Y4 p. ]. I
/* override diags mask for selected modules */
+ R& p, n, A6 L/ d; D0 B4 E* Hxdc.useModule('xdc.runtime.Main');
; K5 w- D+ J( {+ L5 d$ U* EDiags.setMaskMeta(( | x7 e+ Z: p" c5 s
"xdc.runtime.Main",
# G1 ~1 _5 e6 r4 `7 L7 { Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 K8 e5 y$ ]& M4 ?1 W Diags.RUNTIME_ON& S# u5 \. \! u0 D$ C
);' b9 ~! R/ q! D: e* e. F
, A1 j; m4 d7 q- @3 ]' I0 q7 U6 A/ x
var Registry = xdc.useModule('xdc.runtime.Registry');# d( C+ g2 B- q+ \7 b( \6 U/ e
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ k" N Z" S: m+ X+ z/ q7 L- U* u
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
, g+ z/ o4 x% [; t* x( CRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
+ g) B9 z2 a# X! _3 [; mRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! X' }4 J5 b& l( u4 v" [+ N/ {1 y8 ? e
/* create a logger instance */ l# [+ O* N A7 i" J. [1 z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 G: j _ C& P! _8 d/ i3 Y+ bvar loggerBufP = new LoggerBuf.Params();
! }7 }! k5 [) I: J/ RloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' v! Z5 j! g6 F4 q& RloggerBufP.bufType = LoggerBuf.BufType_FIXED;
& {, x1 y/ n3 z' o( |) U: {& J5 C3 k3 k/ X2 m
var appLogger = LoggerBuf.create(loggerBufP);+ {! c4 L+ G! t/ \& ]0 i
appLogger.instance.name = "AppLog_Core1";
( a9 b/ w6 B2 t+ D4 U# q7 wDefaults.common$.logger = appLogger;
]1 J( D, }5 V: q5 F3 rMemory.defaultHeapSize = 0x8192; / u/ O Z* X2 S* Z+ |9 D. p0 x
Idle.idleFxns[0] = "&LEDStatus";/ j' X4 s4 p& B
Cache.initSize.l2Size = Cache.L2Size_32K;# u" T3 j5 z/ g4 B
" o7 H0 t3 p/ c7 D9 Y+ ] |
|