|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 n( R8 S# j$ |3 s
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; Z* g8 u$ {& [! f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 g& C/ f5 h& q2 U
# l3 Y! w* e) Q4 H0 [ k/ X. z是不是需要在DSP.CFG中进行配置
. {( z% u |2 V( {我现在的配置为
: X3 i, |; O3 M0 J( F7 F; m0 L* y% f$ B' E+ Y
/*
( w2 ~5 y4 T0 y0 k+ T! N * ======== Operating System Configuration ========
5 z$ x. J" a) x0 l */
1 J+ i: w \8 k* O0 W8 |
) F6 k/ k- K$ R+ c+ _) K! q& v/* no rts heap */
3 q9 K+ @# U6 V4 `1 s }" hProgram.heap = 0;
, u( w! k0 F+ y( T ^Program.argSize = 100; /* minimum size */
: {* W0 L1 N3 k7 C% |/ }# v B( N! \Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 O" N/ n D7 N) z2 W8 O
) j2 N8 h" q M- S
/* create a default heap */
5 Y4 s* O0 G* T8 ?1 l! yvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 x ]: A/ J; p/ f1 s- \
var heapMemParams = new HeapMem.Params();
7 b& z& s j" d9 {heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; T' Q0 \+ J* |( k! q
, b4 F2 B# G0 [& \+ k3 F
var Memory = xdc.useModule('xdc.runtime.Memory');
% v# J1 O6 u# j7 ?- AMemory.defaultHeapInstance = HeapMem.create(heapMemParams);0 u# Q, ^) t% c( G* f, }
M9 h/ D9 K/ n7 y
/* configure System module */
3 [& F6 |- P! i! {1 G: ivar SysMin = xdc.useModule('xdc.runtime.SysMin');
/ E+ i( P+ R, C8 M6 f) gSysMin.bufSize = 0x1000;' k$ x$ d% U6 u4 P: X" B
SysMin.flushAtExit = false;+ b) e0 b! {( d8 |8 F
1 u z( {& R, ]8 d8 X: a3 Hvar System = xdc.useModule('xdc.runtime.System');8 e4 q5 T! P7 y- W9 [: G
System.SupportProxy = SysMin;
% j' q- e) @: I( X. q3 |, k0 F6 } N5 X. Q, |
/* configure SysBios to use the lower half of Timer 1 */5 i8 j$ p1 I/ p4 f5 ^
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ x2 v% o3 r$ Y& q6 Z; _var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 x# v3 a) j" b3 q
Timer.timerSettings[1].master = true;/ R% R6 Z! c2 o, o* K4 a
Timer.defaultHalf = Timer.Half_LOWER;
' g$ q+ j) W; M, c/ cClock.timerId = 1;& z4 k( g7 M5 ^ ~
1 j8 M) I; v5 d- f6 Z/ l( e3 I
& |) ]" _9 d. y6 S
/*
, h* I5 b" ^: B# H* y G * ======== Miscellaneous Configuration ========
; @7 n4 H* O3 U/ x */
: N* r# M) [' S- L) H5 m' Y
0 B* k* M) F1 E5 w, f/* set default diags mask */
$ }% ?8 D+ h! p' V0 w: e7 c' l' Zvar Diags = xdc.useModule('xdc.runtime.Diags');" H1 g! d% K7 w) e' Q' d
var Defaults = xdc.useModule('xdc.runtime.Defaults');# f- M. }3 H; E f2 \
- ^; o) A( a$ o8 w/ x- F
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! J, N" C: o8 X7 m- N/ B6 L
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, Q( [; ], [: x9 k. T d) P
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 t- N- g9 J3 ~5 GDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% L- B$ U7 u" y+ _: j4 s9 _* hDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ `' l* H! b) m, @- U
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" Z9 j9 c) q! a: v" r: t$ bDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 X* o# s0 d/ g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* F- h% X# G0 |- x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
n/ J2 i, X8 D5 n; ^/ n. c/ ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' E6 s4 x& N/ Q( oDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
. U& ?. I9 q( S) |. l! l4 d: sDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' o. m* l# p; ~0 T3 mDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;! C" j7 P% U7 m& u; C2 I' `2 p
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ F& _* m, [( Z' p1 W+ e, d6 h( C
- L9 q8 Y# a" p b, j/* override diags mask for selected modules */
2 P9 s3 L a: F1 l- M" H- qxdc.useModule('xdc.runtime.Main');5 E% ~7 \9 m9 v( T5 `1 L
Diags.setMaskMeta(% [0 b* L9 p+ \2 z
"xdc.runtime.Main",7 F4 e4 _* W% t
Diags.ENTRY | Diags.EXIT | Diags.INFO,
' H# f N) X: U0 I5 l* }/ U. n Diags.RUNTIME_ON }' f0 B5 e+ s' v& ?
);; d& E# E- f& {- e/ F7 l. |( N3 G7 c6 f! l
4 `" t W& C% @var Registry = xdc.useModule('xdc.runtime.Registry');; B9 C; s% H# f" c6 n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 I& C) A8 B8 }' L ~. z' {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
u# h' @% b. JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" y3 ^( ^2 E) c$ p u5 r
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( h0 ~4 q2 X, p1 v6 e, R
% L( x# }; ?- M" o+ x/* create a logger instance */
3 w0 x1 A) O5 u' @var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; ~6 G/ i/ @2 J; @" z
var loggerBufP = new LoggerBuf.Params();, _% M5 G( o Q/ K3 h7 b: [( \
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# A; n! _+ X9 b9 J0 gloggerBufP.bufType = LoggerBuf.BufType_FIXED;3 s3 G. f% ~0 @$ C2 X! v9 t
9 I. I' o" j+ p* B3 h; s: G1 Y, mvar appLogger = LoggerBuf.create(loggerBufP);4 Z4 g; p7 ~& W% g8 N1 i
appLogger.instance.name = "AppLog_Core1";
/ \' v2 d2 t/ z& B+ K% dDefaults.common$.logger = appLogger;
" U* o# r: [/ q# L5 V; kMemory.defaultHeapSize = 0x8192;
2 B; n5 X* F) a) D5 |5 l! oIdle.idleFxns[0] = "&LEDStatus";
0 Y5 W6 B4 Q- B+ h/ qCache.initSize.l2Size = Cache.L2Size_32K;
+ k+ n/ h, @% Y- g
$ p, u+ M( F6 ]; [# z' o7 J/ a$ X9 W |
|