|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, E+ x2 W5 P5 u) f/ n) V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. D( F( C7 R8 s" ^; w9 S% r, L(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 G9 n- @6 W1 F k) d+ t/ G
6 [! @5 t# }5 v1 A8 v9 q
是不是需要在DSP.CFG中进行配置
$ R3 U/ ^. i9 x! k0 L我现在的配置为
8 F) n7 k e& i/ C
0 Y' O1 z8 R8 n5 Q- j# C/*
8 m& u, H# c0 Q5 ]* b * ======== Operating System Configuration ========' e5 l6 v( ~# v) W1 W, }1 k
*/
2 W. B/ v9 {1 Y3 E. d& U5 M, W9 e5 v6 {
/* no rts heap */+ i6 c0 z1 o, b: b* ^* K$ b0 N8 }$ k
Program.heap = 0;
# i. n5 f: @9 i- k' \Program.argSize = 100; /* minimum size */" c! k1 o, b$ j4 V! G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 u2 {) P' i m4 t
+ V2 w1 d. V$ e9 J/* create a default heap */
: Z* @) S2 M: L' I Vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 c2 M3 q5 F( Y! J: G( [var heapMemParams = new HeapMem.Params();3 Z {' C% l: H, {% ? M( ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 A* Q, _5 ~. y3 M. l
U$ c6 [5 [! u! s6 m) \3 Svar Memory = xdc.useModule('xdc.runtime.Memory');
! O( }( b4 {( X# b; L7 i4 [" }Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. o4 o$ i! Z9 d
# T- W, _1 [0 f" k/* configure System module */
0 v7 g! V+ {) }var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 _ v% w7 M6 E! T* CSysMin.bufSize = 0x1000;
- _) H D1 z' X8 Y2 X9 s* ?SysMin.flushAtExit = false;) M+ M* j' D. L
$ I1 H% h/ E$ k- Z% u: D, x
var System = xdc.useModule('xdc.runtime.System');
( Q. T2 \, C0 w. z" ^System.SupportProxy = SysMin;
8 T( L" ]$ H# k8 B5 \. v2 g
% ]% e) W0 |& T o+ G/* configure SysBios to use the lower half of Timer 1 */
; |: \3 R1 w, Y" Lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ h) Q8 Z o/ Y' _8 H6 M# }var Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 T0 z- y" H; u3 L4 ITimer.timerSettings[1].master = true;
! j& a ~/ B$ Y+ t! }7 wTimer.defaultHalf = Timer.Half_LOWER;7 e7 o A9 l p1 i4 P0 C
Clock.timerId = 1;
+ q: M* W: w8 R; e. h; R. o
9 S" _$ T% M( t* Y
& E% K; _+ D; l8 M6 F1 J( R# y* |9 P9 T/*
/ x0 L9 t( L8 ~( X1 l6 m+ o * ======== Miscellaneous Configuration ========
@7 J' V" a* V2 H */
5 ]. d& R/ x4 c
9 Z& a. ?" ], c. W2 a/ j8 ?$ I- l/* set default diags mask */
0 n9 u1 V: ]3 n: W/ ?var Diags = xdc.useModule('xdc.runtime.Diags');
) V/ Y7 Z7 R9 e$ B6 \/ m" `1 yvar Defaults = xdc.useModule('xdc.runtime.Defaults');6 P" i* R1 }8 M: N
" k! q" K. F4 f; lDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 U# C: n2 `' ]' N5 Q6 D' |- b* A; u
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 {: F! I. r0 ?+ [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% L5 I1 s: e3 Q7 T3 o
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 ~5 P1 V# @5 d& a
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* Y) \2 Q) {1 q' ]5 X7 Z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; ?8 o" D; J. aDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 u* s% z* Y# z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
t0 |' e+ |- u2 N& ?Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ N6 O1 w4 ]& \6 V% k; n: I6 k9 tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! I& t% I. G# q4 s- J0 |" R4 F
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 W# c8 q- l) @ e8 {6 E# w
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: a3 ^7 e- a, y$ zDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
z8 \: v1 `, [$ y) G! a- kDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% ^# |& ?0 h$ [! F
# d% }# }& r0 @" {1 ]# G
/* override diags mask for selected modules */; ~6 ~9 E- L$ u0 T; H! s! T
xdc.useModule('xdc.runtime.Main');
1 I7 P" Y% F- a C( PDiags.setMaskMeta(
, z5 W& u6 L" I, O. S# { "xdc.runtime.Main",5 G0 \0 a3 m* e- s
Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 Z% l5 @6 Y; U Diags.RUNTIME_ON
% h" B+ d: Z' G% R);- {- ^4 p2 W$ @. O3 D2 Q6 T2 [
* d1 t: v* t. f+ r" a5 a5 zvar Registry = xdc.useModule('xdc.runtime.Registry');. I! D: z3 u& j, g0 J' L' H
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 p0 A5 c0 r; r! B: o* f
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, D. \! }1 D G# v+ u* n
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 x5 a- [8 [, |/ fRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 v' ?' M, D0 [! H8 \4 n' ?
! ~( h( s* _, d+ J7 P/* create a logger instance */- P" z t) ~( W c
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 ~3 B( K0 f3 c; k1 A3 [7 ~/ M' C0 A2 qvar loggerBufP = new LoggerBuf.Params();
. j4 M! `4 N8 [: hloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' D2 \, _: ]+ @( E X! S& _3 X9 R
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' n# W+ s+ j& W' ^( t* y$ ~
# \9 E# F2 T, }, F2 y9 R! [) J: L# ~5 Fvar appLogger = LoggerBuf.create(loggerBufP);
, d. i" b, H7 o+ B* e% l) d4 YappLogger.instance.name = "AppLog_Core1";
H3 T2 A$ L* ?; h" @3 L8 JDefaults.common$.logger = appLogger;
7 I8 T5 n' n$ W" p& L. OMemory.defaultHeapSize = 0x8192; 7 @4 p9 X2 o- y4 _1 f$ h/ q1 |
Idle.idleFxns[0] = "&LEDStatus";' N8 T2 y, Q" E
Cache.initSize.l2Size = Cache.L2Size_32K;
; n& \5 T% ]; |4 u# K$ K; I, F
6 ~) A! w5 \ ~- ]$ ? |
|