|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; J6 q/ |' x) F8 x% X: S
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# h2 B+ u; \5 _& o7 r(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ W' G% a4 s8 D+ I. V2 u
- G6 @5 d* t2 v是不是需要在DSP.CFG中进行配置
& E: g# J6 p' B( m3 V! \/ _我现在的配置为
+ N M3 u3 Q# y( y: }
0 ?5 q4 |) W+ q: s- e/*
. y' E9 D6 F. N$ ~6 ]$ J& H2 z% W * ======== Operating System Configuration ========
8 O/ U* Z/ a# @1 C2 ?; ?3 i. f */
K! R0 _- ^: W0 y$ R
5 ]$ Q' P2 s( W1 J- x) C/* no rts heap */
5 v0 G1 @7 T) L+ q" ~3 TProgram.heap = 0;
* J- H: Q# L& M4 _, G/ f; \5 u- `Program.argSize = 100; /* minimum size */ h& [+ s4 E) Y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, {/ Z% ~ z9 ? }, ^
" [% J9 {4 ^4 E4 [/* create a default heap */. U9 E! l) M9 h1 j3 g9 ?
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- \' R, z0 V) `! i* J1 G [( {6 V
var heapMemParams = new HeapMem.Params();
b* ~/ t) X8 q0 D. M$ R7 C6 g: _heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 i1 f2 Y5 j" I7 w/ ]. C5 g
9 i3 A% z7 I, o9 [3 I1 S3 ~var Memory = xdc.useModule('xdc.runtime.Memory');9 [. X4 T( f; b1 m) _9 m3 y5 a! z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ w2 a. ^0 T9 F
. ^. t O9 ^+ u
/* configure System module */
# p9 O$ V7 H, z8 ]: Xvar SysMin = xdc.useModule('xdc.runtime.SysMin');+ x+ h$ C& j' [7 Y* E+ { P: C
SysMin.bufSize = 0x1000;
+ D5 e3 n# i8 q% YSysMin.flushAtExit = false;
: p0 S; ^. k. q" u+ R p
+ \7 v0 G% D6 D% w: kvar System = xdc.useModule('xdc.runtime.System');
0 l$ S8 [ J* g' _' L9 ~System.SupportProxy = SysMin;
" |/ a' ?. Y U" [8 `4 S" R
( E2 [4 I+ l8 d/ e5 z, Y/* configure SysBios to use the lower half of Timer 1 */( G- o3 i Q2 Q2 J
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 C) G5 y* Q% n# ?; s" Z; Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');0 l! X$ z4 ]8 @' P2 u
Timer.timerSettings[1].master = true;& G# l, @- D0 |7 H% a, A
Timer.defaultHalf = Timer.Half_LOWER;) U* K, Y, b, o: B& q* E* e5 y
Clock.timerId = 1;/ q2 _& {2 R0 J
6 i0 ?6 Z& A- t9 {4 d; b V* R2 w, c# |& \/ @! t- d
/*
0 o# B7 `6 u, Z. |5 Q * ======== Miscellaneous Configuration ========7 g9 ]! H0 c: J3 U
*/
3 P& ]! k% C" p2 {/ j) a$ n
0 ?1 u; x8 B4 N/* set default diags mask */
k5 ]) U4 T' u- z$ C! Svar Diags = xdc.useModule('xdc.runtime.Diags');
+ _1 F# ]/ B- y7 {0 `5 ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
* j: g8 j: V/ g# l+ f: q
& c0 A+ s6 _- ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% |7 Z4 h- h; e% \" y8 QDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, |: R- g# d9 p/ RDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 I' d& Y6 {" n
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! `$ D+ u C& A9 [2 [Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 w9 D* \! g7 R" ` G3 N0 s/ [- x% Q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 F8 P3 y0 Q" c( T5 P& f# E4 j
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ s* m3 I0 o$ z( L& Q- D
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 {) T5 b) g' N5 p8 G8 J) o* NDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 M$ W- u: @, W) y6 v( g. A: jDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( g& i% U Z6 V6 f V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 I: L8 Z" A: k( |7 |
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& Q, X. F9 \7 xDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 k: O. J( V- d5 n& pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% x0 O! {2 m. Y! H' l+ |2 B7 P' V$ X) \# S
/* override diags mask for selected modules */# L# [9 p! q6 T4 U. D5 V
xdc.useModule('xdc.runtime.Main');
0 l8 H; G( K/ b3 QDiags.setMaskMeta(, M) e. J4 a6 q- L3 Q
"xdc.runtime.Main",# D6 z4 R: X9 n( F4 F0 \
Diags.ENTRY | Diags.EXIT | Diags.INFO,- s, w' i! i/ L) d
Diags.RUNTIME_ON% h' w+ m- C7 m0 @
);, c: @5 p0 W! F" ?/ S( y9 G, F. ^' E. R
( W# r. k |- ]+ P# M& lvar Registry = xdc.useModule('xdc.runtime.Registry');
# }9 V" s2 `, o# u& D6 ]- rRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. O8 c( m* ~" o& C
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;& T4 p' a2 ]+ v4 l) a
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;+ E! L7 X$ Z: o# ]5 T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 N/ g9 O& ^; {& M+ F0 l
" L, M3 }- l u( U7 g/ ?/* create a logger instance */
2 }8 {1 Q e) l0 C9 Nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); ~1 p3 w6 ^1 A
var loggerBufP = new LoggerBuf.Params();! S8 q5 a0 o( c' Q2 s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: D( W, W$ P0 ?. V: N5 m
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' _! b) X! L( S8 s& q4 G9 s! ]" k' _4 X* m @: v5 l: J* v7 L
var appLogger = LoggerBuf.create(loggerBufP);
- V% w- I$ @4 lappLogger.instance.name = "AppLog_Core1";( g" d/ g1 g1 C, \0 {. V
Defaults.common$.logger = appLogger;' o' D) R; a+ ~: r5 L
Memory.defaultHeapSize = 0x8192; $ U9 _3 U# U- `- J
Idle.idleFxns[0] = "&LEDStatus";6 B. X5 Z- p k4 W9 U
Cache.initSize.l2Size = Cache.L2Size_32K;9 T4 N4 ?1 H4 o9 p! H: C* S
# t0 ]4 }+ _5 T |
|