|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ W! @( Z8 T+ X# r
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ p5 w. g( o# P: f% j* I(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 Q) C8 f# ^" v H: b
% z0 [$ Y( S% V6 |
是不是需要在DSP.CFG中进行配置
6 z$ m' g& N' O! J! w0 W我现在的配置为
# R% ~( [6 B1 r8 q3 j/ C2 A' w l" r; E
/*
# I2 K( U0 {3 q * ======== Operating System Configuration ========* ~0 `( Q5 W/ ]
*/. ]% p& c( C, A3 r4 C7 W8 k
: d- i1 x- x, a l
/* no rts heap */
$ l1 L5 B3 F ~+ |+ Y9 h L! cProgram.heap = 0;9 j; R! S6 V9 f6 [
Program.argSize = 100; /* minimum size */
: a% U# x4 D. Z5 xProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
* L5 t9 a% S) ?9 A* Z2 v$ A! M! S
/* create a default heap */
+ X1 Y; D, r i5 p4 kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, L. j& z! |" z' J
var heapMemParams = new HeapMem.Params();
: `$ ~7 ^) z! A6 q7 zheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 m9 B* i' H8 C" e$ P1 r8 I8 y
5 t: g9 q4 v% F, v( h( e
var Memory = xdc.useModule('xdc.runtime.Memory');
2 h* ]6 y' K: m* I/ z: G3 }Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 a I4 ^0 ]+ `: N! ]% J) E2 H& B6 g* s8 L/ z. D+ F
/* configure System module */' s) s* D; \% i
var SysMin = xdc.useModule('xdc.runtime.SysMin');: W+ {7 n+ G* z& ?- d( q6 K/ `: b
SysMin.bufSize = 0x1000;, Q. @% m' }; J" U
SysMin.flushAtExit = false;
1 R. L% }. f& i( m' x+ B
' y5 [- B! z Svar System = xdc.useModule('xdc.runtime.System');
" G, z4 b# L* |5 B, @& O; iSystem.SupportProxy = SysMin;
# z6 [0 Z# m5 V+ n. A
# O( k6 }6 l+ F! y! Q O$ C2 A8 ^/* configure SysBios to use the lower half of Timer 1 */
0 ^- j: y, g* m4 T4 o" X1 bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# P" Y2 ~4 N7 l) H9 jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- L! M$ C% E. Y& d" u' F
Timer.timerSettings[1].master = true;8 q7 d* C% L/ C1 S/ O( C
Timer.defaultHalf = Timer.Half_LOWER;* _! K& | z) r0 d" D% g0 Y6 Q
Clock.timerId = 1;
" N. C* b% H/ Z2 [
! j6 ^$ K2 ~8 ?( J1 A: y: h& k3 Y& ^
/*
1 T6 f4 b" a* s* k6 X" w. ^ * ======== Miscellaneous Configuration ========, E) A; j0 f7 R" U) Z) U$ M+ J4 m
*/
3 Z% K& D& ~7 x% C" H$ `+ W: d! x% I7 q: Y
/* set default diags mask */
; O8 m; J4 }( i7 Pvar Diags = xdc.useModule('xdc.runtime.Diags');6 E& z# j( q/ f9 W& D* e# c
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 P6 {+ W5 ^ E4 X9 T4 N9 ?1 u4 O! P" n7 S5 s
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) v" N# i" L2 Y! QDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 Q* u g# V+ y$ F' V4 F; {
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" q( w* ^7 l0 TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" v: a- F; M5 D+ @Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# ]! V3 D* t, Y& ^
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; R2 L n2 b! i9 c# t- T: f% CDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ V4 @# a* x) g: C- A oDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 |: }' a# n, b6 M' d/ l. N; g4 k2 w
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# |' m3 C. T( a$ |/ {* s: o' |Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 G8 V2 O4 k6 {9 v6 `Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. B7 t. h% R2 L# B5 J( o0 X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 ?3 k! b; {& {& a
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;" ?* U6 a7 G0 q5 b% C5 Y( c
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 h. J9 m( M. D9 V/ U2 {. f: I
! d# h# |; |/ a) I/* override diags mask for selected modules */
7 T3 B+ u3 M; ~# jxdc.useModule('xdc.runtime.Main');
H" B' M9 s; v) s9 ]9 A2 ]Diags.setMaskMeta(% b. t* e/ x& |- t A2 U- i4 l& @
"xdc.runtime.Main",
4 g8 s* t2 S: Q. @. [, ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,
4 e2 l2 Q/ E: P& }1 m0 f Diags.RUNTIME_ON1 I2 t4 @: W9 L: S$ u1 O+ ?
);; Z7 h% ^; G) t: P
( [5 U8 v0 }% |! ~
var Registry = xdc.useModule('xdc.runtime.Registry');, E! n; c# s0 e7 X3 Y& _. d- U" d
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* a( Z% Y8 E/ }& l4 j7 eRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 ~: |. s* Y7 G3 o3 qRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;% a, u# q0 s8 B) V2 v% N: P
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 t% w: C& U7 t7 X% ~0 J& N
5 B% I2 \* b. r! }, J ?7 a
/* create a logger instance */
% j9 @6 C) L3 N4 Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, Y2 M, F: E8 ~! i( Uvar loggerBufP = new LoggerBuf.Params();" W, W6 s# w* z: o- ^
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* w* N! C' f+ H- cloggerBufP.bufType = LoggerBuf.BufType_FIXED;0 R' ?, A$ A! v% E/ l$ G8 a: a
! `* o" V1 \0 t9 f+ G! `* x
var appLogger = LoggerBuf.create(loggerBufP);
1 ]3 H5 m D1 K( I5 ^) S# q4 fappLogger.instance.name = "AppLog_Core1";5 v% }' x- }- Q6 {( W! C4 s3 v
Defaults.common$.logger = appLogger;
+ ^0 M' ]! } `8 ^1 m$ G ZMemory.defaultHeapSize = 0x8192;
0 i1 O9 Z0 V- ?Idle.idleFxns[0] = "&LEDStatus";% c8 E& X% \' B' O9 f" F
Cache.initSize.l2Size = Cache.L2Size_32K;
- l9 P: R, A- Z+ [6 X2 {# i: ?' h; V% t
|
|