|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; P8 L* `2 Q" q! z8 }5 y我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; `- q7 a9 Q$ ~. I: h(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& @1 R& x1 d# [5 `6 m
" u d9 G: f5 w+ P是不是需要在DSP.CFG中进行配置
( b6 P1 J2 d1 A s" s; u我现在的配置为
9 g+ Z/ [3 w3 T' U7 J) _! B
' \' J3 `9 Q9 u, a1 l/*
9 _( v& N9 [& k J/ n * ======== Operating System Configuration ========/ L$ Y: L" w$ Q- Q. ?8 x( g
*/
0 E, t# K! p' [ P- C0 r7 g" \ ~* X+ h1 m; O- [" u+ i) _* U3 D
/* no rts heap */
* h6 L9 m2 \. d+ n, A, D1 e7 K+ vProgram.heap = 0;
3 q i" X7 t' f1 [% f$ @, `8 GProgram.argSize = 100; /* minimum size */* n7 g' ~0 K, ^$ i" Z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 N. C/ o. a3 D6 g. }; D/ [( ?
, c, \' B( g( U8 r* ?) c
/* create a default heap */9 B- h! T7 q" x8 y. Y3 ~' k5 j
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
& D$ W: b0 |3 C% R2 ?var heapMemParams = new HeapMem.Params();
' q) d( p4 J, J4 l9 W C: s, T; \heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" W+ j n) \$ S; o4 t& W3 h: l8 K a' f. m' O
var Memory = xdc.useModule('xdc.runtime.Memory');
( n( {( z! e! I1 o& G9 F$ e. ?9 mMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
& |6 J* c2 g$ ?3 t R. ]# f( \4 E- T: O! m# C+ `" t/ d( f
/* configure System module *// D( j" i! Y& s; F5 Z h' u H+ G
var SysMin = xdc.useModule('xdc.runtime.SysMin');
! B5 e3 f0 @) v; j* p/ OSysMin.bufSize = 0x1000;3 r$ Y. T) {' A2 A
SysMin.flushAtExit = false;1 X8 k1 v6 C z- w, ~
$ u! Q6 W/ E$ @. w
var System = xdc.useModule('xdc.runtime.System');
: u: I$ @5 w% R1 T. P& D3 xSystem.SupportProxy = SysMin;
/ j3 v: A* g U
. n+ Z3 ~/ E+ z3 }# }: d# t8 S$ t/* configure SysBios to use the lower half of Timer 1 */
$ b7 o8 O I6 s2 tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ Q, Y" C [# {4 vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
! L( h. I" f0 D( sTimer.timerSettings[1].master = true;/ c. n! t- q: {; z
Timer.defaultHalf = Timer.Half_LOWER;
# O$ c0 t/ m0 [, }) GClock.timerId = 1;
2 P8 R" T* J r8 M, _" A4 r: z$ h* ]# j5 f- J3 d; r- |
! E* o+ l" c/ Z+ }: K2 o
/*3 n! h% h0 F1 b2 d
* ======== Miscellaneous Configuration ========
, U( r' l1 ^2 O' L) A8 r0 _ */5 l' X s, P/ ^* \# S
, Q5 w! m" U: }/ p6 h4 b8 l/* set default diags mask */" t# c1 r$ ?9 _) X5 D
var Diags = xdc.useModule('xdc.runtime.Diags');* x7 B3 U. _. D
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' p3 @3 {# H6 \8 I2 T3 d! V/ c: C$ h; j* w) D2 U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) R. g. W* L: A5 P, ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 ~4 l1 c1 Z6 i: d2 ^, Q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: E! \( f# M/ m# eDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 \2 L/ ~5 F1 ^ p/ W
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 Q! S# C) A1 A6 a8 @; C5 }! NDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- ~, z$ v* s' n& HDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ e: E, c* O3 e0 I' l; z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* u. |0 X/ X: H5 h5 f& t
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, g6 t1 k- U Y; D, P& W" B* m
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 w @. U( Z# M# ~& F
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* s2 O. w# ]/ v9 Y# \# T7 B
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 }3 O" G& h8 w5 `4 k1 y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; `7 C6 s% ~/ f4 ], x
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' d4 M3 y9 g+ }' B8 k3 q8 V$ A; p/ H
% ] z, k# A( q7 @2 o1 T$ O/* override diags mask for selected modules */8 N' k+ ~3 N' d& u0 v! P/ S
xdc.useModule('xdc.runtime.Main');
$ O+ }* Z& f) m2 m" X {Diags.setMaskMeta(# H3 V) Q. e: o! g( p+ [3 s4 v
"xdc.runtime.Main",' h- u( U' B" ~% h
Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 c1 f' q" _5 U+ {( n# E Diags.RUNTIME_ON
& }! q" l# b$ |$ O/ a/ ^2 v! M7 l);+ ~/ m+ E1 G8 I. Y
! c6 O% A, s' T; A" j
var Registry = xdc.useModule('xdc.runtime.Registry');
+ E4 A& j0 {4 vRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 Y+ B' P5 z' ]0 Y! pRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 ^! p0 Z, w1 N0 b. j- w8 g, G
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* I! G! ^$ s) {; f/ F0 j
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ u4 J3 [( I0 K# o! i. ?2 O2 k0 `# ]: d
/* create a logger instance */
. n+ h" j8 f" \, Mvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
c5 c% j; Q2 z. r; p* _! I" j/ }* mvar loggerBufP = new LoggerBuf.Params();
7 l' k, S1 b5 P" \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 V; F1 w& U' ^/ c2 F# j3 ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;% Z( D* K. v, K7 L; |+ u( w+ W
2 t4 q) g2 B* i
var appLogger = LoggerBuf.create(loggerBufP);
/ `" A; i+ l1 G- l! `' F/ QappLogger.instance.name = "AppLog_Core1";) ^: m" s5 B4 h* S, S6 i
Defaults.common$.logger = appLogger;9 [) Q) B. Z( a( T' ^
Memory.defaultHeapSize = 0x8192; ) F: v. j# a% O8 R. F0 w
Idle.idleFxns[0] = "&LEDStatus";6 B9 D: M& D' \3 l+ x$ m4 B X6 a
Cache.initSize.l2Size = Cache.L2Size_32K;
' x+ v$ _: D' I- ]# f: T* \, C) d! U% @( M+ _
|
|