|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 r' O' ^7 P, ~% \' V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ s( _" Z/ F9 C* A1 b2 {
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ P; q: M4 N. l4 Z+ J6 b& Q
8 q7 k2 _6 ~* J+ N0 |
是不是需要在DSP.CFG中进行配置2 v$ j* A8 P3 i8 g* h" b l. ~
我现在的配置为
. L3 _* I1 [4 _) G
, ~' s$ V! @7 w; y/*7 I8 H0 r9 d4 H6 \9 E5 c
* ======== Operating System Configuration ========' B4 X' o; v O" u9 c- b1 R
*/
# z* w e/ Q( l) p# }5 ^; ]& ^3 }0 G2 e0 v- r
/* no rts heap */
7 N+ k8 c/ O. ?+ \0 X$ pProgram.heap = 0;' \( {' w7 W7 P% U1 Y
Program.argSize = 100; /* minimum size */
* W, s b1 Y3 X1 _6 S+ GProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大" G* g2 F9 t" F* L) I
- U0 P% F& m6 y+ S% B) i
/* create a default heap */
* g }/ y3 v: qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 p# T. F6 Z+ ], T" g" E8 Y5 `
var heapMemParams = new HeapMem.Params();8 v" ], U6 Z, L) Y) B
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# |" A# [/ B2 T b
1 y6 P( o+ X8 s" p# c9 L9 p
var Memory = xdc.useModule('xdc.runtime.Memory');2 y4 A1 y! e4 @0 o: j- Z7 |
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 P' e$ n6 P& s( s- l6 X3 `. ]; p0 I U
/* configure System module */6 B! l0 M' ~1 X# } b7 B" k) G
var SysMin = xdc.useModule('xdc.runtime.SysMin'); Q& k& v0 E, |; g0 O! S2 T
SysMin.bufSize = 0x1000;
' h. N9 T0 q# \! }# |SysMin.flushAtExit = false;9 k+ h9 ^2 ?' z" O% k
6 k2 I# _6 ~( [) ^( J8 W: S
var System = xdc.useModule('xdc.runtime.System');
3 c/ ]0 M( v2 v( ?9 KSystem.SupportProxy = SysMin;
. |; k+ D: ^; T& L. R, h2 c
# _3 r5 W& r( H* l5 e9 `' ^4 D9 [/* configure SysBios to use the lower half of Timer 1 *// i* I1 Q& y0 ?( W0 D6 z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 K" U, \3 g1 J& G( c, pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ F, U* k y/ o! S! l( ~5 pTimer.timerSettings[1].master = true;) d1 _5 _/ A6 r F
Timer.defaultHalf = Timer.Half_LOWER;
7 g, h& O3 l/ p( k, G7 ^$ TClock.timerId = 1;) x1 u; J. i, X' B
- y7 T' |# [+ U5 e# M( N2 R; Z
; E5 w- K- P! {/ {1 ^2 ~/*
0 M `% q( _1 T; ^9 G * ======== Miscellaneous Configuration ========1 @9 n5 t: X$ k) G9 d6 X
*/% ~# y) o6 U8 a5 I
$ m; o2 E: G% |, y7 q* u M/* set default diags mask */3 t( v7 M, @" x [! Z4 C- v
var Diags = xdc.useModule('xdc.runtime.Diags');
* [2 I* p: E8 F/ Q7 N, `% zvar Defaults = xdc.useModule('xdc.runtime.Defaults');/ Q. X! e6 ]- f& L: r2 v" Y4 Q
M. ]5 i7 S3 M# H% Y% gDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. H d, `" L0 Y" X! ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 B z/ z* S5 {' L: x
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) f, x3 I" Z' ]1 RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* D5 M- f2 o3 P. n6 \% }
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
2 H# x2 m& T- p; H( p: u: yDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. `, H6 t" h9 A4 YDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ l# h; `0 s+ E0 C
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 ?( U B1 j& ^( @; ^
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& \. r0 E, k' O. N& j; S
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 c) E5 ? X: ^6 e
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" c# W2 | O' X) g- ^0 u
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% H6 E) E& e0 I. X4 w
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 ~- @" s0 M: w0 g* k
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, ^1 O/ j& p+ U4 K( k* e
G! e) l/ x7 ]1 B
/* override diags mask for selected modules */. q) p4 a, `& N2 Z3 V
xdc.useModule('xdc.runtime.Main');" J! J% M+ X4 f/ }; {$ _$ w9 G) j
Diags.setMaskMeta(
) B7 w" p( r* ~+ |! T "xdc.runtime.Main",
) l7 c& i1 Q3 e- g Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ j' V& @- {% Q, s* f( ] Diags.RUNTIME_ON4 a- P' R3 r& p3 q, v
);% W: z. n- f9 n6 U$ U& l6 P/ Y
+ v' e- k: e: m5 A, l' @var Registry = xdc.useModule('xdc.runtime.Registry');1 j) D1 D8 Y8 r3 F
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* u. i7 J; I2 U! R# m9 f8 [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% B+ g: f: }# }$ s' eRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
& j7 b$ `- y7 m( B' T( fRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- c Z% @$ {* p5 K
; R t2 ?1 W+ ~6 A8 g1 J/* create a logger instance */
, l( ~- L$ L9 h: Uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. ~9 E1 I& J& y0 j2 {2 }& c5 ^var loggerBufP = new LoggerBuf.Params();
1 a: U( e; r) J! j( GloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ o! B! m, h. b; Z' ^- a! L
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* T3 ~: x" a) ?" y( B& I
7 M* [7 P, C/ B7 C* z: u" N v* x- ?var appLogger = LoggerBuf.create(loggerBufP);
5 J; a+ G! ^8 L, d. gappLogger.instance.name = "AppLog_Core1";
* K! l% q6 B$ a8 cDefaults.common$.logger = appLogger;. P$ l8 y D- g W$ l
Memory.defaultHeapSize = 0x8192; . C: c; n4 S" E; t5 Z; y- c
Idle.idleFxns[0] = "&LEDStatus";
5 e! G& }) w( j% pCache.initSize.l2Size = Cache.L2Size_32K;& {2 j8 H5 m: w8 Q$ M; @
% I+ d! M$ v) {" o$ \ |
|