|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ C8 U3 _9 r" I. q' s2 u6 b/ f我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: z9 ?! v1 u9 o" |. G(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 T3 W* {0 B* N' Z g! G/ |3 f
" k7 f! i" _1 w
是不是需要在DSP.CFG中进行配置: U9 [" m" N$ z# B3 p" s
我现在的配置为! f: u0 {$ T* T0 C* ]9 s6 `
; n- g- ?' z3 |% t p! ]8 W. L
/*
! M, D* v: H6 I S- n * ======== Operating System Configuration ========
1 U: H2 h. f# }. z7 g */
z! U4 d+ L# |$ e$ |+ l# q
5 h1 L6 W3 e" S4 r8 K/* no rts heap */
4 F$ `4 S& k/ O9 u4 _Program.heap = 0;0 J- u- W; \+ j4 p8 n
Program.argSize = 100; /* minimum size */2 ^, d" m: z4 G# U
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. @, v3 ]% a7 T, c! q* A
0 g4 W$ \9 s. {" S2 h2 z+ B( L/* create a default heap */6 S$ h6 a/ b: n3 C, `! w3 c
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( ~; J N7 \: ~
var heapMemParams = new HeapMem.Params();# F2 v( A1 y9 o7 O6 K. Y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 y( m) R. x2 r; a6 ^1 ]
% V- J+ K( i4 Z- d, o6 l0 hvar Memory = xdc.useModule('xdc.runtime.Memory');7 {: v, E1 i6 E
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);6 L& l' G0 R9 X7 \/ E
; ^6 @6 p7 E7 H6 o/* configure System module */6 y) \% X S* E; c) a2 ]. e
var SysMin = xdc.useModule('xdc.runtime.SysMin');
4 j/ w5 p- Q: u- n; aSysMin.bufSize = 0x1000;
* k! N1 e) m, G' I% wSysMin.flushAtExit = false;' |" g) J1 q2 x8 I
+ A1 t- o1 ]$ j; C9 ?! D
var System = xdc.useModule('xdc.runtime.System');- a/ s+ ~5 K5 z4 ]0 T# |- S
System.SupportProxy = SysMin; k l- K+ p8 x
7 B5 b4 v' F, L x/* configure SysBios to use the lower half of Timer 1 */
8 V8 W) q# O/ J- Z$ [2 G8 ^- ^var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 w4 y( H) [* B; n
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 g; ?& \5 q6 K" m- g5 ]4 c) y: ?Timer.timerSettings[1].master = true;
) J. \, i' o% q, r/ h6 WTimer.defaultHalf = Timer.Half_LOWER;9 e+ o$ n- ~1 I7 C8 }* }
Clock.timerId = 1;, y- T9 o/ _5 l1 D6 b: m2 ?# y
" y6 N) ?% R6 @! M# h( p4 W& Y: S# A U* x3 A0 ]4 G
/*
n4 m- W1 ?; ~3 x * ======== Miscellaneous Configuration ========
: b: G8 V% B: g" L7 { */, z5 b2 B1 k- V
) z* q+ L" h) S. X8 Q i
/* set default diags mask */8 f+ I/ P- m0 d8 \0 m- p
var Diags = xdc.useModule('xdc.runtime.Diags');
) r/ Q; ?6 ?* E5 ?$ A" Bvar Defaults = xdc.useModule('xdc.runtime.Defaults');, d& @9 `$ I) M, H0 w8 q
( k( h: r+ e! F5 q" N
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ c2 k0 i% `8 V/ T
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;7 e6 T$ r1 D3 J+ N- {8 d3 k9 O
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# i' G; G% V+ d& D& ZDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 b; |. P& y! O$ o5 @Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 [# C" X b) U& vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ q6 m7 M* y. b) `( E3 j9 I/ ?Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 I+ n% E: J; m/ o. J; y4 J% y) [Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 N u! ?# l6 @9 Y) D w
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 i* R; _ E4 N% q! EDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( |4 `$ u1 D4 d }( T! [0 ^4 g
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 X* j9 E5 r# G% E$ x2 L" q
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; D" h; o1 L" s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; h" G" |/ N& G8 C3 f, uDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
# Q4 u0 S& h) U$ I7 _
6 x8 G- H I8 [- }( c9 u" K; X/* override diags mask for selected modules */7 D/ a4 w9 X7 b- b2 c" i
xdc.useModule('xdc.runtime.Main');) f+ P5 m' P1 f6 |1 C* g
Diags.setMaskMeta(
- T% n ]2 H0 h* w6 b5 ^, Q' U "xdc.runtime.Main",$ D2 Z' R9 h* B2 E5 j$ u
Diags.ENTRY | Diags.EXIT | Diags.INFO,; k/ D* P2 T. w& U5 c* T/ R) i; k* j; p
Diags.RUNTIME_ON
9 g a' j* A; {! G);
1 \9 l$ `5 g* _' j$ H7 b, Y6 s6 n7 T
var Registry = xdc.useModule('xdc.runtime.Registry');
; u% ~$ K9 n) Z0 m% ZRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 F# f S/ r& y. v, @3 j/ n/ G0 }+ P; QRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 g0 F4 E3 x$ P* q5 D4 x4 U3 k
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# g5 `5 |: @% e+ M2 URegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 K, J) l5 d* T5 g0 u9 X% F; v6 f' a
/* create a logger instance */
?/ l; K* _0 c+ y- }) U; P: P0 ?var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( b, S1 Y* q- P1 X" m) ?: F, Svar loggerBufP = new LoggerBuf.Params();& }% A! D% R; c- I4 [" [% B8 E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 u. m1 z. L6 s- m1 z% ^( g
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" F; n/ S, W+ [: j' B, }
8 Y3 i9 ?* N, E# O/ cvar appLogger = LoggerBuf.create(loggerBufP);. P9 z" b+ O* P' z+ w6 l, ~8 i
appLogger.instance.name = "AppLog_Core1";9 Y& Y6 k% B1 y, S( G$ o9 M2 s) G/ N
Defaults.common$.logger = appLogger;
% O' b' p' q# B4 p% [5 M- ~Memory.defaultHeapSize = 0x8192; & Q0 i2 m3 C9 F( J' U2 Z
Idle.idleFxns[0] = "&LEDStatus";
& V- J/ ?1 o, ^: P4 gCache.initSize.l2Size = Cache.L2Size_32K;# t& j: e7 \) p& b' G& U0 [
% O* d3 |) t- Q; D4 `1 a |
|