|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 X G s" a. l- l2 @6 T# i
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& \1 |( i, ^; z: Z! i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
4 l% \+ U' _. a. m
% c& Z2 X9 O$ l: I$ d V3 \是不是需要在DSP.CFG中进行配置
$ Q9 V, i; _8 j N# ?0 u我现在的配置为7 G; ~ R3 P9 j f' j* l. L# Q
/ g4 f# g. ]" P1 T- D5 m9 ?
/*
: Q1 o8 l: T- X6 X0 R * ======== Operating System Configuration ========
0 r. P) i; ^/ v9 ? */" S) J* s H q$ U5 o9 |. h
' m l3 L6 g+ l1 J1 }/* no rts heap */
& e) F4 e S. J, E- |) J& yProgram.heap = 0;
$ y" q$ z! E6 Y& O6 ? r# h) hProgram.argSize = 100; /* minimum size */3 D, M- Y/ k( O( }/ u" G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 e6 X6 \0 s! ?
9 l! s' G$ p8 J( y1 a9 T/* create a default heap */
7 z& \9 [ K1 M" F4 N E, uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ U; ]2 j; A$ k9 b( [var heapMemParams = new HeapMem.Params();. c/ I4 I* d9 @* y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 l) e# u/ w5 a D5 ~ d2 S, I8 Z
# d2 M+ G. {2 S3 ~5 M) y& Ivar Memory = xdc.useModule('xdc.runtime.Memory');5 T$ A. q3 n1 P8 E2 m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); @) Y# _4 c% _$ D/ G* Y
! a& l. L2 }4 o6 V, B2 @! t/* configure System module */( W& ^) o b0 z, l+ t
var SysMin = xdc.useModule('xdc.runtime.SysMin');% i+ n4 M& H/ @8 x. p
SysMin.bufSize = 0x1000;
$ n! Q0 E2 w u+ {1 dSysMin.flushAtExit = false;
9 A/ m: ]1 M; x' _- D" S. N3 ^
: f! J2 G. W) P3 Lvar System = xdc.useModule('xdc.runtime.System');: ~: g+ q& w0 S1 a) O
System.SupportProxy = SysMin;
7 ]7 e0 e: c E# }# X
; H. N+ O4 r4 K8 a z' P0 o/* configure SysBios to use the lower half of Timer 1 */
9 r- t% o$ Q& H6 V" b2 jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. f/ q6 Z3 b8 o; i4 p6 z- n" r0 gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');* v. v2 A2 c: b" v% C
Timer.timerSettings[1].master = true;
2 j) O2 ~. i& DTimer.defaultHalf = Timer.Half_LOWER;6 C0 Z. Y* P4 ?" A
Clock.timerId = 1;
3 t6 P: E, g [& m& a1 T, N3 H+ ?( C% C
" z b8 j+ Z0 e: p" S/ }: ?# s
/*( q: `; o- u4 ^- x% Z3 c
* ======== Miscellaneous Configuration ========
8 ~ b; y5 u1 |' e */
1 F6 Y% D" i, y$ K1 j# [$ [$ b1 B1 d" V7 P h B
/* set default diags mask */, y7 b6 i8 e) E% n
var Diags = xdc.useModule('xdc.runtime.Diags');* e0 |0 @/ a5 C. x
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 { C' b8 A" b' f. U) p, M! R9 D" x7 V: H8 u3 o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ p5 r* E/ h- W; ?( c; x
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& ]' t% R0 I+ c
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& T7 r0 K! X8 }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 z" @$ r0 u1 m' V% M
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& m# k9 i- p3 M
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 }8 Y$ O* X9 k% N* `Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 t) e* f' B: r# n9 z5 G
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* ] O4 F8 H+ o2 b9 w* {7 ~; b* g7 CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% A5 E) G( S9 P4 S( n) B UDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) \: b* B1 d i4 a
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 D% ^7 n* e" Y, m- \/ cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
! F; Z: R$ @5 L# rDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) \4 \3 L0 h; SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* A9 X8 W9 E6 _% E
3 v3 B5 ~) v+ @. E( Y3 _/ J" a/* override diags mask for selected modules */9 {9 K/ x( x& }; P" X% k+ r
xdc.useModule('xdc.runtime.Main');2 |+ b+ I c6 x; _! i2 U5 x
Diags.setMaskMeta(
/ A9 ~2 r w( I& G! q "xdc.runtime.Main", ~; \5 I9 F8 l& ?; s
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% {8 _3 w% X& h, c/ V' j% S Diags.RUNTIME_ON9 P8 v& t+ d& `- D- p' o& \/ Z
);+ d$ p. P' g+ P" o
' U+ O. f: P3 z, Q: o; e7 K
var Registry = xdc.useModule('xdc.runtime.Registry');; z& r+ @. V3 n6 U8 L
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 E+ N( P9 T/ {, q5 ERegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ d. V( R* Z) k: a/ C5 Q9 W: M$ i
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* C! k. {' n* @, k$ HRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 T: g" U2 m0 p" h# e' a3 X1 E% H% o
/* create a logger instance */9 t5 L$ ]5 p+ Z! k: T" \3 y* `$ T) {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
6 i% y! w' ^" ?. V# @* `var loggerBufP = new LoggerBuf.Params();) o, w* Z* l* k
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" ?; s9 a9 v7 s( y9 |
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 a- W7 z5 ~. o$ j* s, e
" U& J( v) G, h, X( j% ovar appLogger = LoggerBuf.create(loggerBufP);
6 v" C8 N! p2 G2 o0 u3 F$ |appLogger.instance.name = "AppLog_Core1";
3 ~6 @. u9 j4 n" N+ A0 zDefaults.common$.logger = appLogger;5 D+ N. {9 @, a& S5 ?) M3 {
Memory.defaultHeapSize = 0x8192;
# L# j0 \$ o* _% ^# Q! A1 ?Idle.idleFxns[0] = "&LEDStatus";
3 ~" i c/ X: G% ~$ Z6 t3 CCache.initSize.l2Size = Cache.L2Size_32K;- [+ C+ a4 A1 @+ z: u8 `
7 a5 _9 ~" q/ O( z/ J% A |
|