|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! J- z( e3 {6 `6 m我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* r; I& x5 i$ H" Z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ F& W4 {& E2 |3 V6 T: L" Z9 Y# y2 l, C% B$ o% K; G
是不是需要在DSP.CFG中进行配置
5 K/ ]2 b) L# ~0 A, J我现在的配置为8 N5 s8 ^, q* b
; C8 Z* h8 f, s# E" O Y+ M/*0 O/ M# g7 M7 W- Y! g; N* p
* ======== Operating System Configuration ========
$ o( V; b! y( X- b, U# Y8 C- @ */
$ C2 p! W/ m0 c. O+ j- ~
/ n# z8 _ f9 D4 t/* no rts heap */# j9 y6 i, V4 W4 l, \
Program.heap = 0;# x$ u9 V: B: R' \6 ?
Program.argSize = 100; /* minimum size */+ `0 Z1 d8 V. T) Q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大 a8 r$ v- l5 N7 z
! x+ _5 R) {0 N4 |. V2 E
/* create a default heap */) j8 O2 x. m' l$ d' O0 T
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ A! b3 H( F/ U" N, N% `
var heapMemParams = new HeapMem.Params();1 Z& c/ n* t+ D( z" u6 e7 c9 K
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% c% ^4 v5 [$ A
1 G3 W2 A5 U4 c' s2 s1 ^
var Memory = xdc.useModule('xdc.runtime.Memory');
! T* h8 V: ^" [8 g& lMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
! k9 }; E7 r0 T* ~$ @* o- x$ g" i1 n# ~# n
/* configure System module */% @. M8 `9 T0 @0 y3 M* T \, w
var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ k: ~4 o% d2 F3 v2 S" Q2 BSysMin.bufSize = 0x1000;/ d0 T+ f; J9 r1 u/ ~3 _
SysMin.flushAtExit = false;0 F" | d2 ~" o3 }
2 s" D# W; L2 n/ C+ m6 y
var System = xdc.useModule('xdc.runtime.System');3 ?2 U/ E( N) ~- e; w0 P2 N
System.SupportProxy = SysMin;
# Y; u* W8 `/ S1 n8 i7 O( X( @
6 V2 l' v& E- v+ T% r- x: O/* configure SysBios to use the lower half of Timer 1 */
2 G6 B- n k3 r+ a; z% ]; e7 s9 {var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');6 z" k9 ?+ N1 g' A8 P% |8 s5 d: x5 V
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' f( b* u7 P% S q' zTimer.timerSettings[1].master = true;
; O0 U8 M2 L6 p$ FTimer.defaultHalf = Timer.Half_LOWER;
" m3 x/ h3 _/ ^& e$ \Clock.timerId = 1;! O+ C" V, {$ V, ]& z
$ A; s- \3 L l( N
6 L0 X4 L: F, ?% s& `( ^
/*
' C3 V/ |: Z; j8 D7 S: y * ======== Miscellaneous Configuration ========7 h& g9 c0 i6 {, {& _0 ]3 R' I6 u/ s
*/& F8 C! o7 m# r! U* q, w0 j
# @6 Q1 I \; }- ~: z
/* set default diags mask */4 E% x$ R. `2 T8 ^0 |1 J
var Diags = xdc.useModule('xdc.runtime.Diags');! D( U2 |4 D; L
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 L2 w# b) |9 C8 y- |; b' r% d& L- _. I2 {: X
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
W/ r O; L$ F' v0 A9 bDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ v7 K6 a7 L3 Y1 o* Q3 x
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 }9 M' W2 [/ Z K- |- \! W) f
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ i0 U5 e( t1 c4 M* P8 g8 u3 `
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! U( K8 r7 z T, G
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 T4 c% N/ g, x/ d
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 P. t; Y4 r# q u, GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
m9 j ~; d6 h& P! C1 e% u R9 aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ m% i+ F, Z% m2 E5 v/ I4 |$ c$ |' m! [
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 F4 ^$ j2 R+ @) LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! |; r9 @: [7 y* EDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; C& A& P1 I& n1 \( P# }2 J4 fDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;# V3 l6 e8 O7 R# {
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* p) Q/ z9 L* W; S# _; d
3 G' n, ^) R0 R! Q4 A% y
/* override diags mask for selected modules *// Q" @* ?; w. E& q; |
xdc.useModule('xdc.runtime.Main');/ e4 Z+ O7 H9 k1 D" `% _- u
Diags.setMaskMeta(
/ ~8 }% t# I& v5 t" K "xdc.runtime.Main",
( @/ D4 ]. L8 t, U; H Diags.ENTRY | Diags.EXIT | Diags.INFO,9 Z1 u8 ]% f2 A/ ^; e# a9 }
Diags.RUNTIME_ON6 K9 l5 X& z" i1 \# V( R$ X
);0 h7 m9 S% A% X, B- i3 D
+ F: `: G# [! z3 I' V# c1 P! |
var Registry = xdc.useModule('xdc.runtime.Registry');& x" a, f% J: N" J# `- R( I B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ x# G. g9 T5 BRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) _# t1 v6 f% N( }Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& Y+ p2 y* k9 e% c8 {- lRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" {$ s7 i& J& b3 N1 R; x% w2 ~! }4 s! }/ s: `) Q8 T' g
/* create a logger instance */* X n4 t! N7 E& R8 S
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# d- C0 v+ q" R& P9 v
var loggerBufP = new LoggerBuf.Params();
( P" v8 @5 J3 u# ^" X0 i9 EloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' ^0 u; i; C4 N" j3 tloggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 P& o, i+ _6 n! k) r! O% C
9 p. `! ]% o- A; ?' Jvar appLogger = LoggerBuf.create(loggerBufP);- d8 |$ J1 O$ S
appLogger.instance.name = "AppLog_Core1";" M- Z+ b% R# i: _% K
Defaults.common$.logger = appLogger;) m b- n7 T1 g2 b- o2 `6 B
Memory.defaultHeapSize = 0x8192;
: U* r. w8 O/ R' Y" iIdle.idleFxns[0] = "&LEDStatus";
7 M2 _0 G! q, c! S4 s9 y* oCache.initSize.l2Size = Cache.L2Size_32K;9 O$ R9 O; m1 V r8 [: L; x* P
# {' b: E( j$ d) F
|
|