|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 l" c" n* X6 Z; `1 I8 U5 z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ k* m7 c/ O9 f, M9 }" @
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) Z- J8 A$ E: o- P& R8 Y' R( c# ]
% u/ Z: l) _, J. Z: s
是不是需要在DSP.CFG中进行配置
! q, c- P4 ^# G, k! N9 ~我现在的配置为
2 ?* n& o: Y' r9 n6 g7 O0 G% G! {: @- W
/** V* k" Q: v. \7 w! C: ^9 N
* ======== Operating System Configuration ========
: U. ^; z6 u' f% ~, Q *// [1 O; r0 k, |1 G
! ^+ }; S4 Y8 c* i: Y; Q. {/* no rts heap */0 B: u: N' O4 R9 G! p( [
Program.heap = 0;, | \% B) Q5 b
Program.argSize = 100; /* minimum size */
9 }. t: f* m+ G+ X! p. iProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 E, O& a* p* K# N( h
* i$ N( C" K" G/* create a default heap */" P! J4 [! J3 G# W
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 \8 c/ k6 c* @7 g2 _3 a" a- b$ D2 Vvar heapMemParams = new HeapMem.Params();
5 ]' L$ X. a+ J1 gheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% t: _; h3 U+ f; K
" z0 t) G" Y& d
var Memory = xdc.useModule('xdc.runtime.Memory');
( Q2 u* W: S* n; ]/ FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 `$ { R' `9 r" M$ n) C+ }: f* \) z0 Q# j3 X
/* configure System module */
: y" f# |: X8 x2 d! H" \var SysMin = xdc.useModule('xdc.runtime.SysMin');/ ?9 Z; u9 ~0 \. H( _# L7 A
SysMin.bufSize = 0x1000;
& t5 G1 H, r4 j! ?( zSysMin.flushAtExit = false;9 w; R0 x$ v5 f, n ?- f; Q
2 o+ C, P* d9 w D9 ?" Svar System = xdc.useModule('xdc.runtime.System');+ g( Q3 E; Q' ] {
System.SupportProxy = SysMin;& b+ U# _0 q# ~. y ?. F7 Q
2 b6 q. ~ M4 o1 J3 N [' H/* configure SysBios to use the lower half of Timer 1 */! [ E1 A: a/ r, j2 D1 x U) L
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; g; Q0 t# A/ G
var Clock = xdc.useModule('ti.sysbios.knl.Clock');4 [- y) Z4 r' K1 o0 A
Timer.timerSettings[1].master = true;/ p- {" z- c" B/ Z4 K1 n0 b4 S
Timer.defaultHalf = Timer.Half_LOWER;* d u: [) K6 X5 U
Clock.timerId = 1;0 c- |$ b( Y$ }$ Q
# D" [/ _1 b# B# m, W
; v$ i$ p+ q7 K8 n- q& h5 C/*. j. {* \2 h; e2 E& h6 ^; I$ e
* ======== Miscellaneous Configuration ========& N S4 b/ R5 b" s6 q
*/
( [2 Z R" G& H4 Z
% ~# i( C) p; C5 _' d/* set default diags mask */
1 F8 v. |+ g; E2 u9 Z. U! R% Bvar Diags = xdc.useModule('xdc.runtime.Diags');
8 s9 Z6 ~: I% r. v' D `% uvar Defaults = xdc.useModule('xdc.runtime.Defaults');
' n @( _+ J( R; f& P$ x: I
7 \2 v: K- U" W3 `% KDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 z4 {, T9 G% p
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( H: N, V9 g3 f5 m% p/ ], qDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* M! k# J6 D' L' B l2 Q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */# |+ b1 I+ y! K5 ?' I* ~
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* ]' a5 k! @5 r& i4 gDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;. a* l) Y% s2 y, j4 \9 c9 }% s
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 e1 k7 K( ]2 M5 \0 X; Y" P
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; g7 f' k& V9 m/ t: Z8 \* T
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;3 ^, {$ }7 E% i0 d; p: \
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ b4 q5 G- O' f; |9 J+ T5 _4 f, ~Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" G( e$ I% h; d! I
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 I& L% p: C" \Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; k y7 e2 c/ ^: A6 [& m
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 }1 `8 f% d* X$ i1 r0 w& S
; J! R f% s7 o* i! ?/* override diags mask for selected modules */% g. x; e4 [" u: M# X
xdc.useModule('xdc.runtime.Main');9 |2 _# s( M ?
Diags.setMaskMeta(
( ^: R" ^+ e0 x1 T( {8 q/ Y; | "xdc.runtime.Main",! w! s$ T8 Y1 d! P# [
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 Q& \( ~' U# U& S) D
Diags.RUNTIME_ON
" d3 J0 d+ [2 r2 ? }) f r- N! Z);
$ a! X1 _6 r. g+ \! _3 _
! r' i6 j4 c1 G6 k9 ~6 lvar Registry = xdc.useModule('xdc.runtime.Registry');
' E- H+ K q. t5 {Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% z7 N1 i% N; ^' T& s6 j# [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( h, ~ Z+ ]: j9 D
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: J3 B5 g, e a; I) v8 _3 SRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
4 N( H; S7 y! s6 ^" S
1 S- ~ Z& p3 o" m/* create a logger instance */
, U8 G. ?. p+ i' ?. J5 [# ]var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 _$ F: |9 w- l' {- M8 E! ~4 v, ?, K
var loggerBufP = new LoggerBuf.Params();' \5 @1 s( d+ m& O0 N2 b; Q+ m$ _
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 U; j4 }/ B/ e
loggerBufP.bufType = LoggerBuf.BufType_FIXED;, k6 h$ `7 \7 X
7 ]3 H! j5 G8 x' ^+ v1 v& N2 Zvar appLogger = LoggerBuf.create(loggerBufP);
8 m1 [8 M( a) |: ]# n9 [6 `6 q9 g+ KappLogger.instance.name = "AppLog_Core1";
3 S8 f, H% D. o R! NDefaults.common$.logger = appLogger;5 P, c1 s, k& A! n! f2 P
Memory.defaultHeapSize = 0x8192;
j j- R2 i. v* P3 a$ mIdle.idleFxns[0] = "&LEDStatus";
m# [+ ~& B1 X: ]9 j7 A5 g; U' u. N, LCache.initSize.l2Size = Cache.L2Size_32K;* g- q0 R* {& m
+ m6 J, y9 q6 ^
|
|