|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% i6 k( P5 C1 H我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: {! n( ?7 a9 ?9 ]! e: ^- ?* Q% G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- X3 M a3 a& D' K: _6 @/ W
+ o* J+ m: E) Q7 O0 S ?. k2 }3 U& I是不是需要在DSP.CFG中进行配置
. L' O8 C' Q6 w6 y我现在的配置为
6 r+ I" b# s, L# R
) L$ d; @; V( r; _/*
: _! K G) `1 F* X2 ~ * ======== Operating System Configuration ========
3 N# H) N- r u- F5 J: m */5 ?4 Y8 q4 O5 n* @
) i0 o' X7 u) Z0 S& t0 p- Z/* no rts heap */& \3 d [2 g# G) u. n$ n
Program.heap = 0;9 a; u. @& r& ~# [3 Z3 P
Program.argSize = 100; /* minimum size */
7 l- W- | S7 e# D' |7 L7 Z1 DProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 w5 I7 y/ ?# U
. @- X2 x1 v0 F6 O. p7 S; @7 D/* create a default heap */( u* ~6 {. W: M
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
) X, ~- k& ?) k: s3 @/ ]var heapMemParams = new HeapMem.Params();$ n( T" W% F# r/ \
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: r4 u4 p& E" \. }8 y9 }: J
" a' T8 k& i' q3 V; F8 Bvar Memory = xdc.useModule('xdc.runtime.Memory');
& {3 }4 D3 d! r- g5 SMemory.defaultHeapInstance = HeapMem.create(heapMemParams);' V+ i6 b/ Z# J7 j K
8 s1 b( e' M( L) ~
/* configure System module */& i% O$ J* @1 ?! _
var SysMin = xdc.useModule('xdc.runtime.SysMin');
# U& y" b, B5 @7 v- u, ZSysMin.bufSize = 0x1000;
' V- V% c# q0 t) S+ Q* HSysMin.flushAtExit = false;
. J1 ?5 t' _( W: S* o( J0 b% j' M; v, F
var System = xdc.useModule('xdc.runtime.System');
3 _8 w- n) v- c9 M2 JSystem.SupportProxy = SysMin;
8 c5 i# f( @: h; z- {1 P
6 U) s0 n) x; k2 M/* configure SysBios to use the lower half of Timer 1 */9 e& P/ {- @$ [1 I9 k
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" i6 R' f6 w, }var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" R5 D. S) E# F' D( XTimer.timerSettings[1].master = true;
' a9 M5 { G% g7 b* LTimer.defaultHalf = Timer.Half_LOWER;- h8 j( _7 C$ O9 d9 r2 f/ r
Clock.timerId = 1;$ H7 m5 s* P, ^8 W' h
0 F) X0 p& z5 D( Y0 ~8 a
- a( N$ k# |, T, {4 v+ ^( q
/*
2 q. o: T c3 d * ======== Miscellaneous Configuration ========. u/ @. c6 A, a
*/5 n D% M' Z5 _ B9 M) @2 U
& b1 a; @& u+ [, m9 @/* set default diags mask */
8 h* z5 I8 T0 T6 ivar Diags = xdc.useModule('xdc.runtime.Diags');
0 ]+ f' A% |! }- Q% ivar Defaults = xdc.useModule('xdc.runtime.Defaults');; x: {1 N- s2 }8 J0 @
& K- a8 k- {0 ~% x9 ]
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; `, M! ], M2 p6 [% b( a; RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 d5 m' f5 X4 e7 S6 S/ Y7 p
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% @8 Z6 k, R# D* M+ t" o! w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 w1 D5 v5 `% ?1 A* nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 T; g" f- G( F" \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;( D5 R9 a ?# S8 D
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 q- P- S; T& i; v. U1 p- ]( w
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; b% S2 x: E' a4 J" T, W3 O- c
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 s# v6 ], J: S( ~% u. L/ c
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 a# s- ^, I8 s' e4 m2 N( t3 Q- GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ M7 t: n2 r) w* bDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 w; P: k$ w, l8 d" Q/ ^: V
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;- Q; z9 s! ]( O. U7 V# ]' O6 Z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 D& Z9 z0 [+ T7 F" U; P% M3 q# T& {/ n7 X- M3 s5 ?
/* override diags mask for selected modules */
' T5 E; E" o7 Jxdc.useModule('xdc.runtime.Main');# F4 @+ O# Z, h
Diags.setMaskMeta( ]2 h2 o! u1 r Y
"xdc.runtime.Main",
9 u; v5 N W% M* U7 ~# G Diags.ENTRY | Diags.EXIT | Diags.INFO,
% R$ E9 S# D+ g/ G d7 { Diags.RUNTIME_ON. \# J+ w3 e; T
);8 _7 Q* Q# Y$ p
# y) j9 |, v j4 u1 }var Registry = xdc.useModule('xdc.runtime.Registry');
- c3 f% @. v, o5 ^" N2 \1 M1 FRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% o. ~5 h& P- U/ ]4 y: hRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ _: o9 z8 F7 c* J- gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;3 W) |' Z7 j& p. [0 _
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# t5 t- H3 T, {8 d t8 T
8 z! c9 ? O0 [/ _; l7 }
/* create a logger instance */
' l& g. x+ V# d% d$ i5 \6 Mvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 ]4 }7 Q( ]5 `* b
var loggerBufP = new LoggerBuf.Params();
f- e5 e" \" ^% m' |7 D! k1 \, jloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
_: W( J% T& V3 e0 vloggerBufP.bufType = LoggerBuf.BufType_FIXED;
a0 w) }, x# u& ]/ H* x8 ~6 k- j( J
var appLogger = LoggerBuf.create(loggerBufP);+ l9 v8 I" p3 ]9 o- s, G
appLogger.instance.name = "AppLog_Core1";
% t4 c# V6 M# }% ]" N ~Defaults.common$.logger = appLogger;( c1 e& I( k. F7 ~2 N2 p% Z0 \
Memory.defaultHeapSize = 0x8192; 7 S/ v7 b" E- r9 z! ^8 b
Idle.idleFxns[0] = "&LEDStatus";
* _( t0 y3 l9 W3 a7 B3 k0 |/ E" sCache.initSize.l2Size = Cache.L2Size_32K;
- ^2 ?7 c. Z4 Z8 j5 [* c, C' W
5 K/ _4 |9 T( q7 I9 F |
|