|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 m2 v( F) Y) B' W- W2 c
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; }1 j+ ~& B1 |! G$ ?(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
4 @- ]* N* ?. A2 R( u4 L6 u0 L p) ]# X9 M
+ \/ M j/ w7 e" M- u1 Y( e, `是不是需要在DSP.CFG中进行配置
( Q- U: _2 R! u4 D0 y U我现在的配置为
. E, g* R G% B3 {. k/ z
4 N4 E4 c8 M R, ]/*
9 a9 V) @" j$ O. h; @ F4 K* g * ======== Operating System Configuration ========) z6 q' G0 [8 b# K& G9 [: ]
*/- u" P/ C8 e- j8 A' ?, x
]" v( L& R' e) h/* no rts heap */
2 ], S5 H% N# ~ n& z% [" gProgram.heap = 0;
$ ^7 t8 s f6 V, }. t1 \7 UProgram.argSize = 100; /* minimum size */# B9 m# R4 U5 A6 Z7 {# d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* q" _7 _- m6 Y1 Q3 w" T* l
4 s7 R: K! I" P& F/ J( G( `' a
/* create a default heap */
& g& D2 I" e }, |( k2 {var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ G: `; W8 l' }( Evar heapMemParams = new HeapMem.Params();
. l7 i8 E% |$ J: `. D, V9 eheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 Q6 h" {# C8 X8 m
/ S. D# w ?- q6 Yvar Memory = xdc.useModule('xdc.runtime.Memory');
4 n) ?1 a) h) qMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 L6 ]0 C) p& K5 C
, r) s$ H: u# n% }5 d
/* configure System module */
' y5 ^$ x \) p3 z# svar SysMin = xdc.useModule('xdc.runtime.SysMin');
# A: M- C: C. eSysMin.bufSize = 0x1000;; z! G5 z+ r/ G" i7 m/ X
SysMin.flushAtExit = false;* |+ ?5 U! K. G
/ P- n/ {8 J% g; }; F5 }. avar System = xdc.useModule('xdc.runtime.System');+ f* b/ T4 j$ G1 K% s( N4 }
System.SupportProxy = SysMin;
# ~: _* D* `+ O- r" @0 C( [1 W9 l7 w' L' e# E' {; S
/* configure SysBios to use the lower half of Timer 1 */
; e$ a! H6 D/ g/ n* p. s3 P1 evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( D3 R h) R3 w5 ~8 T2 Dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ t! c o8 h! F8 f. i. s8 [
Timer.timerSettings[1].master = true;
v6 _3 d0 l' y' m9 u( H8 p7 n! \Timer.defaultHalf = Timer.Half_LOWER;* h2 u, ?( i4 a9 @
Clock.timerId = 1;6 D4 G% R: X1 G+ ] j5 D e$ D; ^
# ^5 [4 j8 F9 J2 p1 h0 h
3 V5 M! [* k2 b2 ?/*
$ L C6 v1 {" J" m * ======== Miscellaneous Configuration ========
" q& N8 e9 g1 y: Y: ~ */# ]) |4 d. _4 _
# }. [- T% J# h# o s% d
/* set default diags mask */
9 [2 J. c4 l/ k9 X" Mvar Diags = xdc.useModule('xdc.runtime.Diags');7 y7 [. Y- z, U6 @& w
var Defaults = xdc.useModule('xdc.runtime.Defaults');
( T# {& b5 z. a4 R& r: n+ B ~+ d" h# O3 ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: ?. B1 [1 V, a [0 f( C& f4 S: pDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 X4 \$ ~3 k+ s: z5 D0 j Y9 n" Z0 ]
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ B: e& {$ G6 GDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' U: G! b- Q3 O* @/ m
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- l" |# R5 O5 L2 o( R0 Y3 x8 `5 NDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 l s* c9 H- v2 A
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 V; t: }8 t9 j; v% c$ p
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 W/ P9 W: ] r) p) I# M3 ~- K2 zDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# D' c+ ]* I! c+ y Y9 }& \
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 F3 O2 ]9 h6 w& N9 W `% R
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 f0 ]' ]: `6 W3 Y1 v d
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
6 x9 M+ Q/ G( ? ~7 JDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 M, M4 P3 n% N$ P0 i9 {Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
V8 M. `+ a, a! V. Z$ b' ~. V o3 ~/ _. b
/* override diags mask for selected modules */+ S5 Y5 w# d; t
xdc.useModule('xdc.runtime.Main');
3 L4 M4 H7 {- U9 a$ PDiags.setMaskMeta(
3 R! U! t: j* `! |4 q* L# \5 q( a8 Y "xdc.runtime.Main",/ B/ e1 c8 o$ t
Diags.ENTRY | Diags.EXIT | Diags.INFO,1 c& \3 g0 G/ d( j1 O: L* Z' {
Diags.RUNTIME_ON& M0 X: J# \- x) m5 S T/ g
);
3 r/ H0 B# D1 y( `, g
4 b; g$ l0 N' m1 pvar Registry = xdc.useModule('xdc.runtime.Registry');
/ b( G; V4 j( j/ z& t$ dRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! m! y" z6 T' JRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;( P7 M4 O6 j+ Q; z6 e# R
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& f% O" N2 M5 XRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* e7 M, B' r( q9 S: X4 x" E0 k) { {' q3 _5 k( w$ N4 G
/* create a logger instance */
- ~! O- q% F+ o* k: ^var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( G4 `& h0 _' G0 N( S0 z9 `var loggerBufP = new LoggerBuf.Params();
/ T' T, W; A: M) _% y6 T+ VloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! e6 b' c. U! n4 c8 L. i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;- r* {$ w6 ~, d! b. L" W% K
7 B' `( [4 P: C5 F& R0 vvar appLogger = LoggerBuf.create(loggerBufP);
0 [/ f0 v5 l2 [3 n. K. P; sappLogger.instance.name = "AppLog_Core1";7 d2 N6 t4 |$ d4 x2 ?9 m! P1 X# r) g
Defaults.common$.logger = appLogger;
! F( \& X* z, Z) J% h" @/ E rMemory.defaultHeapSize = 0x8192; ; v. _2 l2 u$ I
Idle.idleFxns[0] = "&LEDStatus";: F c: C& |7 m0 c$ v, I
Cache.initSize.l2Size = Cache.L2Size_32K;+ W5 }+ L H6 T" L- c! @9 n) w! H
: X3 S, r% |+ F& N
|
|