|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( V5 ?* x3 Q& R- v; I我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 T7 Z5 w% _1 ]" G- G! L3 {' Z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 \8 y3 c0 f' E$ r! r
; ]0 e9 O: q: q) s是不是需要在DSP.CFG中进行配置
/ j# Z3 k# v+ Y# L! O- t6 Y' ^我现在的配置为
4 l" Q! ]9 w8 i% B' O
) }( G8 u6 v, M4 a. y0 O/*3 n& d) b6 l, r
* ======== Operating System Configuration ========6 n0 ~* r2 D% G/ T
*/
/ h+ I* z1 _+ q8 f% a5 ~3 W% q" b8 G
3 U* Z- X' ]$ c' m/* no rts heap */0 l: A5 r, I6 p# E3 D6 P
Program.heap = 0;
3 G {6 [) h$ {$ E$ _; bProgram.argSize = 100; /* minimum size */
$ V# G. R7 v- N" I B, XProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大 j3 `2 X6 w/ P0 ^! D; @. x! |2 V* y
. n! Y/ E s1 p2 k3 J" |& |9 }, ^& G
/* create a default heap */
4 ?: y% n, }2 g% }: u2 ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
B$ J) J+ N8 r- yvar heapMemParams = new HeapMem.Params();+ b0 a6 }. u' g' k. {! b
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 d0 l( q9 s% \5 q8 L
5 w4 |: Y6 v0 b9 G7 l* I+ W" uvar Memory = xdc.useModule('xdc.runtime.Memory');
8 M6 y$ z8 `. h+ b$ FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
* n3 Q5 A. H% ^( G9 G3 }
8 N# z$ h! X4 P# C' {5 ~ Y/* configure System module */
- k: K) q7 \. y: w/ z U1 \ g+ U8 avar SysMin = xdc.useModule('xdc.runtime.SysMin');) V, Z B2 L( e+ f. y
SysMin.bufSize = 0x1000;
A1 i Y u, p. K0 fSysMin.flushAtExit = false;+ b" ]# n7 l( t
" N- i: ]1 W# B! ^. @, @var System = xdc.useModule('xdc.runtime.System');
& B: W6 W, O+ P* k: eSystem.SupportProxy = SysMin;/ r6 u# \0 G2 @( s# p1 d
9 C0 L5 Y0 r! p4 T; s
/* configure SysBios to use the lower half of Timer 1 */1 u `$ `& W0 Y$ w) o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# U7 W. }7 ^- a |- Cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 U& r2 F; i3 z1 J8 wTimer.timerSettings[1].master = true;3 q/ B$ w% S; s( @
Timer.defaultHalf = Timer.Half_LOWER;
1 W2 f2 h( ]& m0 `. P. Z( g6 aClock.timerId = 1;
" X+ l0 v, `, I0 E6 t% B" D2 i0 ^- K: P) m: ]
+ X+ {. C7 ^' \- H
/*$ I9 S6 s+ h+ k4 O `
* ======== Miscellaneous Configuration ========
" c* U# f h) E4 h! H6 x0 c+ t */
|+ c I$ k) ?. |2 R+ @8 Y& w9 g" b& S. M/ k1 ~
/* set default diags mask */
- ]# b- v: i0 C+ t8 z; Z4 S: cvar Diags = xdc.useModule('xdc.runtime.Diags'); v2 }, n: M# F/ S1 s4 u
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 Z, Q; [6 G+ T [$ s5 X
% v' B* G8 a7 l) e4 \: n* qDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 {7 v1 t; S, i( ?! @" X0 p6 FDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 P* c) [" ^" i/ f
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; l% }# j, M! N8 v1 f8 b, n
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 D( S6 ]- _/ t+ N V4 q* kDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- j5 Y' ]+ E; mDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;, y8 K$ ]% ^/ q4 Y0 k! S) G& E
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) P; [9 P2 a b- o3 N1 k7 H
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# Z9 O1 y: j9 `$ u
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 |* ~: X) y3 {3 p1 |4 N/ NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' Z! Y* W6 X+ H/ ^& p* w" H5 ~
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
x q9 X \$ k, U6 R9 |Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 p7 X+ T$ B4 F- Q& j, F8 G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 o7 w9 o) ]7 F. {9 E sDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 Y @7 j5 A6 A+ X' ?( G- R/ A+ u
: a. g [0 ^9 Z1 ~5 k0 @- P/* override diags mask for selected modules */: b( W8 g: {2 J8 u* t, d
xdc.useModule('xdc.runtime.Main');7 O9 X" J* f% F m8 j* U
Diags.setMaskMeta(
& L8 s" Y9 x% A "xdc.runtime.Main",
1 U. r; z* O% g1 m# `, M Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 {( F6 R$ S5 B" E/ w# a! l$ Q Diags.RUNTIME_ON
; R% N2 \- D( u: A j1 d);/ h$ B% s8 @4 J9 O5 {. ~
5 b; O: y* j1 Cvar Registry = xdc.useModule('xdc.runtime.Registry');3 z' E9 }( a- d# Q2 t/ x% X
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; d9 J/ s, k6 o; u# g! Q9 H( {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" m5 {2 w' G, v( L0 }
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;5 a/ S9 y% ]% A1 j0 }: l
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
& H$ w8 ]/ k0 ^6 z0 r$ ?1 X( `' \. O$ o6 p' }
/* create a logger instance */
0 y. |, S$ c2 V0 `( avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
c: ^! u) v" U+ y# Yvar loggerBufP = new LoggerBuf.Params();
, Z& _) ] e" P/ D# \4 B, OloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% w+ D: Z W6 F. X l
loggerBufP.bufType = LoggerBuf.BufType_FIXED;; l3 q+ @% |% r4 K& e6 \) L
8 V. t+ S/ p& i b/ e" Z9 J: Lvar appLogger = LoggerBuf.create(loggerBufP);. x, w: f+ N2 o5 w% s
appLogger.instance.name = "AppLog_Core1";
; O1 v: F( L, P( y" M4 PDefaults.common$.logger = appLogger;1 e) q v' B+ G+ h$ H
Memory.defaultHeapSize = 0x8192;
* z/ s$ Z5 Z2 Q) {2 sIdle.idleFxns[0] = "&LEDStatus";
/ C ? {- Q! k3 y) XCache.initSize.l2Size = Cache.L2Size_32K;- V8 n) s2 F2 } D/ b" f$ f' ]3 L
/ G, Q" d' U* K. S3 a1 ?
|
|