|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& L1 B0 l8 d6 M1 E" r: Q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下5 C$ s- O) F3 |
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ ?# N9 C8 r; A$ r6 ~: T9 Z
! \& M8 i) ^, w% f) I是不是需要在DSP.CFG中进行配置4 i) a5 F1 `- z4 J% j2 D
我现在的配置为
: r/ O* t& P1 q" T L, a; P% y# U2 F h6 J5 [; e+ z7 \1 P
/*( g6 W0 _; M/ ?: E
* ======== Operating System Configuration ========
0 n# c# \/ s" {) | */
; ~- o z8 Z( K8 L. E1 ~
1 ^. m4 \! p8 h* F/* no rts heap */% J, u# E/ u) _1 Q; C# l9 ~2 c
Program.heap = 0;2 V; F) N( ?1 `9 E6 O
Program.argSize = 100; /* minimum size */2 g. j |# l' ?* `! L& F
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大# m' ]5 f* r9 z, ~1 G
! y8 _; v3 B5 ^4 E9 v
/* create a default heap */
5 z2 `9 I# j" x* v$ h) m6 T! g5 uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ h7 f" x. _* R1 W
var heapMemParams = new HeapMem.Params();
. Z7 q( R% t, K9 R2 XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 s+ _8 m0 t5 G3 F' A
( W/ C! _; l9 N" n1 Dvar Memory = xdc.useModule('xdc.runtime.Memory');
; b2 r3 D. x, T e @Memory.defaultHeapInstance = HeapMem.create(heapMemParams);9 D9 | r. S$ W K
7 F1 h4 W' k, D/ \# V5 s' y, p
/* configure System module */& c+ z2 K" L: E7 v; U, D: C
var SysMin = xdc.useModule('xdc.runtime.SysMin');! h! v$ s, j% A N
SysMin.bufSize = 0x1000;
% q& T+ _6 x @9 P+ r/ c* t8 ]SysMin.flushAtExit = false;
7 b; N" k% o" Y/ p- W' Q9 U% p: ]( }+ i+ }2 X; Q: m" p
var System = xdc.useModule('xdc.runtime.System');3 K3 ]* L/ r3 B: u F
System.SupportProxy = SysMin;. o' D; F' L9 K4 Z" `! X
5 z: Z4 M9 \$ w% H; s/* configure SysBios to use the lower half of Timer 1 */
9 \( `8 B% h# B3 v* Bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( C: N# b8 S3 h) Gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');+ p$ A) ]7 _! ?8 y$ y3 O! D" H
Timer.timerSettings[1].master = true;5 A9 c/ `& I$ i
Timer.defaultHalf = Timer.Half_LOWER;' t* z: r7 t) r1 l2 v
Clock.timerId = 1;/ I. u7 j* Z) S* o. N" @& o) a: n
% m6 \# F7 B0 _$ W5 h8 M4 L8 v8 V5 v+ y1 N/ }% l9 E* w/ X
/*& g, [; p' o* ?2 L' ]/ Z
* ======== Miscellaneous Configuration ========; t+ u0 d3 g# |4 ]5 A3 N
*/
T+ d. s+ d) F
1 J- x& Q. ^2 n% P# N8 Z/* set default diags mask */- l9 O x. f5 _- w" M. l" n% f
var Diags = xdc.useModule('xdc.runtime.Diags');$ Y6 U/ ?1 ]) }8 r0 Y' r0 r
var Defaults = xdc.useModule('xdc.runtime.Defaults');; w; a+ a8 _8 ^* x
) a8 E: @& ]( l1 ?1 y9 X
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 t+ K# g! j" ]: ~2 b: u( ?4 YDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! [" ^* y5 X- U# v; V/ O- v' ?: QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ M4 W, J! V! Z$ y2 Q8 [
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; I- G3 {5 x% \& `, c/ h! Q# w5 qDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */. J R5 T4 N, \8 }
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 q" p/ Z4 q9 n, l
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" B9 i! n: z8 u. d; H. gDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 U% P* T% K+ f; C7 ?6 x# n! N
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) T. q3 H. b! C+ p8 FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# x" {. `5 W( g. _9 E( I9 CDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# T. I1 e" v3 u+ [4 ?
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 l" E% ~' t6 M8 R, q, q# y8 k( nDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 x, f, q0 d$ J9 }7 \Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 r6 g: m$ \9 C5 N% p" m6 A
. |- x; p3 y; _/* override diags mask for selected modules */
/ F$ @, W& j2 A0 ]6 _xdc.useModule('xdc.runtime.Main');; }. K; C8 [" X; k- P6 q
Diags.setMaskMeta(
6 L I( u5 m9 o3 u$ }2 ~; E4 T! k# o "xdc.runtime.Main",
. f" B0 B& ~; _* [ t Diags.ENTRY | Diags.EXIT | Diags.INFO,0 B9 h+ M0 v U
Diags.RUNTIME_ON: p4 [' o4 I2 C4 w7 a* z2 z
);
% T Q5 z5 h8 [# M& U
n: M5 v8 y% l- t; Evar Registry = xdc.useModule('xdc.runtime.Registry');) [0 r) X& n' d5 v3 I; }+ \' P2 I
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! h( o/ y% ]$ K- R9 f5 z- dRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. U2 Z- y. Y- u+ _2 h. _Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 ~, i9 k$ C: B: y) }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ X9 F* q, i( W r1 M
9 s& z8 W# U9 o- h/* create a logger instance */
) E+ W; K# o. b& }0 O; Ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# P) E$ L9 k" g0 H+ gvar loggerBufP = new LoggerBuf.Params();' l$ ~& X: w; R9 s+ M1 R6 v
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( b/ C. n( w" f* I3 D+ k! P" g1 y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;% V7 w- e! S# v _) q% x2 b
' w9 u. b; L5 f$ V; M( Nvar appLogger = LoggerBuf.create(loggerBufP);! f b' H2 T! r# a! [7 n* s- B
appLogger.instance.name = "AppLog_Core1";/ v: u2 A2 f- r8 _
Defaults.common$.logger = appLogger;
/ P/ K% l* v j9 @7 KMemory.defaultHeapSize = 0x8192; 9 W6 \: E. k# Y: O, G
Idle.idleFxns[0] = "&LEDStatus";
5 `3 I" X N+ D6 D4 E/ A2 v9 }" uCache.initSize.l2Size = Cache.L2Size_32K;
5 ?. X( k7 ^ {& `, H' u, K, p
8 S: s t! g) a- }# o- M) r |
|