|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ p, t) P% F4 N/ }1 M
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 d. L/ f' z# O. |" f. u( I(不过疑惑的是,为何单独DSP仿真就没有问题呢?)* s& B* W, o) H, Y6 S
: V, A/ {4 Z$ C% _9 ^7 p3 G是不是需要在DSP.CFG中进行配置8 Z } E1 g# E9 h: l7 }
我现在的配置为% F4 X2 _9 C8 ?: Q
2 [- c s" s, \* E( E
/*$ W' g+ \. s2 Q% C7 \
* ======== Operating System Configuration ========0 A2 q6 l8 k2 j2 b
*/
+ r( o& A M8 } K' i+ l0 s/ l. j) @& X4 M* B7 E) N2 P
/* no rts heap */
9 E+ \. X% ~! l3 k4 ~+ Z. _0 hProgram.heap = 0;
& Z& K3 c6 K% M) L5 WProgram.argSize = 100; /* minimum size */5 M" x) f! B( T4 \
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 e) Z4 [3 L) S5 N' H
* f+ l' y! I3 f: O; e) R/* create a default heap */4 U0 j/ f2 o& w; Q& F
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" S) l( N2 ?6 z9 S4 {var heapMemParams = new HeapMem.Params();
$ v3 f p" Y6 WheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 J* m6 k* }* k! c! n
3 M7 P* i/ r' k# rvar Memory = xdc.useModule('xdc.runtime.Memory');: S- T, v& m6 b: z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 Y2 e; p% u z* R9 ^1 i5 _! I/ |1 d4 m
/* configure System module */, @2 \: g7 Y7 w2 y* I
var SysMin = xdc.useModule('xdc.runtime.SysMin');
7 Q6 t- C/ C" }6 T3 MSysMin.bufSize = 0x1000;& ?# D) j: t8 \+ \4 F; v
SysMin.flushAtExit = false;( f- z- V7 F8 J+ g* H" q u
( e b/ |* |" R- G) evar System = xdc.useModule('xdc.runtime.System');' i. `; f1 S T9 _9 t$ d
System.SupportProxy = SysMin;
; O( U: Z9 Y q) Y. ~
/ |6 N9 u# j) |* b+ Q/ L2 w& W/* configure SysBios to use the lower half of Timer 1 */
# r7 e' W( p9 G8 [var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# _) V' d: M. I+ C0 d3 ^var Clock = xdc.useModule('ti.sysbios.knl.Clock');
/ P n) |- ^2 D0 k1 ^4 ]* nTimer.timerSettings[1].master = true;
, {$ U+ z8 C3 X& [$ N1 q! M0 WTimer.defaultHalf = Timer.Half_LOWER;3 W/ j* Q( h R4 S: p! G5 M
Clock.timerId = 1;. y) s& U1 n" P t* e
9 o2 j* w8 j4 n' O: N w
, G* s$ c5 w1 m8 \/*" ~! i/ E F" o
* ======== Miscellaneous Configuration ========
3 R5 J/ U* `/ O */' g: [6 O9 t" E) u; M4 ?& e/ P
, u- T) O" R4 f, X$ d) C
/* set default diags mask */! e1 m6 q- S5 q8 W) g% Q5 Y
var Diags = xdc.useModule('xdc.runtime.Diags');* M& Y: M, O1 S
var Defaults = xdc.useModule('xdc.runtime.Defaults');% j& n! @/ P( |7 O& S, X0 A( q
- @. H. z4 c* h& h
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 j, M8 r1 C0 T" t) f( a
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 b! g' L: \: f$ D: F; [) F, D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: A" |! Y: a) e
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
_! S# ~! l* q, p1 O: ^6 H# ADefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; ? v1 b' {% m7 sDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 O" C9 S0 u4 d- V: E% q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, I/ i! V" J" XDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* R: W* J+ q1 o: H
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" U- i8 R' g& \4 i" I3 _Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% q$ Q8 s- i/ `' A. A1 w6 n
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ g/ J( L4 d$ ]7 v7 @Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. w# q( |5 N( K( A/ P9 A2 YDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 H: v$ R5 c+ e$ V7 N1 LDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 H. P, @5 U) w+ Y# r: B; P& G# c- J) X# F) e( n5 B5 o( @* j4 g# q4 H
/* override diags mask for selected modules */
: i& W, I8 ]$ Hxdc.useModule('xdc.runtime.Main');
* ]4 z1 O$ i( ^8 y: bDiags.setMaskMeta(
3 V3 w: W: s' I" ? "xdc.runtime.Main",
% _# f$ ]1 `. S, m0 `; O1 X Diags.ENTRY | Diags.EXIT | Diags.INFO,
* N7 i }& W7 r Diags.RUNTIME_ON, L* x. B5 |1 d% O2 v9 C
);
8 E: }6 ]9 I# ?5 [" H
) r8 v# {5 B: W+ }var Registry = xdc.useModule('xdc.runtime.Registry');
7 ^ M" M( x" y6 I' E! \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 k( ^: p+ T6 b- O# N' f) P" oRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" D( r; z8 z, u0 ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
) |- s' r w! P7 i2 g$ R6 h5 pRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: b9 h7 c, o) \! }8 s& B
) r" ]/ x( e+ y/* create a logger instance */
! ^) I2 x% D0 I+ Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. G6 Y" L; g. n* I. evar loggerBufP = new LoggerBuf.Params();
) y( b9 F5 G& R# \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- B- W: t [8 X- H: _/ A9 f
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 f" H- G8 m) k2 J! ^2 W" J# d L
6 F" C# m* J+ k) O: D& ^) fvar appLogger = LoggerBuf.create(loggerBufP);
0 l- ^) B& a# w: J2 aappLogger.instance.name = "AppLog_Core1";5 a3 p2 `5 B4 ^- k4 ~- F
Defaults.common$.logger = appLogger;
1 X& H% g h6 S8 G7 kMemory.defaultHeapSize = 0x8192;
( y( r5 p) j' F1 ~9 CIdle.idleFxns[0] = "&LEDStatus";( H: I+ \; n; _% j; {- Z
Cache.initSize.l2Size = Cache.L2Size_32K;
5 N+ D* L4 E1 [" ]0 D4 O6 b7 D# @2 K7 Y# I
|
|