|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; @( ~( f" C2 s- a( l6 S5 F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
1 i) i$ _. ]/ h6 X- G" S(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; n/ f9 t a0 K# v- q/ s) P) t8 z: ~4 v( s5 c& I
是不是需要在DSP.CFG中进行配置
8 M4 w0 B" s4 g: k9 @, x我现在的配置为: F& C( i5 ]7 T$ E/ M! I8 t1 \. p
% W" B6 ^% f3 [$ z, v0 z( k/*
+ ]* D, U; [" o: F * ======== Operating System Configuration ========3 H% j& j, J; a/ w
*/
$ O$ f+ ?/ k+ s. |3 ] ?/ a2 b I1 A( G% y3 X; V
/* no rts heap */
. C' ]6 J/ e0 P4 h% }Program.heap = 0;+ ?# R6 j; w2 {4 P
Program.argSize = 100; /* minimum size */
" j8 q9 a, h0 I1 H8 A5 y7 WProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大6 J# g9 d8 _- B
; J; F4 f4 L* L3 c5 A* t. {4 K; @/* create a default heap */6 E/ M" r4 h1 Z/ Q* f4 V3 k, S- P
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); V3 k& D1 ^! @0 x- y7 k
var heapMemParams = new HeapMem.Params();9 }5 V2 t* a4 l, d" N: b2 I3 }0 x
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 b7 @: V. w9 ]* ` \( z s3 f* ]: ?! r
var Memory = xdc.useModule('xdc.runtime.Memory');
2 s8 A$ [- c8 N) L; S$ zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 A1 Z5 m. S E' t! R7 b& \. f6 X+ i# L% ?: a% T+ {- ]% M" X
/* configure System module */
" S- R9 u: |0 _: w" ]2 jvar SysMin = xdc.useModule('xdc.runtime.SysMin');! j2 G$ ?; P) a
SysMin.bufSize = 0x1000;
" b" ~7 {4 {/ B- Z G6 bSysMin.flushAtExit = false;! {: v% R; J6 B: O
+ \( H3 S5 T/ N/ evar System = xdc.useModule('xdc.runtime.System');7 [& F6 I1 U7 |) b
System.SupportProxy = SysMin;
% ^! d. t1 y8 ]# N7 J/ d
, ?# V) _6 ~ @( t+ W" k$ V/* configure SysBios to use the lower half of Timer 1 */
; p" x& m8 l# Z! N+ e+ wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 `) p, B8 a @1 G x. L
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 ~+ o. v) t' h7 y' DTimer.timerSettings[1].master = true;( ]. e& U- f% d8 x$ f, F9 L
Timer.defaultHalf = Timer.Half_LOWER;
) H% `) h) w/ sClock.timerId = 1;3 `" P; r* g/ B8 Y0 K2 A6 W
r1 q' e3 B+ A0 q& k/ {
! }9 A1 v- v* l2 _7 N: o
/* X3 C# f6 W& J1 J E
* ======== Miscellaneous Configuration ========$ ]) v3 r/ S' c. V( D2 K) g& ^- Q3 s
*/
# M7 C9 l, f* _9 [8 ?+ `$ Y, \" r; d1 x
/* set default diags mask */. J- {2 C6 J% \$ C7 o
var Diags = xdc.useModule('xdc.runtime.Diags');
8 ?! L1 h9 a. s- }" ^var Defaults = xdc.useModule('xdc.runtime.Defaults');6 r% w+ k, d& u. a* D
+ `4 O" F8 x& W" n& r0 B3 h+ dDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 }4 N4 l" O. B6 JDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& D U1 B8 O) G" u" O" U5 g- s
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 ~1 ?, j" {' \3 s8 Q. k
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 S( L' B. M9 \: j0 JDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 V1 {) D: g2 q+ ~& H
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. D# j T( f& CDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 a$ X- f$ g# l" @' n- ADefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 B% Q3 c4 h0 j- R" C, J: `9 c7 L4 z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ E- H* g/ n9 w. ]Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
5 f& h4 [0 W; ~4 E+ bDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; r5 h* N8 R' Z" mDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# H) O; b; a7 P6 K* Z& fDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 Y- i1 X4 {" z2 w% y* BDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
d* o' s: h# N: g# q% u/ i- P2 ?& r0 ]6 H1 x: N% W
/* override diags mask for selected modules */! @1 I" W$ ^8 e, s# S* Y
xdc.useModule('xdc.runtime.Main');
# z! @0 z |6 D SDiags.setMaskMeta(
7 M& [- x0 q O' n3 ` "xdc.runtime.Main",
( F6 _( w! h8 D6 {7 q" p2 L Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 t. J- @; g! ~/ t( G5 N* s- b) m Diags.RUNTIME_ON G _. W% m: ]: j5 h5 u6 c5 r
);- K- t* t% ]$ i! S2 s; U
/ B$ a0 o! }. b% L8 h% z4 ^0 Lvar Registry = xdc.useModule('xdc.runtime.Registry');
% B+ l2 K: U; O! E: e l5 CRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
?6 _" l! k' K; ~Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! y8 z/ Z* m1 s5 A% H+ S' i8 O
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 r9 q- {& J3 J/ {1 w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; ^7 e( Y s" i( K3 }
4 X. L1 ~6 b: H$ j* K/* create a logger instance */
# T+ E o! b" O" {- h; _" K& Uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 ^: Q7 ^: B3 X/ {2 C7 W cvar loggerBufP = new LoggerBuf.Params();3 T2 K# c; c+ h# C& S
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* D% V& e- H! lloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ C7 {7 F4 r4 S! T" Z
# h b4 c8 a3 J, E( Rvar appLogger = LoggerBuf.create(loggerBufP);# V! Q& w' {# b
appLogger.instance.name = "AppLog_Core1";1 Z/ U8 M/ q: X! Z. ?; j1 G
Defaults.common$.logger = appLogger;0 r1 K/ q7 `2 J
Memory.defaultHeapSize = 0x8192;
$ y* ]" K" A9 `4 vIdle.idleFxns[0] = "&LEDStatus";
; \' I2 ^* s4 N6 q/ m6 o: JCache.initSize.l2Size = Cache.L2Size_32K;5 a G9 |1 v4 ]8 g
3 d+ a1 `3 O* ^1 H/ T |
|