|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# z9 J" }/ C; p% O u4 |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- ]- \8 Q/ e. Z. ^
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 f; R/ ]/ l( C" ~! i4 _" k; Y1 [* ` X F
是不是需要在DSP.CFG中进行配置
& U# W5 b6 }6 j% g& Z* U& d我现在的配置为
7 ^& X$ r! X) k0 ^7 l* Q: O5 Q0 \- ~' [' n; e
/*8 N ^8 P, e7 v8 H9 v% P! R
* ======== Operating System Configuration ========
0 r- Y2 [* J9 c$ j- A# l3 {9 _ */! M* g9 [ }( J- z1 ^
) P0 N2 Z* Z& y! I/* no rts heap */
7 P3 @: q+ X1 s9 ~/ s9 S/ ~1 iProgram.heap = 0;+ {9 }3 ] [% d E$ m. ]
Program.argSize = 100; /* minimum size */
0 N2 q5 E# ~# i' f7 YProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大! Z* M$ K- J% z6 _$ V- A1 k; J1 h
& A2 [1 r4 q$ n% \5 j1 U/* create a default heap */
, @# x% ^ {& C3 a0 r6 E: kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ h" V5 T) N3 ^- {3 Q1 lvar heapMemParams = new HeapMem.Params();
. O7 Y1 p- x* EheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ o2 b7 x/ C& d' \8 [ N. P6 b8 B* k8 ~& o* Q7 t
var Memory = xdc.useModule('xdc.runtime.Memory');0 n7 N' {0 }% W7 n. h* `
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
# U1 ?0 [; Z6 x- f6 [& _- [2 R. }* S3 ]
/* configure System module *// w; e) W- Q" a9 X( E
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ L; S* l6 j: V4 j i0 L" q5 S' rSysMin.bufSize = 0x1000;5 n: z) W; h( j6 l' Q
SysMin.flushAtExit = false;
; j# |5 l9 Q, [0 v$ q$ j- Q V V4 S! Q: k" i+ {9 B s+ N
var System = xdc.useModule('xdc.runtime.System');3 S! E# x2 X. I5 n
System.SupportProxy = SysMin;
. G* Q5 N1 q1 [ R' D2 Z! N
" M b8 B c) u6 w2 o/* configure SysBios to use the lower half of Timer 1 */
% G( y3 I3 L6 `var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
, b- e! H5 i0 \/ W9 Y* ^# `var Clock = xdc.useModule('ti.sysbios.knl.Clock');+ O) w- V2 n5 }/ m' r( K& T0 ^; `
Timer.timerSettings[1].master = true;
5 ]" Z- M+ ]" a5 zTimer.defaultHalf = Timer.Half_LOWER;
! ^2 E4 }- f# C9 h, ^. LClock.timerId = 1;
, p4 Q- K$ u9 w/ k/ }
' P {# O5 l$ s" n* Z
! k: p/ ^! i; P k+ n- k B/*4 n! @/ o% `7 N& F$ `5 n8 I: `
* ======== Miscellaneous Configuration ========
5 t: e2 I; }- X% \/ @. c/ L3 ^ */
. z9 G* e- ]2 @8 B- q' n4 T: m
/* set default diags mask */% L7 }- p5 T& R! A) c) j
var Diags = xdc.useModule('xdc.runtime.Diags');6 T- a8 ^* h; r
var Defaults = xdc.useModule('xdc.runtime.Defaults');% b4 R+ x6 `5 n# n: E7 K
+ J' ~" v% Z7 j" D, T- tDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 y, ]9 d5 `+ R5 f" w- I# v/ N
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ D: f" M' H! U" aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 n6 y" K9 D4 U" N/ d# N g$ F9 nDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 e l! Y5 J4 s) o1 g5 w
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! F6 [/ @4 m& b, T
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' O! x' B0 M* `: H2 QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 v! S e5 K2 ]: U+ @6 s
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
[7 s* y; R9 @7 ?( a4 w VDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 S a' m+ D* KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 |, G; ^( I8 L2 R
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 |7 d) d5 y5 G; F, R, \" {" ]" u" t
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' R- l% T! M j6 K- j, g: {& \, E
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* t9 }7 L! T j4 }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, t" x1 m# T+ ~% U3 t9 }; |$ N
" M0 F& h& @2 g- l/* override diags mask for selected modules */3 S" Y# Z5 }5 m! F. e7 x! u
xdc.useModule('xdc.runtime.Main');' _5 y6 ^. ^! }1 D! W) Q
Diags.setMaskMeta(0 x: ^; P- O; c/ ]+ _
"xdc.runtime.Main",
1 H' _# }$ k3 W- I; t: [/ f" k j/ J- V Diags.ENTRY | Diags.EXIT | Diags.INFO,2 [# k) b+ p3 t0 O' Q; Z- o8 h
Diags.RUNTIME_ON* r+ ^6 x* X. d8 g
);5 ^- [3 r t8 }) X; v. c4 {
$ c& ^, x" N4 t5 Jvar Registry = xdc.useModule('xdc.runtime.Registry');9 n0 _' Q1 Z1 V% g. A
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) n& p$ `& g+ ~% E2 ARegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( Z) z D! [* l4 CRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 s, P, Z o( H* pRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;# A, u0 o" @0 a( F9 b, E# h5 i& M" L
. y8 V9 w5 [. g" W- r
/* create a logger instance */- @* f4 \ G+ O5 V6 h
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) u7 j4 X& H0 _$ ~+ B& e
var loggerBufP = new LoggerBuf.Params();3 k, T* R! |( j% y9 d, c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! C/ s S9 C+ e
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 R1 O* k- I1 Y1 `. r4 _1 K' j# I% X6 T* s, t" N
var appLogger = LoggerBuf.create(loggerBufP);
- ^/ `; x, O8 j) b0 s( H2 wappLogger.instance.name = "AppLog_Core1";0 N# T7 P/ H2 M: D
Defaults.common$.logger = appLogger;! K( `0 m1 G3 l0 I0 s1 Y
Memory.defaultHeapSize = 0x8192; . d* U6 |" @6 h2 V0 `4 w
Idle.idleFxns[0] = "&LEDStatus";
) U: C* |9 ]; s5 b: bCache.initSize.l2Size = Cache.L2Size_32K;+ R/ r& P7 b4 G+ L2 V5 I5 K9 n
4 d- W" c3 f( a6 t. G
|
|