|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; S5 H; N- q5 p! N6 p我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! A2 t* v2 }* X& r w$ i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 l7 z6 x* R" z6 W/ Y
. V9 p3 u8 J! x$ u
是不是需要在DSP.CFG中进行配置
4 m3 }9 v& u" ~6 P( \6 i我现在的配置为
$ }) N% R9 Y9 E4 H6 ]
$ y5 a0 f" a2 c- z1 q% {5 V/*
* f5 D$ F+ L1 M r) g * ======== Operating System Configuration ========: e% m" t. F* {, }: [. f) B( F
*/4 i( r8 C1 d( T$ Y0 m- i1 p" `- V
2 u# b$ q" s% M' A' ~( W
/* no rts heap */5 }+ c) _& y9 c6 J
Program.heap = 0;
0 {- w A) v; t( V* H a7 qProgram.argSize = 100; /* minimum size */6 p( r9 Q9 d' o% ]4 u$ F' \5 H
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 @8 Q4 A5 M! Z$ m2 @. }% [ c
; n3 C2 n7 B9 G& U+ ?6 c/* create a default heap */
, A8 b" ~8 x' l- \5 z0 c! [- avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); I/ G( }( v: A( N( K6 X; p/ p
var heapMemParams = new HeapMem.Params();" [9 D1 j- X" W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ U3 F! q2 Z) t6 b' ?
+ k' J9 S% u' | f# S7 M* h# bvar Memory = xdc.useModule('xdc.runtime.Memory');
8 ^) w! A" S. D# G+ x' c" SMemory.defaultHeapInstance = HeapMem.create(heapMemParams);! w( D1 {. z9 {/ q. U" r+ V" D
9 E" h4 Z9 z; {, @, D7 r2 i( K( l/* configure System module */
# }" F5 b. E5 J$ }var SysMin = xdc.useModule('xdc.runtime.SysMin');# d. n9 V) y5 M8 o8 J8 `) B( m
SysMin.bufSize = 0x1000;6 Q5 y! g6 P4 O5 o2 E* l
SysMin.flushAtExit = false;* ]9 R' ~ p# Q e; S0 E7 E
6 t' F6 X' m; v9 w! B3 Z
var System = xdc.useModule('xdc.runtime.System');
: k- y( a- w1 F# l8 NSystem.SupportProxy = SysMin;
) k8 F) T/ |2 c) |( f% ~6 N5 m1 ~) h- @/ \! D- M
/* configure SysBios to use the lower half of Timer 1 */
7 \( A/ k+ C1 c1 u- {$ Ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& f) F; X2 R0 D/ ]) ?) K
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
2 P T' X7 v* F6 q# U! p5 k8 gTimer.timerSettings[1].master = true;
/ F# R/ P* a8 s: O/ [Timer.defaultHalf = Timer.Half_LOWER;/ t6 s) @8 B7 O" _% F" o
Clock.timerId = 1;
( H1 } T1 c# D- @. u5 ^/ B) c* }% u
8 ], Z ~" u( ]
/*3 i3 }3 X8 C: J; b3 ^) {+ z
* ======== Miscellaneous Configuration ========
! n% Q6 u. ]( g3 B0 D */
0 z$ V- t7 k8 y8 h( r/ M9 t9 T# ?5 @) m+ X, ?1 x0 {( j" `, Y9 o% K
/* set default diags mask */) E q+ t8 q5 K, Z1 P! w8 Q" J
var Diags = xdc.useModule('xdc.runtime.Diags');& P p) D2 }7 I: d7 F# m- F8 z
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ k5 i2 F- F/ {) U5 _7 @
/ n5 A" }6 a( m3 H* ~ `% GDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;( x. F+ r% I, \. e1 D2 s m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, s% H$ o. v/ M4 sDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;& L$ H& n: o+ h I, R E; a4 [
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ U* l% H3 A- } aDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
z' m2 x; E/ Z1 r# `$ uDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. b9 b! U% S. U, {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: s' j# K3 ?; v, c+ j0 l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
r1 Z" L* S6 |& _9 ZDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF; n% d: C1 E! P, |1 D- U+ |
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* i( ]; M; P1 ^! ~5 \, I) b4 K
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 ?6 J+ `7 Q) A
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 ^( j e2 v! V, D
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 I _' ^' n7 {- f
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& _& j5 w1 e* b2 i$ L N- D& H. H7 i
/* override diags mask for selected modules */
! p2 }2 s" W) x3 x0 Xxdc.useModule('xdc.runtime.Main');
7 b2 F1 l& G+ }Diags.setMaskMeta(
( O( m) _0 [0 J7 v "xdc.runtime.Main",
( D. R: \+ m( j6 z+ ]* {; s E Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 w) T6 V: z. w$ c" I7 y4 ~ Diags.RUNTIME_ON2 y5 i0 y) @8 \* Q6 j. Z# ~" |
);
) I. D/ u: k( s% T+ T
( v; {6 I- I1 s& f9 o$ dvar Registry = xdc.useModule('xdc.runtime.Registry');, f% X- \1 l2 r* g* x
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% m4 l0 e* }7 g' GRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" j G" l6 N3 f5 ]9 \" e3 YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ J' j; v+ ]3 v, ZRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 }9 l/ Z6 e# ^* C
* A+ A8 f. t! a0 B& v/ g* P/* create a logger instance */, h I" t* y0 A: {: j
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& r' y; O$ i0 W7 n" d. ]% ~/ Hvar loggerBufP = new LoggerBuf.Params();, m8 ^2 s- L- a" f
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */9 M8 l2 W8 t- R1 i8 ]; G
loggerBufP.bufType = LoggerBuf.BufType_FIXED;& _( t3 u8 ?. }/ p& x
_1 Z' S+ v% t) lvar appLogger = LoggerBuf.create(loggerBufP);
& Q" B2 \# w, S& w! T8 b- A# UappLogger.instance.name = "AppLog_Core1";
8 T. A$ C) w& l! K, o7 U V7 @8 kDefaults.common$.logger = appLogger;/ K$ e8 C% n! Z) |7 Y9 C1 v# d
Memory.defaultHeapSize = 0x8192; 5 {) i0 T0 y% U% M
Idle.idleFxns[0] = "&LEDStatus";, N) m3 x! I& a, N* n
Cache.initSize.l2Size = Cache.L2Size_32K;, ^3 B' X+ {" F! ~2 ]9 ]
( ]* n+ y- [. u/ G, R# [
|
|