|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* T( P! y* S+ w! ^2 }) X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 [. J) f; u p8 Z& V(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# b5 l) c6 m: X7 h+ A
. V, a* M, S7 e8 N* w是不是需要在DSP.CFG中进行配置7 Z1 l1 y G1 E3 g7 Z" c
我现在的配置为
; D5 j' N$ G; R! q7 ?3 T$ i( a" i9 t2 Q# i7 {0 T6 k! _: B+ G
/*
8 e, C2 F q/ y0 L- W Y * ======== Operating System Configuration ========
% L% o5 J6 O0 |1 ^' u4 E! l7 y4 B& D */
$ x, Y, S3 p; r8 q
9 M* Z* R+ }3 Q0 @( k" u1 Z: ^5 w. f/* no rts heap */- @- z `. s, J
Program.heap = 0;) t% d8 `+ J8 C8 J' b
Program.argSize = 100; /* minimum size */
: n# k' d$ n! ^9 K% r9 xProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 N3 P2 v( E' m1 N- i! L8 f! E, {3 ]. j$ @, U4 c' Z
/* create a default heap */
$ f! S1 Q; T2 A' l. a2 n: Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 e% A3 s0 \6 T: B
var heapMemParams = new HeapMem.Params();$ b) T }* {, g2 \% D
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ x1 W/ E4 Q/ A$ _& ^' ~: }+ s- B* s5 K! y, V2 Q
var Memory = xdc.useModule('xdc.runtime.Memory');0 K J$ p- W$ n; y* V/ k2 S0 G4 q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% \6 \7 D* Z' j `0 Y8 u+ T
* ~6 h1 T5 x6 D* P5 A; ^: e
/* configure System module */
$ j* N+ d# o2 _. S7 Z0 o6 Yvar SysMin = xdc.useModule('xdc.runtime.SysMin');; Y) P1 s G6 Y1 }3 x
SysMin.bufSize = 0x1000;# @5 Y; Y# p2 i7 X3 F% U) Z z
SysMin.flushAtExit = false; a# E2 c( Y$ F$ ~9 q2 s& A
: a' X u7 E; X% P" Svar System = xdc.useModule('xdc.runtime.System');
1 A3 V8 g/ t0 L) f! _* l: `System.SupportProxy = SysMin;
" ~% z8 K7 F: u( N& s1 q/ y5 P
3 B* }5 b- z$ o3 v# i0 z# H# Z+ q/* configure SysBios to use the lower half of Timer 1 */1 T! m7 N5 I1 y- d
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. ]8 {3 w2 N* c- ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
! \: w7 p/ s. l$ j! DTimer.timerSettings[1].master = true;
) r9 s" m4 ?: }Timer.defaultHalf = Timer.Half_LOWER;- U! B& B0 g, Q0 L/ A
Clock.timerId = 1;' J E' c: q+ R! i; T- L
0 o0 s v* k0 f$ N& N5 T6 F# f ^- m5 c) W+ S6 k2 q
/*
( d1 K% l/ c1 p8 P9 I9 x * ======== Miscellaneous Configuration ========
$ K' ]. F' R8 g, I0 O( \" `* o) N */
+ I5 V* A: E2 u C
3 W$ T; l4 d& \1 h5 ]0 g/* set default diags mask */2 E% v3 Y8 V9 G7 r0 b& V8 d
var Diags = xdc.useModule('xdc.runtime.Diags');
. ?6 Z& @% v8 hvar Defaults = xdc.useModule('xdc.runtime.Defaults');
) J4 p# @+ G0 _, l3 V* U" T
7 |% K/ P; B* R+ aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 N* {7 {" f& `& ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 [5 ~8 F6 ^8 i, \Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; m8 X8 E# h8 H! X4 G' _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" @% v! I4 p6 \Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 T8 y" l! g$ z, E1 ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 k) o7 u# d0 \: j9 ^ b" w* l6 e
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 ]7 l1 L0 S3 M8 V7 yDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 r9 L L6 f/ O* GDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;) E1 A& B" L Y- w
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% H4 n4 X8 F& K
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 y, r# Y/ M8 }, _# u1 }9 y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 l( J: x, l# x" m& V- ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 q+ w* T* u8 \( z6 Z) l% [Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ |* r4 Q5 H- ^' f
! ^/ L5 j( T j6 s% j! C
/* override diags mask for selected modules */
: ?3 p) S' D4 Y. m; k# y4 txdc.useModule('xdc.runtime.Main');4 z6 l% |! ~" Z4 i5 L/ v# x
Diags.setMaskMeta(
; k' R8 u% z! E2 B1 X; o; T "xdc.runtime.Main",1 ^- ]# |+ r9 j& f5 g( F
Diags.ENTRY | Diags.EXIT | Diags.INFO,0 v: S$ y; u+ H% G% A0 q
Diags.RUNTIME_ON
, L6 }, P; T3 ~) @) c8 A c% I0 S);: z4 a7 C" D8 y9 t4 l
u8 l; b2 b4 p* Bvar Registry = xdc.useModule('xdc.runtime.Registry');1 S# n( l1 [) j0 s/ r
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ s; }, P+ F' }) g" Y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 ~" S: N$ u" s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;% _3 l* Y# `2 o
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 h: o9 W0 k& l/ {2 T$ u
. @5 o, Z2 f) ^- X- Q
/* create a logger instance */
0 A( G! B) m4 h. s7 u5 v2 H: s Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, Z3 }6 r* G+ U1 T
var loggerBufP = new LoggerBuf.Params();
C: G% ]6 A. E. C3 eloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 w4 k) k; H1 b" A% N7 e2 ~loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- S: ]1 r; q1 T9 Z2 t
h- e9 [( |# _& F1 ^( O9 lvar appLogger = LoggerBuf.create(loggerBufP);
* _! k, h( `- y' f5 g KappLogger.instance.name = "AppLog_Core1";
) u2 x: L8 m- F4 yDefaults.common$.logger = appLogger;
3 C4 F) d& u& h/ l# A3 BMemory.defaultHeapSize = 0x8192; " {6 [2 D& F& g# J0 {
Idle.idleFxns[0] = "&LEDStatus"; K3 ~- @1 b4 K; x! ~ ~
Cache.initSize.l2Size = Cache.L2Size_32K;
) X0 \3 [& Q/ y) V, x, M1 Y# J( W9 K- c# A( \( c( i" B8 w
|
|