|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- b. r& W1 @5 d# W5 ?
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ {4 A& Q! J" A$ h" A* u. S3 [7 r3 c" g(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 [+ \2 ^& J- h; M6 _" z
( @) |- i. ]! k; X+ d/ W( Y
是不是需要在DSP.CFG中进行配置- J7 x7 F- \4 M; x: L
我现在的配置为
: ^2 J1 ~7 w' q+ F, i
3 q, t5 e+ {1 t+ x/*
2 c$ L5 k. Z e7 e7 V * ======== Operating System Configuration ========
2 p2 t& y( W9 k# l# a; e */2 M% M0 j* k7 q- p0 D, C+ I
# _3 Y0 u& `) t/* no rts heap */
1 [5 N% S9 P( g/ C. yProgram.heap = 0;1 n: N7 p! b) K: F: u/ a& J, j
Program.argSize = 100; /* minimum size *// ]) G& K; D+ q0 f8 `* d4 e ]5 U
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大 Y4 M5 E( ?$ a$ u/ v
" C% \4 X& m3 `2 w
/* create a default heap */
" y7 o: d* t) P( y0 j+ r7 pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; n6 ]; `9 _' A" y; r& a( I
var heapMemParams = new HeapMem.Params();; j' V1 m4 O% p9 E# H* {
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 }0 Z. p) g6 L/ N
& w F: n" a/ Y2 q: E( L" s
var Memory = xdc.useModule('xdc.runtime.Memory');
" V a k3 o H8 }% d# r" _* ^Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 H& C! D5 N+ ~" I+ p* L9 p/ b% O2 n8 y4 o7 A$ R
/* configure System module */" ?, q# l0 H; d
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" t7 z! R2 c# D% d. q; MSysMin.bufSize = 0x1000;
3 S) n; N$ C# e: c* h6 aSysMin.flushAtExit = false;6 ~3 ?! n+ V( D/ c( Z' E7 V
, ~9 N; w! a+ v) t! Kvar System = xdc.useModule('xdc.runtime.System');
; Q( f6 Q# n3 Y/ }1 D$ J( Q0 Y0 }System.SupportProxy = SysMin;
1 t" n0 f6 A6 { _
6 R j) C7 y; a$ Y$ @- J. g% |/* configure SysBios to use the lower half of Timer 1 */
$ N& X, H5 k0 a, s; Cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 v& \/ U; F* h3 y) Avar Clock = xdc.useModule('ti.sysbios.knl.Clock');+ A8 P4 l+ ?0 a% |
Timer.timerSettings[1].master = true;+ o0 {0 e V$ `6 L$ G) X0 l
Timer.defaultHalf = Timer.Half_LOWER;
; |4 k9 F+ Q5 Z9 ] A" r3 M4 v# yClock.timerId = 1;2 v' ~7 J2 e7 {% p
$ o ^7 N8 q# p8 B0 y1 S/ ~
K$ e e# p: m' X/*
9 V% R) `6 ^, \! o6 v * ======== Miscellaneous Configuration ========( q O+ c3 W7 A& u" X! t- l
*/
& U+ N6 ^2 V9 T: i" E9 X
* }5 {+ l; N# p3 H% m! {/ U/* set default diags mask */
- g/ V/ E4 G) p w. b* U+ f, \! evar Diags = xdc.useModule('xdc.runtime.Diags');
9 A9 I6 V4 n. ^: e3 w [6 bvar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 {3 ~/ B+ P7 n/ q' g7 m
" @' @" P# W5 |- DDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# n9 G2 D3 J7 X' p" N" BDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& H$ U& d9 m4 N3 h* ]5 V. R aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* D/ _; n4 e8 O2 j5 d7 }4 X, C4 w% EDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// F" Q+ P2 P: V1 y3 {) H
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; g$ d G5 \1 N* `3 [# z) Z& b8 V
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 \- ~/ t- y* S. SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 e T! D- s$ w% E* s; c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ t$ {$ ^$ Q' h# G1 u% L1 o5 `, C. | u
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 n( Y: o6 h5 S% R# e8 B- |8 ODefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( {0 _- d6 E* j" c5 E' t' FDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: s# G2 @6 I+ ?( Y, \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
Q" d( y5 B5 K lDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! ^8 V/ b% |, f& L0 n7 L$ j$ NDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 l3 o( p+ L' B6 q# P) z
0 ^0 h* n. b& Y5 h: a
/* override diags mask for selected modules */( k9 Q' {0 t! ]2 G' n7 Y
xdc.useModule('xdc.runtime.Main');& o, b9 b" Z; i5 E! v7 e2 u
Diags.setMaskMeta(
) [8 ]* Y5 c: B% C "xdc.runtime.Main", p9 u) y w2 L0 b6 Q3 M
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 S! n {/ p9 p7 j3 F& t
Diags.RUNTIME_ON2 g) s; M3 W* I$ Q% B8 T1 |
);2 `( U. G8 Y) d D! y
( i) v) C4 ~/ L0 U, Q" o' G( uvar Registry = xdc.useModule('xdc.runtime.Registry');
. E4 E& K9 C4 x( S8 }Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' g1 e* O1 ^/ k# b9 ]# U: T
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;# |: _9 d, j! ~/ q0 k% X2 O
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. K3 @5 }+ \* \
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 W, X1 v% g, f% l! z) N( `; {% _) Y
: \, W, n: D# P$ I/* create a logger instance */2 _9 w. W2 j7 B
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 h r* m. ?! w* R8 `% _var loggerBufP = new LoggerBuf.Params();
! C. N: S; G( H) xloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ q% G/ c# ~' I( `5 h+ C bloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ Z! Q6 X. F& f! R" i6 a: H) h/ K! F" {+ l7 r) N
var appLogger = LoggerBuf.create(loggerBufP);
# a9 t6 U3 y: B/ r. z! ZappLogger.instance.name = "AppLog_Core1";
% A; H8 A! o) \, Z9 A6 g" K7 yDefaults.common$.logger = appLogger;! r/ S. `, l: `+ t0 k8 Y
Memory.defaultHeapSize = 0x8192;
5 u; r0 F9 V6 \. m+ K5 [Idle.idleFxns[0] = "&LEDStatus";; ], s& E6 {# Z
Cache.initSize.l2Size = Cache.L2Size_32K;
/ ~4 D. v( H" j1 I
& d- B2 |! z: y- c; E4 K0 J0 Z4 R |
|