|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 p+ ^ ~/ D1 E8 w- l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下3 L/ ~6 o: Y/ W$ B Z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# Z$ v6 z ]) ^# `
4 g6 z0 s2 y _- {$ b/ C: F
是不是需要在DSP.CFG中进行配置
+ c$ G$ O9 o# { g8 b$ x我现在的配置为
5 v9 y, F7 h ~' M! d" W& z: j& [+ D+ I. [' K, e) l
/*, n/ y( m" n Z) |
* ======== Operating System Configuration ========, C8 V" c+ V2 d! z5 u4 U
*/: D O7 ?2 `7 j2 n J1 h: G
1 X$ d; R# U0 @1 J! \7 T# x0 B/* no rts heap */
9 G6 c- A/ @" C9 J- W9 q lProgram.heap = 0;
! E: x/ e9 R0 d( ^+ Q+ h3 JProgram.argSize = 100; /* minimum size */
; |/ a5 g) a* x2 S) v O4 aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 A" c8 M! c2 b8 h" {0 n/ k0 @. I- G0 X6 Z
/* create a default heap */* r( Y' }4 o" I( s2 u
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');! X- c, d( l. w# q2 y! W4 y5 [
var heapMemParams = new HeapMem.Params();
M7 s5 z8 H1 G1 H) p4 NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 |' Q" c: T2 Y1 t' V
- x T4 p1 @4 \/ r, X* I+ _var Memory = xdc.useModule('xdc.runtime.Memory');% n' h! w# U5 y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' D6 j& i y( m9 E7 T
& Z8 k" o# f% L- y
/* configure System module */
, N% P1 m$ x7 I! \var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 l; R7 @$ o* W" [SysMin.bufSize = 0x1000;
% U( ]9 Y) g' ^% X) K) _6 D( jSysMin.flushAtExit = false;
8 {* U! S# B5 y5 p
8 `6 ?" M7 d0 l% T5 @- R( vvar System = xdc.useModule('xdc.runtime.System');
, f$ b: X' t7 T) P0 _System.SupportProxy = SysMin;
8 p7 X2 F2 L- z: |/ r J" O5 x2 _ O) O8 u# z
/* configure SysBios to use the lower half of Timer 1 */
* s" r$ H1 g, w& vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); k. }" `& \, ?! u1 K' J* o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 F6 }. e) a5 d1 ?Timer.timerSettings[1].master = true;' H' S' s$ N2 @9 n
Timer.defaultHalf = Timer.Half_LOWER;
; p3 U% o. g8 Z, |' OClock.timerId = 1;
% \" l, h1 t3 E2 S- [
: w" S% g+ z/ @, R& ~' i! V' }( L8 j5 e- o; P: w- z
/*( B0 S2 Y5 U+ ^9 Z1 j: e' I
* ======== Miscellaneous Configuration ========" l; J. }" F& ]3 ?
*/
/ ?' U- U f9 b! k* G& _. F. V4 z, S" ^$ o5 \- ]6 [9 y; T
/* set default diags mask */
, a- s2 Y/ v! n2 {# Mvar Diags = xdc.useModule('xdc.runtime.Diags');% u$ I" m1 s A7 P, B
var Defaults = xdc.useModule('xdc.runtime.Defaults');
% g b% ` A1 w; Z$ ?) Z( X6 S! d! R% D! n) j, G' Z5 r
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 a- @$ ?; h# z" S) o. x! E4 ~Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) q+ R2 b; r" V& l
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. @% ?9 @6 Y' h; C2 L' YDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; b4 A9 A4 _- p2 d3 x8 d
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 W+ X) w7 q" ^! W# _1 y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
( p7 S. a0 n7 @7 S1 b5 _5 NDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- g1 D/ B' \* C9 [8 S) w
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 f, K; B7 c, Z. h- z' ?& _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF; ?: v6 S! Z, G' b; u1 g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;# E$ s0 G* m; A& A1 s
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;9 N" |- t* V5 T" _- C
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 m8 `+ d% O" `; \, x0 }% r1 z$ qDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ z2 l' z6 o' G- \' eDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ |7 f# j0 u, M( J% t: n6 f4 i/ z9 Z/ d0 b- p+ {
/* override diags mask for selected modules */; t+ [8 x! a* M. w |9 E' x
xdc.useModule('xdc.runtime.Main');1 K+ C2 C- k( Z9 j$ C
Diags.setMaskMeta(
, ^8 [+ ~. S# u0 ` "xdc.runtime.Main",
. t3 ~0 }. d4 D# M Diags.ENTRY | Diags.EXIT | Diags.INFO,
; W$ x; P6 t+ O! }" J4 y- j; m% s Diags.RUNTIME_ON
$ t: j# z1 {! j);, x! r8 ]' h- B! {: F5 S5 o
) z. N/ g5 x+ V7 W B% M2 O
var Registry = xdc.useModule('xdc.runtime.Registry');* r' b" J' `9 f
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; B: d3 |2 x9 I8 |( M; c
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 w' `* H* w% G. e! ]# V! R
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: D9 K( I: Y( D% b: r
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;" W7 H* t( B J
: i0 V% H6 f' a" Z4 X
/* create a logger instance */1 I$ x" Z" k0 h* r. e8 J- `6 n. N
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
1 i4 j' Q, R/ Q W p& Wvar loggerBufP = new LoggerBuf.Params();
4 x3 T( H; y8 x) lloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 ~# G: D0 p" x% N
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( Y* s+ f5 Q+ h5 S( H, J- [7 h& K% r( S
var appLogger = LoggerBuf.create(loggerBufP);
4 U) J& i9 j' F1 RappLogger.instance.name = "AppLog_Core1";5 p6 Z. I3 `6 I# t6 n
Defaults.common$.logger = appLogger; P; B$ J, K N9 m- e/ s! p) \
Memory.defaultHeapSize = 0x8192; " D6 Y, ~ ~9 M7 j, O) ?' P
Idle.idleFxns[0] = "&LEDStatus";$ s3 U, c, X( ]* s" _3 t" D% G2 L
Cache.initSize.l2Size = Cache.L2Size_32K;6 ]3 W4 r. i5 Q& Y# u) m
; y$ j2 F: x5 ^0 Q) N5 U* D. C. G( i
|
|