|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: L# n+ Z% i3 y0 H% ^我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! e) @0 n$ f: S b- }( P) |5 c(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 a; G& ? R2 z, B6 S
O( c2 a; h N是不是需要在DSP.CFG中进行配置) x& U2 P+ |$ K2 _, N
我现在的配置为5 b% p/ o7 Y- x. q+ @9 j: X
, P9 B! m2 l$ F; M% l3 z. V
/*
8 u! B' A3 J) s+ E * ======== Operating System Configuration ========
& e i# q1 e/ y* m0 C */' x* m, |( I5 T! {& w0 ~$ i' z# X
G1 L5 G* {$ I: ]2 p
/* no rts heap */
3 \2 y6 U/ U* _6 u; |Program.heap = 0;
$ W0 i" U: D( JProgram.argSize = 100; /* minimum size */4 t9 M6 Z+ f! l- T& z2 p' I; ~
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# @% Q2 ~+ }3 M
1 a/ `( R: P+ |- j. v: y5 @/* create a default heap */% M- Y6 Q. B% L, @% \7 m3 E8 j
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
! R3 J# H2 e6 n/ D7 j2 @2 Cvar heapMemParams = new HeapMem.Params();+ s4 g N( v* D$ A# H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 o; j( k6 u$ G4 r: r. ]
7 V, T: D4 e4 N* |' E$ d. g$ mvar Memory = xdc.useModule('xdc.runtime.Memory');
4 p! M8 M! e5 i h' ?Memory.defaultHeapInstance = HeapMem.create(heapMemParams);4 K, D5 m+ `9 s# V, M4 p
' `; w0 L. H- K8 v) l9 Y! ? z
/* configure System module */
7 W1 B* D$ \5 ^4 E1 Uvar SysMin = xdc.useModule('xdc.runtime.SysMin');
5 \2 X, x8 j. ]" S$ a0 @6 L7 NSysMin.bufSize = 0x1000;
1 W6 J4 s" R" E8 cSysMin.flushAtExit = false; J# U/ d% h: @9 y: |
) s9 T/ _, Y( m+ ^5 ?% c, U ^
var System = xdc.useModule('xdc.runtime.System');1 E& O6 T9 b `( d7 R
System.SupportProxy = SysMin;3 e$ u5 Q0 ]0 i2 h; S( l7 a9 T
. V. d& F7 x. ~9 U3 I- V
/* configure SysBios to use the lower half of Timer 1 */
' U6 P* A4 w" y+ b3 R ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 R: C% g6 @# O8 r5 p
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 }( C/ D1 [1 iTimer.timerSettings[1].master = true;( @2 Y; ^2 m& o1 ?
Timer.defaultHalf = Timer.Half_LOWER;
3 X1 K: d( U# [+ ]* PClock.timerId = 1;
' o! I9 h& J% g9 w, C. Q# ~3 {5 O( J. U8 h- H1 i' A
$ D; h! p1 |; ~( k
/*1 g: a. R- m9 w& B
* ======== Miscellaneous Configuration ========
% N) T- C/ W( s" V3 ] */: U2 ], p( A' p `) B H: e
0 P& G7 S' h x! M2 o5 v
/* set default diags mask */
Y5 Q& `5 v$ W: d9 jvar Diags = xdc.useModule('xdc.runtime.Diags');5 C6 v, M0 ? n. h# _: z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
1 J8 o' i( D/ p& w. Z9 L- A _, J; `# d, M# I- B
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- ^ ]0 T, b+ Q" _
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" w# L8 b; g K! {8 A, Z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 a* R* G4 y4 O8 W- HDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 \/ C; ]' U, R2 C6 U* F a3 {) w. Z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( E' J% Z5 `6 e, J" eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) u! z3 E* Q3 a* d1 QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, `" h5 @9 u+ d5 v4 k
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 v0 E( a- q2 z- u+ L# ]! h2 ~6 C0 K
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 T- \2 T* Z* v
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( J, W' m: q2 c4 [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ J$ E8 a% L y: `Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 U F+ H; C q- y( r* M# S: h" cDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ r- G. r) B+ G, f5 z# h
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) [+ G7 X* y- h ?8 H) N
. t8 N( M7 U" R
/* override diags mask for selected modules */: ]; H8 k/ Y4 x( M7 {
xdc.useModule('xdc.runtime.Main');# m8 I4 |- Z6 H" G. ^/ N! b4 ^
Diags.setMaskMeta(
% n) |* W* h# `4 q b' c& W "xdc.runtime.Main",
6 j6 U( i% ~" K2 U0 H' j Diags.ENTRY | Diags.EXIT | Diags.INFO,
. ?. l& f7 g1 g F' u Diags.RUNTIME_ON
8 x2 X' U- i, g);8 {/ |( M2 c$ u2 |% S
' V+ `* J2 Q2 M
var Registry = xdc.useModule('xdc.runtime.Registry');
/ ^ X: J) \% ]) WRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 y' Y) W0 C. R9 ?: ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;' p% R6 W! g6 \/ S8 p
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
( k+ F* D# _+ j7 d4 `7 X0 _1 CRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( ^; V3 J1 |5 U, G+ b9 h0 Z9 f9 g$ K" T$ C' x. y
/* create a logger instance */
2 M3 f- N! H: ~' yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ y( `, y: R+ R2 a5 \8 vvar loggerBufP = new LoggerBuf.Params();
5 c5 w2 z% m+ HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 q% y" t* D9 O mloggerBufP.bufType = LoggerBuf.BufType_FIXED;- I& U3 Y# K2 R& I- d( V! O+ r
& v- l8 E$ f. E, L" Y9 j' B* u
var appLogger = LoggerBuf.create(loggerBufP);
) @' E" I0 u0 V7 n1 S kappLogger.instance.name = "AppLog_Core1";
; q1 G$ X4 y1 H% p$ M. x+ u5 y- nDefaults.common$.logger = appLogger;
# Q! T; L% Y: _. }Memory.defaultHeapSize = 0x8192; - r' M- W0 b0 S
Idle.idleFxns[0] = "&LEDStatus";
8 i. H1 u- W [3 f" A! b) C6 LCache.initSize.l2Size = Cache.L2Size_32K;
. o) a9 n' z2 _3 ^+ s( }5 q0 V- a5 }' Q- g* Y* G
|
|