|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 W. U6 N8 W5 U ^3 `; D我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( r, ~: [" S! O* D0 e& \
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& O1 L( v3 F' X7 x+ s1 ?( @7 c( o% @: m" |* O7 d
是不是需要在DSP.CFG中进行配置
/ I2 A+ j3 V$ ~: }# w; K我现在的配置为1 c4 F5 K4 X) i5 d& W+ e2 i
# z1 _* D3 @. j& a
/*4 x% k* H' w1 J }
* ======== Operating System Configuration ========7 h% i K& Y( D4 Z. `# P! S3 d- Y
*/2 `2 ~; o# Z: X, k8 a+ ^& F6 o
* {% e& u: o# m2 ~4 C/* no rts heap */1 k& P1 Y- O9 c1 w: T; O
Program.heap = 0;0 ~5 y7 _% O& j3 s2 e9 b
Program.argSize = 100; /* minimum size */2 C! W4 T6 g/ L1 D* [: V
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 X5 V$ N% P% u, N4 B7 k
) z, v* Z1 H0 n* ^/ e% G/* create a default heap */, ^9 Q$ I- w+ H" c' M3 @, U
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 e9 z5 }. _. C9 H& }var heapMemParams = new HeapMem.Params();
* @% _4 I) H+ JheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% B! B' b: y7 `7 u7 J. y4 f6 b R2 F) |6 p1 u
var Memory = xdc.useModule('xdc.runtime.Memory');
" h+ a4 l5 G" Z) w0 `+ Y5 c4 H! WMemory.defaultHeapInstance = HeapMem.create(heapMemParams);% a$ O3 t% N; A1 }1 H$ I# u
5 I8 O+ @6 D, [ r) W/* configure System module */
! A2 ]8 x3 J* F3 b: F; H$ ]var SysMin = xdc.useModule('xdc.runtime.SysMin');) `7 g5 i& b. X4 O& @2 d
SysMin.bufSize = 0x1000;) b. O( F; e+ L. @. o
SysMin.flushAtExit = false;
, g/ S" j" @1 m, ^% B1 v7 [( R
# I( j7 e' p2 W( y1 S6 U, Dvar System = xdc.useModule('xdc.runtime.System');2 `& d4 ~; K- I+ G$ S
System.SupportProxy = SysMin;
0 c3 [) `' }. }8 J, K2 i; _. j5 Z* ~/ M, R) }% d9 W4 k [4 n0 {
/* configure SysBios to use the lower half of Timer 1 *// j) M% |+ l; `" X1 V2 S% e0 _
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* T1 ]# {* V0 P, lvar Clock = xdc.useModule('ti.sysbios.knl.Clock');( o; T9 r4 L! w8 ^
Timer.timerSettings[1].master = true;$ P7 A0 i9 }( d0 z
Timer.defaultHalf = Timer.Half_LOWER;+ x; n: ^2 ]2 b% Y# E! n. O" D
Clock.timerId = 1;+ W s8 L! i6 w* D5 p% a
) s: v6 ~2 \1 E1 z5 g
2 Y1 K6 t) @/ p4 }9 h* @* `) p2 g/*
9 Y2 j" X( }. Z( u P* J * ======== Miscellaneous Configuration ========9 O o" d( z0 W7 k% o a4 Q
*/. v/ Y: O' j' B. `/ y
+ R& K9 J. M' R. k( v) i8 L/* set default diags mask */
7 N9 n( J! O; w" h Ovar Diags = xdc.useModule('xdc.runtime.Diags');
3 O9 f- e, W8 m' I" ?var Defaults = xdc.useModule('xdc.runtime.Defaults');
/ X( ] V$ {3 B, k, A) i* H, R6 }2 I" u" l
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! V w, w, W9 u
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ y4 [; S6 Q; s }& ]& K9 a5 f0 DDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 J4 L0 B1 n6 ?) ]
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, p- _: }! e- Z) S6 u
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ q3 }8 ~: v5 O; `( k8 S4 w1 p) F" cDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
J: b% L& c6 u7 l1 ^; ]Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 t6 q1 L7 G/ e# {2 ?3 uDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, p5 r9 L, u0 S$ D% C% QDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
O8 v7 F( @, F9 \' BDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 T2 M1 z! W" kDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 s9 z& z: f5 @# `: e8 |) m) yDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: B) v* z! t/ }9 o0 n9 i8 t5 \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' E" q' T# o8 s' e% W ~+ u
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 O) k2 Z. y2 `7 m
' T, v& Q" A* {( A/* override diags mask for selected modules */
- \1 O" X' f* m. d" [) [: M: Axdc.useModule('xdc.runtime.Main');
- L4 V6 l i/ j' bDiags.setMaskMeta(
# L. C9 z! Q# c$ [7 T "xdc.runtime.Main",
, D3 a7 q8 A% ~ t3 y Diags.ENTRY | Diags.EXIT | Diags.INFO,4 |/ U9 @/ M& P( H! v# F+ N- n9 a
Diags.RUNTIME_ON
4 i( X8 g+ e, _0 a* @);
9 e. K+ p3 H9 A# f$ L) {6 c5 e
I8 {$ B" T2 J* F" S% `2 vvar Registry = xdc.useModule('xdc.runtime.Registry');/ Y9 c' k6 q+ P7 }( \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 v. g: R, g- c2 s
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 Y) I' w: l+ M* c- B+ P: dRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" V! \! f& x" X7 @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 X& l! `& j3 Z# M$ N* G
3 H% z; v# I4 e5 l/* create a logger instance */! y( x0 x: i7 y+ o% w1 O0 O" O/ P
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 G- F" ]% y& G) l V
var loggerBufP = new LoggerBuf.Params();0 Q& v5 v+ A& s: p
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" m1 r, J6 y5 O; w" b# H
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% B; D$ E. t7 c
4 |: _- L* K \: U8 B9 R3 Mvar appLogger = LoggerBuf.create(loggerBufP); U6 u( ]1 _+ w: a
appLogger.instance.name = "AppLog_Core1";
) m0 z9 B- j% f0 R; P$ \Defaults.common$.logger = appLogger;6 {1 J* U2 ?; h! @7 g" U
Memory.defaultHeapSize = 0x8192;
* e5 K0 \: i. x, d- @Idle.idleFxns[0] = "&LEDStatus";' w6 A% t: g) E$ Z
Cache.initSize.l2Size = Cache.L2Size_32K;
# B1 n8 _) K" [. w% ^5 R3 M1 ~* V* o& K" `9 ?! X/ G
|
|