|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
U+ A1 J! l' p7 A4 ^' \我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 ~# A) i( k/ V: |
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 Y; P/ X( {8 C/ K
( O' D. l0 A9 b$ G9 C0 u J是不是需要在DSP.CFG中进行配置9 X9 l6 y7 T1 d: A( i! ?3 |1 k
我现在的配置为
9 H* t; M% j# q: h5 G% `; f( o. N; f: o" Q8 S+ W% f
/*
" k1 s. v! z1 o! Y: q o. E G+ k8 Z * ======== Operating System Configuration ========
& E1 [ i9 O% Y6 r7 J7 s */1 ~' K2 P9 s, F
! n! N8 c N0 T6 p+ z
/* no rts heap */8 }9 R* I: W$ } s
Program.heap = 0;
* V, j. O3 D$ t& `2 rProgram.argSize = 100; /* minimum size */
9 @1 v5 \0 r: o' j( JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 B0 u; _+ u& k2 _/ {2 s& z. _$ x9 M" z6 ~ n8 k
/* create a default heap */
' }# m: B1 Z! x6 C3 nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 o6 L- d. L- Y" d8 K
var heapMemParams = new HeapMem.Params();4 q' |0 b& O1 x) h2 _2 _6 A. ~& p# J
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. g7 v3 u9 i2 R5 C9 G. \2 `
, J0 ~% V7 T* i! ]7 xvar Memory = xdc.useModule('xdc.runtime.Memory');
4 G) c" E' M) u0 |. FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
% @/ R2 N: T) o6 B. a: Q* ^' I; Z9 Q; Y8 f) ~6 M0 `* f
/* configure System module */
6 M8 a4 j9 o) l0 Z! s2 F4 E& y, Evar SysMin = xdc.useModule('xdc.runtime.SysMin');, @2 ^+ g& G8 Y
SysMin.bufSize = 0x1000;
! \- o% W: c: O: a% ^' dSysMin.flushAtExit = false;
5 D6 C3 {9 j }+ J! |0 t8 K" V; c7 h
var System = xdc.useModule('xdc.runtime.System');/ Q% z) K% v& m# c; M! G
System.SupportProxy = SysMin;
- f3 u- C0 i& m! ], \& r, C7 {4 w( e! J" O9 {
/* configure SysBios to use the lower half of Timer 1 */( I1 [3 k. ^( W! s" K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 w5 y6 L: \3 m( @: ^var Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 P6 O" E: y1 m' b0 @6 n' P9 z$ LTimer.timerSettings[1].master = true;
" M4 |1 E- B ^, C, T& fTimer.defaultHalf = Timer.Half_LOWER;
$ J+ e& K5 W5 AClock.timerId = 1;
% `7 [+ _9 @( S6 b3 E9 T, R+ o& }- B) Q
5 }0 L1 F3 k* X" x" e2 L/*
$ p" n1 }+ o9 A! H * ======== Miscellaneous Configuration ========
$ W( {0 ?& v0 U# P3 ` u u+ z *// v; A- w& U) f. W
5 g' t, N. I8 j! C+ F8 V/* set default diags mask */ `( \) b' ]7 C
var Diags = xdc.useModule('xdc.runtime.Diags');( y' M/ j2 Q: }( {9 D
var Defaults = xdc.useModule('xdc.runtime.Defaults');2 ~+ M3 Z1 r. c1 K0 C# x
: L/ H: w6 \* a0 {$ ^
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: c) w2 `* {/ g" l! `2 G
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% Z$ H6 j: [5 s1 F( d, p G E% oDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 T$ V" Q5 F8 d' V, I" y8 C9 o; NDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- [5 u. C, c5 g3 F$ b7 M, ~Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 v# ^+ g5 B2 k3 H- w% a
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. i0 `! K H, V7 o. ZDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% H4 d- J l4 T) y5 A/ C. D1 r; M. RDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;" Q! h' ?3 o( Y& y4 ?- R- ]3 u
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( Q) x+ @) l7 C( N/ t W
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ X+ m4 w: m) i* \& IDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ g7 q3 t9 s# ~7 a4 p$ BDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 v/ d$ c* |! I$ ~2 A) J
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 \' I. b: U: T) z2 hDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;5 s4 s& H$ R( \8 u) q+ l
& [) b$ K6 J" [5 @% |4 x1 P
/* override diags mask for selected modules */+ v6 b1 m' h6 A# w8 K ?5 x
xdc.useModule('xdc.runtime.Main');
0 V, z' Q. u3 C0 m2 s; r. z$ j& XDiags.setMaskMeta(
4 T/ Q0 Y0 \- c; Y) O! Z1 }; a "xdc.runtime.Main",2 } B9 s+ e% H* \; L. E4 {# a
Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 Z$ U7 Z) R0 |& J Diags.RUNTIME_ON
( W# f1 @- G" D( ~. S% E# l* z);
/ [0 A" p/ v! h2 n+ v5 t: {$ g9 C: f# f4 p( p
var Registry = xdc.useModule('xdc.runtime.Registry');
& A, {1 N# c; B9 p2 _" |1 J ] XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' G+ j j' U, V$ RRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;* b; Q) i: T7 |, m9 Y6 W* z: `
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. h; E! Y3 D4 q7 t q7 K) O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! T! H* \$ f; x& g! _8 J3 e& y6 l
' z2 x, I5 C. p8 a9 o6 W. }/* create a logger instance */' ?- |2 d2 \3 \* R8 z0 b6 \
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 A6 l3 L* w5 R0 ?var loggerBufP = new LoggerBuf.Params();
; d0 F+ h- {9 X8 rloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 W% @" n: {/ Q. W6 p: FloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 c$ p' k9 ?$ g, V
. q+ z' ~1 L! W5 U2 @1 lvar appLogger = LoggerBuf.create(loggerBufP); u+ R2 J7 ]) J2 ] `
appLogger.instance.name = "AppLog_Core1";
' U8 n1 M* T- jDefaults.common$.logger = appLogger;$ g7 l \# `2 C5 H, m2 P: p
Memory.defaultHeapSize = 0x8192; ) N2 P& j) e5 a8 x
Idle.idleFxns[0] = "&LEDStatus";
$ L# M. m/ h& a' g# t% HCache.initSize.l2Size = Cache.L2Size_32K;
6 U8 H* H/ Q3 C8 w. T% p& C
! |$ [. P4 |- c( ] |
|