|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明. U0 s9 ~# f2 [ o$ K
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. j& I# z1 B0 p(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 R2 e0 H1 R+ C! P) y+ @! f5 D/ v/ f, d9 w. t/ n
是不是需要在DSP.CFG中进行配置7 I' _9 u9 t! z- B6 P+ } u; Y7 K
我现在的配置为: N; C3 a9 _+ w
- w% E3 K# h# O! Q1 u' Y5 A
/*
3 p+ {+ k' H7 T" U * ======== Operating System Configuration ========7 e/ G$ ?5 y: U3 s
*/
6 O5 a1 G1 C# U: @' D+ M, k( ^% k; r( N' j" Y" X% F7 n4 X
/* no rts heap */
4 S g+ F% ^8 LProgram.heap = 0;
6 I# o# g6 S7 p) N6 [Program.argSize = 100; /* minimum size */
) K6 e$ p/ F1 [% hProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大( }7 ~5 s, c& j1 U7 w- T ~
( y2 U( @0 i; ^/* create a default heap */0 C( f9 g' X# c4 V5 ^! W7 q$ |# w
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ d* o% u; P& Q+ w5 y* U0 x/ L/ |8 {5 xvar heapMemParams = new HeapMem.Params();) ?7 A; ]* Z* B4 t7 Y2 t
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ g- n+ R: c. @1 s' i
2 ~7 c5 Q& `) V: n+ {var Memory = xdc.useModule('xdc.runtime.Memory');( J$ o. z0 @& V, _
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* V" y z# |' ~
& ]. [& H* V2 O/ B* Q, y* q/* configure System module */
8 g; y* |, E: Y- M# fvar SysMin = xdc.useModule('xdc.runtime.SysMin');: q3 C6 W" u, ]1 x( l; O
SysMin.bufSize = 0x1000;+ |+ k# I& I( u& V: C7 A& a
SysMin.flushAtExit = false;
" m' v4 v8 _& `8 q2 C
8 P* K8 r. c9 F' V# rvar System = xdc.useModule('xdc.runtime.System');1 |$ W# ]' n( _0 |" Y" E
System.SupportProxy = SysMin;
' }8 _6 B, ]& k! n1 |, u5 B: m# I) C. a1 B2 _9 J! E) [+ A
/* configure SysBios to use the lower half of Timer 1 */' ?2 O n; z1 G1 z0 {$ i' r; D
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 k5 s2 [0 `0 t0 T, v/ }4 k4 E; Y& D0 hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 A& G1 J6 |: P- ?$ h) p6 `. mTimer.timerSettings[1].master = true;
4 i/ J/ B+ ^. c, Q' }+ N1 QTimer.defaultHalf = Timer.Half_LOWER;( u7 k2 x: i% Z0 H; W% c" w2 j1 q$ R5 v
Clock.timerId = 1;
0 J: g' S/ R" H5 b: {! K- ^" V, G$ ~7 o* Y! z) h
* T* s5 _, \2 l9 q$ {0 W( Y F/*
% m# w$ F5 _' r W * ======== Miscellaneous Configuration ========2 Z3 {3 V9 A8 f
*/
* g5 p, ]1 }" j( ]3 d$ \5 a, J. X' w. ]3 U2 b' Q# u
/* set default diags mask */
& f& m3 j9 z% e/ {: B4 cvar Diags = xdc.useModule('xdc.runtime.Diags');
# h% Q6 ]# J( n! Kvar Defaults = xdc.useModule('xdc.runtime.Defaults');! u/ o7 l$ T$ R0 q
- t% w# W/ Q# {; h' U/ u8 s7 ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; `) ~9 ?% _/ }9 l
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 S5 o5 F) @8 ~6 ^% i
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ e4 |& i4 f: TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 Q" N, R% d* _7 V, l- Z- `; b7 E8 I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 u2 m' ?( n. ~, ^1 H' y m+ b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;# _% s _) R( S# E
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% X$ m+ F- {% ]2 o W+ H! P
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- W: b- l& l2 _
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- y) Q( d: A) \4 \4 qDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* D) x; x, w6 X% @
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" J9 k/ K7 L. \1 m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: W2 E% D- N2 n6 R# R
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ w( y- X5 P* X7 ~$ }: D* XDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 p( C: H' J- q v7 R5 r; N" ?) Q' e8 o# B, A7 g6 }
/* override diags mask for selected modules */) i6 O8 Q2 T% P m
xdc.useModule('xdc.runtime.Main');! ^. U8 k; C& y* L0 z4 l
Diags.setMaskMeta(
- I e% |6 [, d- u0 a0 s5 g "xdc.runtime.Main",* ^ B! r: ]8 X( Z. w% M6 Q0 l
Diags.ENTRY | Diags.EXIT | Diags.INFO,
- J7 J. c+ z8 w+ Z% g! {# { J Diags.RUNTIME_ON
! S# W0 [5 C; B6 h+ r3 F% a+ y);2 q( w K! G( _- ~
+ |- C9 }: d0 V. y8 rvar Registry = xdc.useModule('xdc.runtime.Registry');
6 ~/ _4 C% i* j- C( JRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 x' B; F8 e8 z# y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 E2 p4 k0 h C( W- S# t7 [! zRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;% h& C* _3 k6 g: i$ t6 E) g
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;' V3 N4 r, r- z5 F: J' t& H" \
8 H% S1 v- P' ]7 W
/* create a logger instance */. u7 E% \' z8 F' r. f% _
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ P- [6 K9 t( n8 b3 B' y9 [& `var loggerBufP = new LoggerBuf.Params();
# c- H! o+ |; h* VloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 q% O: ^/ ~" O& J, l" G$ A
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( Z5 v4 g! k% R: L/ v5 [- F
' S; o' H* G- z0 T( avar appLogger = LoggerBuf.create(loggerBufP);/ d0 v; e: R; o x& ?$ ^+ `
appLogger.instance.name = "AppLog_Core1";
) P7 d$ j C1 i F, e* ^6 q& v- T$ X/ xDefaults.common$.logger = appLogger;
. B" u* Z- A; P! P# vMemory.defaultHeapSize = 0x8192; : |0 v: N" {. C6 d4 i
Idle.idleFxns[0] = "&LEDStatus";/ w* a; Y. j0 g3 S
Cache.initSize.l2Size = Cache.L2Size_32K;0 m* c5 K9 w# w. _5 E9 r0 n# M
7 x, O9 {% R5 M4 l k5 k9 { |
|