|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( j% Z7 u4 H( l) ^# i9 S+ _( D
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& b5 V: W$ T" X# P. |4 p(不过疑惑的是,为何单独DSP仿真就没有问题呢?) c) j( A( p2 n
/ i2 z O; q; H, D! {是不是需要在DSP.CFG中进行配置
% L) V7 Z* ?1 V7 t$ F6 ^我现在的配置为
6 G; U; w) R7 y) B) Z
1 ?: y( _# }& B+ r# x0 \/*4 U, {7 W& m7 ]
* ======== Operating System Configuration ========
1 g3 ? _8 \3 L3 R6 H9 ~8 K8 L */
& K7 w* _$ b C1 e! _, M' v* E3 B' Z2 @0 ^) t# A2 _9 E% L
/* no rts heap */( e" ^9 C- Q- x0 N, U
Program.heap = 0;
9 T* u e5 c; I9 l. @2 O: HProgram.argSize = 100; /* minimum size */
6 I) D: q$ ~, d3 JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大' o& [/ t( t# S" C1 Z5 B# k. K4 [
; t0 D! }& f: s4 H$ i! z
/* create a default heap */& j; G: n( S* b6 n
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. t1 i8 F& t- ^! ]
var heapMemParams = new HeapMem.Params(); ^# e! a5 }7 z# c$ v+ ^' q1 R! @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 }( ]& ^1 E* y- F
2 ^9 W0 n8 v( }+ q# [2 {% Ovar Memory = xdc.useModule('xdc.runtime.Memory');
/ Y3 o4 |( F3 ^. C1 T7 zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);2 @3 F" l1 D2 R8 w u3 d3 R; a
; B3 P0 Q: k# t/ P4 L" c E/* configure System module */( u$ A4 O2 m- @2 X0 d7 ]. S
var SysMin = xdc.useModule('xdc.runtime.SysMin');
5 b' f a3 [1 n1 v: X! B7 XSysMin.bufSize = 0x1000;% f8 @( `2 C; D: i( ^$ o
SysMin.flushAtExit = false;
( j8 ~$ N* Y9 d% c5 ^7 I7 w A8 c; R/ X9 {
var System = xdc.useModule('xdc.runtime.System');& Y5 O6 Q: x: z- l1 V
System.SupportProxy = SysMin;
]8 ?! t! T8 a8 Q; D
$ g0 t+ l; [# O. G+ u/ w/* configure SysBios to use the lower half of Timer 1 */3 {: j' L0 q: p2 H% m6 F
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 g- K% o* l6 F4 I
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 l" z c/ g k! M; NTimer.timerSettings[1].master = true;" a. [/ {) b) U+ N; Z8 w2 B
Timer.defaultHalf = Timer.Half_LOWER;
7 H. A# E6 L' d" m5 d. R$ n6 PClock.timerId = 1;: U8 [4 d2 k7 @& W+ N# q
; [9 d+ \% B3 d) H" S' ^3 p
9 M+ z: r/ _: H7 ~$ h- o \* J/*; d4 j2 v! J5 w( ~1 G
* ======== Miscellaneous Configuration ========3 |% ?; Q$ n* O
*/
5 O! a1 p& ~! T4 m" ]& U" {; _/ r4 z) t# v8 c' ?
/* set default diags mask */
/ _2 R q; x4 l: {1 Ivar Diags = xdc.useModule('xdc.runtime.Diags');
; H" ~9 G# F; V% R+ g7 `0 {8 e, rvar Defaults = xdc.useModule('xdc.runtime.Defaults');
, o7 H, {+ [2 Y4 M8 R8 \
2 B9 y V0 h" m" }& P3 ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, c: N) z5 A2 B8 m; u8 e; d. v8 XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF; ^0 R; c+ J' v
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 D# |6 ]+ i6 g+ G: k8 T
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% Q! ^& }6 J$ x$ U( @6 b/ v& gDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ h7 ]9 |. m* Q0 u0 A( CDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 P( ^& S& g/ E( V7 e! F
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ l1 B4 @1 f8 o- I# D1 a
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ h' r3 \& a' @" k
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 h, B H' [/ i7 l' N
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% _+ ^0 |! E- q8 n' D9 A, y6 c1 pDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 ^- @3 ]; f8 ~% Z( ~7 i. s, K8 x# _Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ _2 v* y! |7 e& j9 q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 f" j% ?7 l% G! U- @3 G4 H* k8 xDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 R5 o# |& g; u& z5 {9 S
* H" @ {: g. E5 y0 ~0 B
/* override diags mask for selected modules */
" S! _& Q% B; N5 ]" i7 w, r% Uxdc.useModule('xdc.runtime.Main');
) J3 y) f. `' qDiags.setMaskMeta(
% K, r' v+ r- H; r "xdc.runtime.Main",
3 R: M% A5 |9 e& e Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 Y: `& u. Q4 g% Z3 u Diags.RUNTIME_ON- e3 k; Z0 Q. j
);
+ P* v: b/ N8 p8 \2 p' \+ o: l* X4 Q! h d" o
var Registry = xdc.useModule('xdc.runtime.Registry');2 T3 y( X1 v- H. `
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 E& c/ n3 s+ t( n( {9 RRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;) w1 k) c5 z0 ^
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 o) z6 N+ @( ]% c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; p7 f' G* G/ y1 a4 u" m6 u) X
8 X& B. l, r& c" F
/* create a logger instance */
B3 j. u @% [7 Z3 H1 N; ?6 d- cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& o; N2 Y4 R a }2 P$ t( e. |: }
var loggerBufP = new LoggerBuf.Params();) K, ^" M7 z2 _: z
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ F: \* }: l% e5 w/ }+ o' A8 E$ [loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 Z; {* ~; y) G6 o Q* A% N6 x# S% g& W# V
var appLogger = LoggerBuf.create(loggerBufP);
5 U$ W* x% H6 R- z T; e' |appLogger.instance.name = "AppLog_Core1";
) D$ v; c- ?, N# E( @Defaults.common$.logger = appLogger;
1 h; N0 ?) E5 J# nMemory.defaultHeapSize = 0x8192;
& x) ]9 W" A- f8 ^% W1 ^Idle.idleFxns[0] = "&LEDStatus";
( U! i* i C }9 ~3 V( b# U5 f% Q% CCache.initSize.l2Size = Cache.L2Size_32K;
6 H: l6 D0 e8 u2 \
9 b( k1 j/ B1 N0 `- O# P4 w |
|