|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, s. ^# w4 [ Y. W3 }8 R2 v
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ f1 G# {- I# ?0 J, i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; h) R! u1 Z8 d9 Y6 ?7 u i0 N& U3 `) o+ |3 ^$ T7 R2 y$ g
是不是需要在DSP.CFG中进行配置 v( J" F0 u' r. C9 D
我现在的配置为
: e/ q |5 x) O; b- e% i
4 U' X( T2 u2 \+ k+ l/*
. x1 D3 U0 X+ q, m* L * ======== Operating System Configuration ========- |- F+ o- l- l3 q2 |: F( S
*/9 |! r6 ~: O' }& O& m$ P, b
# P4 ^0 l+ u+ W* U9 F9 T( b
/* no rts heap */
+ B, D& L* a1 DProgram.heap = 0;
, ~' S" ~' k- Y8 bProgram.argSize = 100; /* minimum size */! p$ t( W# E+ |
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 m: o# k5 v% B5 T2 j% I7 y$ r0 z) N( S& M/ L6 ]
/* create a default heap */7 J6 f$ y3 _2 a' D8 \
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
: ?6 k1 A9 i, \; z* T- }: dvar heapMemParams = new HeapMem.Params();
" G7 s; O9 ~) g% J% MheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, g. l" _( W! x! t+ X) J- v) Z8 ?2 A# a. S6 G# e' d
var Memory = xdc.useModule('xdc.runtime.Memory');9 K$ Z8 c& W" t9 x' s
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
, a* `! Z* X2 P6 I* z$ c
: ]9 l3 J8 q1 o: _/* configure System module */
* e# D6 A, Q" {' w$ c0 dvar SysMin = xdc.useModule('xdc.runtime.SysMin');
! C7 ~4 R- f: V3 W1 F( g ~ }SysMin.bufSize = 0x1000;
2 X( T+ ?' T0 f% K8 @4 U' _SysMin.flushAtExit = false;
# S: K8 i$ r% G. c& a, n* q: X
5 Q9 T9 G% |7 X& W+ o; ovar System = xdc.useModule('xdc.runtime.System');
9 }* w# X5 v8 S$ L6 ^System.SupportProxy = SysMin;( |. K4 h- b" a, w( l, {( O
1 ?4 s# _; U$ [: |1 V
/* configure SysBios to use the lower half of Timer 1 */
% l2 G* {( E2 H, d8 `var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; l" o! r6 ~ N1 v; avar Clock = xdc.useModule('ti.sysbios.knl.Clock');% y3 e/ d( b8 a3 @& o& ]
Timer.timerSettings[1].master = true;6 N8 b" E8 P- A5 m+ L
Timer.defaultHalf = Timer.Half_LOWER;
7 i# ^6 u( ~( y5 p$ eClock.timerId = 1;9 N7 }5 n8 y: J% g) Y
" R4 Q( y L5 [' K6 q! g
+ l5 j r* @) ^ l' ^
/*3 m+ Q: j( J% v1 j6 N- P7 N
* ======== Miscellaneous Configuration ========
9 C6 A: w6 j* ?* n */: _' P; B4 q2 `1 p7 l! C/ |
4 l3 x9 J$ E* X- o4 u/* set default diags mask */
9 m( W& P& H4 a& I( p; L/ k1 Fvar Diags = xdc.useModule('xdc.runtime.Diags');
/ A. C& s5 o; p6 fvar Defaults = xdc.useModule('xdc.runtime.Defaults');+ p O7 q' c- x2 Q- _7 C/ c2 v
* A/ B% }2 Z: E4 p, [& n2 [Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- |) ^, u; Y' t% \7 uDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ ]$ e5 K g$ p8 F0 M f# Q0 k
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. g% `( _$ o* Z! @, z' |5 C6 g
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// Z8 Q* o6 `: s$ w; p4 |
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
: o2 Z9 {. y4 G1 T7 L9 fDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;" j, ~; s( u: n# ~, T: t
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! q Q( c$ S+ `. u9 i2 \' Q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 v c/ T7 M" D) y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# t, I1 A6 g$ v- h! ?
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 G" o' H1 A8 X! FDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, Q# _ o+ t1 I- U: Z& N: P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 c& i7 G0 S$ J! F% R. o J) A( B3 |" zDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;* ^3 L1 Q4 G0 f& ~( J, z) t
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 g1 y @$ v u2 N* Z
2 K! x/ L8 O3 U4 U' J5 k/* override diags mask for selected modules */
5 _! z7 w7 Q# jxdc.useModule('xdc.runtime.Main');4 W5 e$ N* @$ D0 C* `6 K2 Y; B
Diags.setMaskMeta(
- _8 E+ V1 N6 j; G7 \- K# F/ P "xdc.runtime.Main",) o4 |1 k+ y( N! w# H3 l
Diags.ENTRY | Diags.EXIT | Diags.INFO,8 t: f E8 A+ R) D* A6 d
Diags.RUNTIME_ON
( G: s* m& O- T3 N' o6 @3 S6 Y6 l, U);
+ F% ~5 K9 F7 K& ~1 ^/ H) n3 _1 {, f) z+ s6 \/ y
var Registry = xdc.useModule('xdc.runtime.Registry');* w: [5 p1 y' L1 h
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, u- N5 b/ S+ n7 ] Y; X
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 G( h8 I# r+ L) x+ t3 a) Z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;& k J8 ^- F9 g! X, X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ _; r9 r0 d E1 j$ l$ R6 r' a* d' z. `' A
/* create a logger instance */" H5 k. m2 D8 O9 A
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
n3 b1 a; u9 wvar loggerBufP = new LoggerBuf.Params();
t0 I6 ^& M; l( bloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' l6 A# h# K+ i! P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" `# e7 p! x" u
$ U$ b5 ]$ y. x% Pvar appLogger = LoggerBuf.create(loggerBufP);
+ U# A; H" ?% { F# K; ]9 FappLogger.instance.name = "AppLog_Core1";
5 L; Z5 @* W d. UDefaults.common$.logger = appLogger;; H. {5 m2 g$ v p5 Y) V
Memory.defaultHeapSize = 0x8192; 0 x8 p S6 q' k3 c( |& j+ t, R6 A
Idle.idleFxns[0] = "&LEDStatus";/ N6 m3 `; o2 V. }
Cache.initSize.l2Size = Cache.L2Size_32K;
. m" R2 T4 k2 u0 i& j7 H4 |: t ?! X _" I7 ?6 O
|
|