|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 ]5 ]( ^6 ?4 x7 |/ g f& g
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) V/ w- B. I# R) h5 @' D$ Y
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)% l. |0 H4 U' p& m8 M' p
' P& i" h' K6 N3 ^' Y2 t2 {是不是需要在DSP.CFG中进行配置% {) {' Q! n c6 r) ]3 u
我现在的配置为, O# D# B$ R* f
; i5 f# S+ T `+ ?! S! S# m/*' |; [% w) s: i: G" m
* ======== Operating System Configuration ========
3 V6 ?$ ^1 Z6 J% |& j* y */; o+ \& i$ f' `5 I! ]' B, t" t
$ R' j& C5 W: O2 S/ S( X" F& q5 M7 s/* no rts heap */. E, Y. X2 F- }2 l' W
Program.heap = 0;; J* _; r* Y/ f& X K" C
Program.argSize = 100; /* minimum size */
* h T+ N+ r7 i. c) SProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. _8 [9 ?: E9 O( m) B2 }3 [3 g& J3 C/ |- D
/* create a default heap */+ v; h5 z3 L7 H
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 I3 f" c! R; H! N
var heapMemParams = new HeapMem.Params();. I6 I2 o! V. H2 H0 w8 i5 u6 d; p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. e( O* O9 g( y7 j4 k% h
5 l: J- g' y, Q' n0 U- avar Memory = xdc.useModule('xdc.runtime.Memory');( W9 R6 S0 N% d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);4 _% i+ h! B% H- r
# w2 I6 C: x- ^/ M* \
/* configure System module */
. W, w+ F! I8 ~9 Qvar SysMin = xdc.useModule('xdc.runtime.SysMin');0 K: {1 h' m1 S% X7 ^" z
SysMin.bufSize = 0x1000;
) Y6 k7 z$ G6 y, u* LSysMin.flushAtExit = false;
* j$ L# e) r0 G& V, z' ?# [$ _# V# Q6 h1 |: A4 H
var System = xdc.useModule('xdc.runtime.System');
/ n0 Q h& k$ SSystem.SupportProxy = SysMin;
5 U$ w/ A! x, o! K6 ]; h. [, G; O- y( W
/* configure SysBios to use the lower half of Timer 1 */# R3 u7 I9 @5 C5 h% I& }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ _$ }4 F/ l( |var Clock = xdc.useModule('ti.sysbios.knl.Clock');: \/ a* f) g7 B- ]
Timer.timerSettings[1].master = true;
# `, f& o0 V. N) J [Timer.defaultHalf = Timer.Half_LOWER;2 a" F7 |) X$ { g# S8 p2 n
Clock.timerId = 1;
6 c% r6 Y6 e$ o! D: K2 Z2 `% i# H* p8 ^5 Z9 q
- t5 H' G. T$ I5 j) }# U$ h/*
9 w. r6 O+ ^8 [& H * ======== Miscellaneous Configuration ========1 K9 x* r8 v. Z6 f% Z% ~) ~
*/
0 E$ F* p6 D$ O a7 G% l) f8 f8 K/ g9 M# _" E+ Z
/* set default diags mask */! s1 D+ [& C1 O5 C' G
var Diags = xdc.useModule('xdc.runtime.Diags');1 u3 ~/ M+ S# {9 X" {& f; y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 c. c& Z6 z) P/ U: d; D# q# V# V% Q0 A. {2 z2 m" s6 v9 w
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 q9 T' m* y# {, ]% U% X% K! T
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: y% k) `+ t S1 ~% X4 JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
( v' J; h: G5 W, o' Q8 U wDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
m. ~. `7 k2 d* y7 w6 F# V' M( O* N: C3 k8 DDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 |" b- s m# J: W( |$ E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 G/ ?2 p! V! Q% u% T0 lDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 `- W c6 k9 m' s1 LDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
~; F- c c1 e: W7 N: X6 g5 ]Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* ~; p3 A Y; \" L7 n" rDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- ^6 v) k- e6 T" o' m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" U3 H% V7 W" \+ e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 B- J1 R$ C/ v
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 S$ {3 [! f; f* J( h
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 _: k. C& E2 U# y% i
1 h; T5 j1 l6 z0 t" C/* override diags mask for selected modules */
/ F H* D$ W& w/ |xdc.useModule('xdc.runtime.Main');8 J* P6 [3 H4 H" b9 u) x( @
Diags.setMaskMeta(3 n2 P' w) A: P9 q' y1 T- H
"xdc.runtime.Main",
h: [5 f* ^) f8 | Diags.ENTRY | Diags.EXIT | Diags.INFO,
' j* C! W3 E8 l3 ^# C Diags.RUNTIME_ON
* ?1 X7 a3 b3 e);) n1 _' j4 D1 L7 x4 V8 b
: b% a/ ~1 c( F# q4 [var Registry = xdc.useModule('xdc.runtime.Registry');) d7 C; d* e6 g% i, p6 t
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ R$ M- K0 Y5 K+ p; c
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; M1 l- {6 h/ Y( X' N( _
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* ^$ _2 A- R# O# H* o
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 w, M1 b# Y- q2 \) b# p. W1 g4 @# C& z( D5 W& A
/* create a logger instance */( z1 a% |: x# Q, G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 `$ i6 }$ ^. b* _6 _, C# vvar loggerBufP = new LoggerBuf.Params();
0 _; c, n/ f2 R% z0 T& H7 ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* v5 _9 ]- A3 b" IloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 }4 f6 m; B2 G r& `
& Z. w; r9 O5 Z$ J2 G9 B! cvar appLogger = LoggerBuf.create(loggerBufP);; t9 q _4 }3 d
appLogger.instance.name = "AppLog_Core1";
% i9 C* a, ?& | g) J* ZDefaults.common$.logger = appLogger;" D& y+ c6 e# A; M; ? E2 l
Memory.defaultHeapSize = 0x8192; " s; ^8 K! O* o
Idle.idleFxns[0] = "&LEDStatus";, P% R9 b- Z# D0 u- T3 J. w N6 u
Cache.initSize.l2Size = Cache.L2Size_32K;: |0 f' a6 `! z3 d0 l
k7 n& q- y) A
|
|