|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 z3 ?+ a' F8 _8 p
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 X* N* w+ C! {, ]7 ^
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 K- h5 d, F& z6 p: f/ C2 k
. O/ X0 n I1 {; n3 t是不是需要在DSP.CFG中进行配置
$ Z: |! G$ k3 z* | C. h, R6 _我现在的配置为
/ \, l- I9 }3 v' ] N, {) o8 \/ j6 }
: L S" |) l2 l* i0 ]" K/*' ?$ |, y* P. x% g$ F: P
* ======== Operating System Configuration ========+ { i: l/ d7 d3 @3 a
*/5 G. M2 G' l: ~1 x$ H3 B8 ]9 t1 D$ o
) Z9 E9 H: q" R* B8 W- w# g/* no rts heap */
& [& E( U3 L, Z, ]. ~$ \+ _Program.heap = 0;5 g# U4 o7 H n8 K, ]
Program.argSize = 100; /* minimum size */
C: L7 A* N2 u' @2 e; I" J# kProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ v9 `! }5 L1 N; _5 b9 L$ l. `5 I
/ Z" @7 S7 U( n' I% g9 V6 M1 [9 x/* create a default heap */
4 A$ z" U5 T6 ?: i8 m% avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 N+ C" ^5 }: F1 b
var heapMemParams = new HeapMem.Params();# n+ c+ \0 B% K7 Q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. z$ u& U& `1 T; \7 T/ ^
9 H7 k* x/ B. Wvar Memory = xdc.useModule('xdc.runtime.Memory');( \3 h& G/ `* v* N3 K- ]; m3 `
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
+ p; u; v V7 Q& u$ z* g' W7 Z
! A, t0 I u# i' ~- `/* configure System module *// S4 o E- ^2 y) e
var SysMin = xdc.useModule('xdc.runtime.SysMin');! o' [9 O* y* o' O7 a
SysMin.bufSize = 0x1000;
% C1 ?6 P# N5 n" o. J' B0 fSysMin.flushAtExit = false;
* n% D- j' c& c2 n6 L! ?2 p6 l+ l. I6 F8 y" m( s
var System = xdc.useModule('xdc.runtime.System');' C* |: U& {7 N0 x
System.SupportProxy = SysMin;# ?) d# w3 D; B2 o" L0 }
: d v4 k3 o7 n3 p: K
/* configure SysBios to use the lower half of Timer 1 */
s( ?* G6 E# Tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 a+ w% M2 t0 H( b3 V1 N' Z/ U* xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');3 G' D f8 \1 d- F* i- x# X
Timer.timerSettings[1].master = true;% `5 T$ W2 p! D$ ]5 d4 S' l) h
Timer.defaultHalf = Timer.Half_LOWER;1 c! T0 B9 f( i, Q
Clock.timerId = 1;
4 V( C0 N! g( P' x$ P2 j! n3 L3 A
9 ?- c w+ u( V! i) l9 U
) |4 K: K; c6 [. `. y+ ^5 B# N/*+ h$ a* Z- V% q: M+ ^7 F! a1 R
* ======== Miscellaneous Configuration ========. u/ x# [8 z) _2 _5 P4 G
*/# w* P* [& l8 s* e9 L
5 G5 y. s! \6 [; @8 T2 l/* set default diags mask */
9 e- V! f% E4 Rvar Diags = xdc.useModule('xdc.runtime.Diags');( l' }, s. d2 R5 }) e3 ?
var Defaults = xdc.useModule('xdc.runtime.Defaults');
( o: R) |, O; F6 Z. e+ E! ~, h9 }7 K5 w/ `
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 j! y- E }7 T- Z: u! i
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& |- f) M6 O2 t3 r3 i
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; y- p, E3 j) b7 B3 q6 [# fDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& d1 }1 V+ s2 r! r
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 ~! M8 e! x2 t/ ~$ I% n$ XDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' B9 i/ e# T/ j" x' Q) t+ `Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 j' S b2 ]0 L
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& W/ D3 j5 d, aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ R& b0 V: Z5 g) h( r* v! O. k
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 f" y1 ^4 |0 G3 r
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF; X' S( i9 ?: c M
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ x* M% _! p5 h" C( N9 Z1 c( O: n) B( xDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 s5 e3 [1 ^- z- }1 R5 w6 B# G% z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ e2 w- L0 T+ e$ H
" t$ N- L" c, m+ o: C; A/* override diags mask for selected modules */
# U {; O; O. g% Txdc.useModule('xdc.runtime.Main');
& |3 ^1 g" p# j w1 p( e4 Z! KDiags.setMaskMeta(
# M! ?7 K/ U6 U7 V1 Q/ g. X "xdc.runtime.Main",
9 n* Q- {4 u" v( a6 A4 ]2 @# h Diags.ENTRY | Diags.EXIT | Diags.INFO,9 Z( B3 B3 l( J% p. _
Diags.RUNTIME_ON
, N/ c) @4 i% \6 }4 f) j);& l! t- V. j1 c& M0 R7 e4 D6 ]
8 t. Y* @- P2 B$ n( n4 `6 @
var Registry = xdc.useModule('xdc.runtime.Registry');& n; ^; ^" V& _' a$ Y, \; ~) O
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* S% H' k/ L3 m2 p- oRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 }) z! P( r. D1 N& I" q5 v% b
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* b/ ?4 `6 l) z+ y; [
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
\+ a, b+ ^" { S9 ?: K8 Z) V1 r' b+ c/ y+ S1 {4 @8 ]& s: D
/* create a logger instance */
+ J% K% B$ g9 l) G M) H/ S6 ~. S1 fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. r. O* `; Y& x$ Z3 B1 [8 T! }
var loggerBufP = new LoggerBuf.Params();
& D$ J( J4 H3 B W0 w7 L) G# s! O5 QloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 `% j% k& i! {# v+ y6 N' _loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% r# s N; l0 N) p- G8 L, E ?, \" d) x9 [ A
var appLogger = LoggerBuf.create(loggerBufP);
+ O/ U: S. y- B9 t/ \- HappLogger.instance.name = "AppLog_Core1";
7 x' Q' K: x9 ^- QDefaults.common$.logger = appLogger;
/ k" C; j! z3 Y& nMemory.defaultHeapSize = 0x8192;
7 {) m( L+ e) v$ D% U$ jIdle.idleFxns[0] = "&LEDStatus";: k6 A) L* u* m
Cache.initSize.l2Size = Cache.L2Size_32K;/ a/ x8 }- S& w7 z$ q6 l1 }" I
) {* Z3 i9 H# b# ^/ E- V+ I
|
|