|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; V; j" t( s" d3 P) h2 N我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 s K3 J# q6 |, E F
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# D u/ \4 ^" v/ {$ C0 q
. D$ c' p& Q! w& f9 A1 n+ u
是不是需要在DSP.CFG中进行配置
2 B7 J0 D( r; { k- E我现在的配置为" H' D& T- u1 ?/ v0 e; \' R( W: T
, ^$ F/ Y- A1 ? C4 S
/*
6 o* s3 s7 C! ^- y* X4 p) Z * ======== Operating System Configuration ========% f& @: x: z0 r, g9 ^5 s
*/
1 d+ |9 o# e' ~$ L
. @$ h3 ]' W6 ~& ?/* no rts heap */. y- d/ x; O3 @1 _, |
Program.heap = 0;
; S* L5 S# P8 Z9 M1 KProgram.argSize = 100; /* minimum size */ B# X. J7 p* K, h( }6 p$ M/ Q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: `) L4 U, _. }& C
) }/ \2 e" Y+ f% m; C$ ^9 P& }4 W& A/* create a default heap */
7 E q, e3 d z# nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');' I0 Z# w6 ^: e7 u9 P; |& T9 {
var heapMemParams = new HeapMem.Params();+ S% @. i1 p, @, x* x p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ @. M+ T4 T' Q+ m
: c' I; z' G- p
var Memory = xdc.useModule('xdc.runtime.Memory');0 }" m; y' ?, y$ w/ E1 L
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 B; w% s% h8 k9 k. g" C2 b- B4 p) X! f& m
/* configure System module */
! e' W, c* e0 T8 a1 x- @var SysMin = xdc.useModule('xdc.runtime.SysMin');6 _, c2 G# x( B
SysMin.bufSize = 0x1000;
2 l8 o/ E1 s6 K P8 F+ _SysMin.flushAtExit = false;
2 P2 t' S8 O9 E1 j. H; O: u0 X: E
( c# t6 u/ s4 {- Uvar System = xdc.useModule('xdc.runtime.System');0 i: V! ?1 C X% b; t& W( ?
System.SupportProxy = SysMin;
' W. N5 y$ g7 Y! I7 c( M
2 t; I: z D- K/* configure SysBios to use the lower half of Timer 1 */
% {2 E0 P* j3 X& }4 h8 ~( Zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* h$ {& C$ j5 R/ L! H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# w" B: I6 K3 D4 @% M6 b* KTimer.timerSettings[1].master = true;
5 |3 {. Z+ r5 j. |7 F* \Timer.defaultHalf = Timer.Half_LOWER;4 S0 [3 t" n9 t0 B! B- L3 P4 K
Clock.timerId = 1;
2 K- n4 v% I, X% Y2 l! W2 T0 b8 S* i, q" L5 _$ h U
8 ?) Q8 W) P- }4 \/*
w! c Q" f8 E. t) `% G. A6 Q * ======== Miscellaneous Configuration ========& t8 ~0 s; x: g6 ?& }0 O, B
*/% t; n. w: s& ^8 M" u/ p/ e
* _$ _" S% H: }
/* set default diags mask */6 c' V' E% t5 ?7 W6 ^- X+ f4 Y
var Diags = xdc.useModule('xdc.runtime.Diags');
3 x0 q4 m) j$ N- hvar Defaults = xdc.useModule('xdc.runtime.Defaults');( i- o* J: ]) @) l" |) Q2 D! n: T
4 i5 W2 I* K' P8 a# L
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' _- I0 `3 }- U
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. d: }: d* |0 a+ X' z9 n+ ~Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% A5 Y3 R$ U6 |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: F* T6 D8 u9 L% V8 Y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ z4 r! {; O* j- W1 e' `
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;' ^& p( r4 C2 S+ O) p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" w/ S0 Q" {& F$ n+ l( yDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 h0 L3 E- c! x2 n- Y& ADefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. J" J/ N: J% J6 F5 ^/ q, p+ zDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 C4 X4 S( \# i( _% s) D7 [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# D+ O! U1 X" ?! p \1 [
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( L( \: F. e+ h+ |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' I: V; ]! e5 h$ j
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 t# ^$ H: |, U
- ` e3 d5 R r$ y6 K/* override diags mask for selected modules */2 O. q- Q3 r3 G/ _" ~! h
xdc.useModule('xdc.runtime.Main');- P0 z* g2 H) x5 s' A* e- K
Diags.setMaskMeta(
. o: |) X& n* R$ q "xdc.runtime.Main",
" f8 @2 J" `2 ]3 J* O Diags.ENTRY | Diags.EXIT | Diags.INFO,# A3 M( U6 n, r2 _, c
Diags.RUNTIME_ON& Q8 @. n5 j$ J0 q& f# l0 h0 U
);
6 o( J0 Y$ B& X0 P
1 g, }" s* Z, ]5 I. Y: i/ ]var Registry = xdc.useModule('xdc.runtime.Registry');
% M+ a6 x& a* R( h" tRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; v4 T2 v9 Y# C, C1 W6 C$ a" ~6 ]: CRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;, P* y1 V( s E+ X5 e% C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
, r; p3 q/ {9 LRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: s) a+ S7 I% [- n$ e/ m
; ^7 W( ?. a/ u6 L7 t/* create a logger instance */
- A2 X% t: Z8 kvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 [( ~2 N" O7 J D
var loggerBufP = new LoggerBuf.Params();
' i8 g. f4 P/ ~! p3 H7 w/ CloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ t$ X6 ?% a! x, h0 N' C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- K! q- Y) v3 S% T/ x
# n% L- R, S/ d% {, qvar appLogger = LoggerBuf.create(loggerBufP);
$ o) ], x$ R- a ^2 G0 R/ y3 bappLogger.instance.name = "AppLog_Core1";
\4 M6 X3 h9 {1 YDefaults.common$.logger = appLogger;: ]/ X9 S" {$ z, C3 v. g
Memory.defaultHeapSize = 0x8192;
& [: e- C* m! f' DIdle.idleFxns[0] = "&LEDStatus";
+ `* F7 P9 ]6 s, ICache.initSize.l2Size = Cache.L2Size_32K;1 T6 a: [. b0 t& L( ?" @1 A
8 _9 O5 y2 I/ V2 D+ Z
|
|