|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: S+ l' z9 E8 o+ V |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. T& H o( t% p) |4 y8 |! [$ h: F* P% V2 \(不过疑惑的是,为何单独DSP仿真就没有问题呢?)* w+ D* P- a9 G V4 w- p' f
/ O9 M0 [( m! i3 ]9 a
是不是需要在DSP.CFG中进行配置
0 d! N4 g7 z" @我现在的配置为
/ E4 [, V8 l0 q7 v2 z. h% t! P2 K/ W/ [: Y2 t; L+ y
/*, X3 r) J) [5 L( A' V- `- t
* ======== Operating System Configuration ========
# _ U/ k; D* C+ ^' J */
& N9 P8 } q; W" S8 E3 ~
+ L8 u+ v6 A7 Z, g/* no rts heap */# U0 K i, L4 J/ }0 h. I! v
Program.heap = 0;
% [' z; K' U8 j" G; B& H9 J T% E1 ^Program.argSize = 100; /* minimum size */ n- `6 V1 F" S" {8 S. e
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 t/ T7 {1 D8 Z5 j U" f1 z
9 p; z. U0 a3 k# B/ w% m P
/* create a default heap *// }, l$ J7 L# {" ^/ w
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# k6 p1 ]" v8 z. I# m6 @( ?
var heapMemParams = new HeapMem.Params();. @: _! m/ `2 k% {0 a3 A
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; N/ V! P- l2 g
# G0 ?2 T7 D. P% Bvar Memory = xdc.useModule('xdc.runtime.Memory');
/ t5 f( O1 a% K# S1 D/ VMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 K) c9 T% q. S. O' \. s6 r( D. q8 m0 \' k. o9 Y/ L/ c
/* configure System module *// n! U- g2 l* w1 j G
var SysMin = xdc.useModule('xdc.runtime.SysMin');( O1 I9 o7 n1 |8 A' K
SysMin.bufSize = 0x1000;* g) V" p/ N+ s8 u, l2 F! `6 ~
SysMin.flushAtExit = false;& @% @; ^( S! {2 D6 m9 }3 O6 c
7 [3 k8 x2 T. d. e( n' Cvar System = xdc.useModule('xdc.runtime.System');
) p' }2 g4 p1 \ ]7 LSystem.SupportProxy = SysMin;
; l* A% \1 T/ m9 p ]' x
: N; B" i- W! T' H/* configure SysBios to use the lower half of Timer 1 */+ k7 v" C& a' x: ^* K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ U8 B- d" c7 V9 `) Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 P% ]6 X$ c: l# q. |0 GTimer.timerSettings[1].master = true;
, N/ G0 {- z( F. s! @Timer.defaultHalf = Timer.Half_LOWER;8 w: t! e) I# j4 z" I8 s$ \
Clock.timerId = 1;
6 G& t! @' `- f6 d
2 m8 b' f: X K
, Y+ S! v* E9 r9 a/*; K' N' f, ]; G( C$ T
* ======== Miscellaneous Configuration ========
" M- `. A( }- w# b/ s# T1 [! ]# U */7 e; v1 t, P. u- O
- E: l) ~: z P: ~7 N/* set default diags mask */
# g4 y; Y& J8 j- Kvar Diags = xdc.useModule('xdc.runtime.Diags');
n5 q# o' q& U$ m2 avar Defaults = xdc.useModule('xdc.runtime.Defaults');7 Z. o: {/ N! g/ E$ s$ ?/ N( t
2 m2 u1 B8 k6 g! |6 B
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# }1 Y5 Y$ a5 q* z. J; [( |
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ N4 i4 T5 p2 p: Z8 P, P6 ^; u
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ z( b3 j3 a: x# J" e$ |* D
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 L/ B0 S2 X4 b3 h
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 k. l: E2 D& n$ O; N- uDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 Q" a4 e5 A5 q1 g
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
; Z; z/ e4 W: oDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" G6 D0 Z! f! n( A+ c9 O6 C- IDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! B( l$ }$ o, q* `" ?Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;; `* e( ` s" n/ S0 V5 d+ P4 I' G+ o4 {
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) M5 O% X# y, P3 q. d% jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* {1 E+ l2 M& ?# n6 [
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 W/ | \# v; ~5 B8 m& mDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' H2 T& l+ I" t; q$ \
( u' @8 B- u0 T4 @) I5 v/ l9 J
/* override diags mask for selected modules */) U4 x9 r# i0 Y Y! D0 l0 G- U) ]
xdc.useModule('xdc.runtime.Main');0 ]2 D, i+ n! x
Diags.setMaskMeta(
, f# F& z% ~9 i( ]. C "xdc.runtime.Main",# B; i* _) O' E9 V# @: x
Diags.ENTRY | Diags.EXIT | Diags.INFO,$ y* d- j7 a# h" X& m; G
Diags.RUNTIME_ON$ X, T4 U) g0 R6 {! Z
);1 d( B. r5 K( Q) |
6 P4 @) }* k, T6 j6 P0 a1 Ovar Registry = xdc.useModule('xdc.runtime.Registry');
$ A) S5 E4 E" u1 qRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, h: u- M; d/ \# g- Q2 _ V6 d
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, G, Z7 r# M& D) a7 G2 M. g
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 F3 q& d2 p% d' Q O5 i/ VRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 X3 X5 ?% S3 w( {8 p& B
* B" G8 A7 v4 r: R+ P" S6 E/* create a logger instance */
$ B& V) j4 S5 i2 i# avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
1 c0 g& ~' W, A0 Z/ Y# y; zvar loggerBufP = new LoggerBuf.Params();
, x5 i6 Q; s8 a- XloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, m% X k3 V1 H& r& z" q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 G: L5 Y7 V9 Y8 a I
$ Y/ q" b. [$ t, m& d/ C+ Z9 b- kvar appLogger = LoggerBuf.create(loggerBufP);
) Y) O8 t0 _. q8 ?/ N9 VappLogger.instance.name = "AppLog_Core1";
) k5 a* @: |! ^" \Defaults.common$.logger = appLogger;/ I$ l* A/ L1 U, Z4 L
Memory.defaultHeapSize = 0x8192; + n) `# N/ V" y( G+ C
Idle.idleFxns[0] = "&LEDStatus";
4 c# c+ Y( t; n- R+ O( H1 zCache.initSize.l2Size = Cache.L2Size_32K;" s+ Y) p2 N. t' {4 T
0 g+ q: A2 q9 J4 [ |
|