|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. U, J7 }" B7 v1 ~我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 L0 L. ]5 |1 V1 W8 w(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; }2 a3 M' R+ t' P9 F3 \
$ A/ M6 S' ]! j3 R- Q是不是需要在DSP.CFG中进行配置
! T& X9 Y; Y8 B2 V2 l. T* N& Q我现在的配置为' F" {" k9 m% @7 a. u$ i, @6 h
: G4 L- |! m7 j9 U2 I0 b/*) S7 X6 o" e8 N6 G
* ======== Operating System Configuration ========. A' @( W! d2 p" Z
*/1 d ^' S& Y( T3 n" H8 `+ q
% _! F+ m: Z) V/* no rts heap */0 R( u v6 q) c, F1 i6 N( Q4 |) b
Program.heap = 0;
7 S7 L0 c) x2 G! j- HProgram.argSize = 100; /* minimum size */7 B! X8 x% ~" u' x2 F6 S- ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, _' K" l e5 A+ ^5 H: b. q
- f `$ O$ x4 h
/* create a default heap */
$ w7 R( }( c$ m) tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 N$ u' P+ ^ r* T/ p1 F
var heapMemParams = new HeapMem.Params();
- S* }2 W" M( I7 z: QheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- p( p# Q# ^# E& i' q+ C8 t
+ S) I w9 O% U; K' Rvar Memory = xdc.useModule('xdc.runtime.Memory');1 D5 d& a9 }0 d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);8 ] M: _; \( u+ d; M7 U% Q
8 G% @/ f$ s# C+ p" ^
/* configure System module */
2 v+ q9 C3 K! B3 |var SysMin = xdc.useModule('xdc.runtime.SysMin');( U7 l5 J k* K7 A v# g
SysMin.bufSize = 0x1000;
* A; b. N6 l! K" d2 c: eSysMin.flushAtExit = false;& j8 h' x! X8 `4 d! c
; ^& e+ U- J5 c, ]( xvar System = xdc.useModule('xdc.runtime.System');' i- \4 q1 m0 C3 D9 `
System.SupportProxy = SysMin;8 D8 Q) I. F0 C5 {. a
' X s$ \# N5 P9 h; R3 }5 `
/* configure SysBios to use the lower half of Timer 1 */6 l/ R8 H q) G- }! B; T5 a) T# [8 e
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( v" z( w* w. Tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');( p% q* p. V% U. x! j
Timer.timerSettings[1].master = true;
4 S2 @9 e5 P( J9 TTimer.defaultHalf = Timer.Half_LOWER;& t( r6 k% `' c3 T& C- @" y
Clock.timerId = 1;. c8 j* p! T: ~- ]# X- \+ U
5 W T% `8 j! p6 H7 _6 |
6 P* h, P. [& a2 n2 X7 E8 m
/*
6 L1 c4 l5 ?! a7 [3 K$ t5 x * ======== Miscellaneous Configuration ========
M q- }2 i" V/ m+ Z9 G */! z. i. ?( b& @7 X) J/ f, ?
6 y+ z/ F5 ?3 J G/ _3 s; O/* set default diags mask */7 }& ]- r) {: r' \( y- ^/ m) ?
var Diags = xdc.useModule('xdc.runtime.Diags');
& v f7 E6 X: \/ C9 q& g6 ?; qvar Defaults = xdc.useModule('xdc.runtime.Defaults');+ o' U" [% o( m4 N
5 Q1 i; |1 I" ~' N2 G$ u9 `
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) J. m" o: L1 f3 L0 YDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ @8 V, T+ S* i' VDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ m) A1 N; \' XDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 j$ D8 Z3 o, F8 w
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 d/ M( }% \0 ~3 L1 ^0 e
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;; S& z4 j( ?' J$ q+ y! n
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 `& t1 x, a! A! Y0 ]Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 y5 ^% f7 d+ N1 m
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 ?$ O) l; Z# w+ N6 v/ v8 P
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- y! A x' q* N6 R, M4 T5 c0 a; [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* ?: m, f' }$ g' r2 B5 p8 I
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 a# K/ J* }' x& UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 k! {: v0 ~2 B3 D. p1 V. k3 W
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* ^. ^: Y4 p8 o( ^+ P$ ~& m& U+ N2 l0 H8 b9 b
/* override diags mask for selected modules */
+ Y, N8 _6 F [( F3 dxdc.useModule('xdc.runtime.Main');' z: H2 y$ a3 y& W, T6 L# \
Diags.setMaskMeta($ {7 B# f3 z9 x2 g: A5 n
"xdc.runtime.Main",5 m$ \6 H* u7 ^' h
Diags.ENTRY | Diags.EXIT | Diags.INFO,
* i) b) r' f; k$ U) x2 H Diags.RUNTIME_ON
. r; m) B3 J1 R/ J1 R5 m% k);0 O' g) }( ~$ g( o1 O. Q& b0 i1 G
* B$ f2 R1 ^# @0 U$ |
var Registry = xdc.useModule('xdc.runtime.Registry');: `6 R9 u/ Y& G+ G
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 k' E# r6 Q* i$ b" V# u2 w
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& P! A, }# f; c; l' v! ?& kRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
* h1 W$ O+ _8 f0 B% a8 zRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;. W j; b' w5 Z, G
* }2 D7 v g' f/ [& @" P/ J8 N
/* create a logger instance */
; }: ~. { |& n6 H- |& y! _! gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; a2 z" X# M6 W, p* W; C, \8 L
var loggerBufP = new LoggerBuf.Params();
; |7 h4 x9 p0 o" X& _loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 ^0 ~% j+ N0 _9 @7 Q3 JloggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 | @* E! m* z* p, U' r4 i- S% B9 Y+ I2 H6 s h- e! E
var appLogger = LoggerBuf.create(loggerBufP);4 d! w! Z5 a% f1 y: u& X" l
appLogger.instance.name = "AppLog_Core1";
: }' X& s7 M9 O5 C6 V4 R3 _3 M6 iDefaults.common$.logger = appLogger;9 j( ]( f, B) i2 U2 r- F! c
Memory.defaultHeapSize = 0x8192; / J5 h: ]! R3 g$ P/ u0 b! @
Idle.idleFxns[0] = "&LEDStatus";
% @, _7 D) E) S) K1 \) ICache.initSize.l2Size = Cache.L2Size_32K;
9 x* g4 e+ ]( ^( w, G G3 O2 G' I+ j) v5 {
|
|