|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* G6 c }0 F$ J6 T9 \6 ^我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 ?6 N; b2 ~8 }" O r0 {, T r
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' C2 W1 l3 y. j, ]# J9 s
' ^8 |/ M+ t3 Y$ y/ a+ Z) B
是不是需要在DSP.CFG中进行配置
~ `0 h* e) s: Z我现在的配置为" c! w6 O. l9 g* q( f
9 U2 b7 F" o7 l L- ~0 }/*
. C* M2 n; U5 F6 M * ======== Operating System Configuration ========
5 y' N- u/ F$ Q5 n */5 \) m) y* x6 i) P$ A% J/ Q9 v
6 T7 |. b7 T! _6 `$ x7 G
/* no rts heap */: \9 ` A- y0 V
Program.heap = 0;7 _! i- J2 i0 _$ s7 K
Program.argSize = 100; /* minimum size */
: \" G" N5 L3 ?+ \Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 I6 V; \' X: B5 K
* M" R8 ]- b. l/ H6 U% [4 a
/* create a default heap */$ J, R* }) c0 m1 `9 c6 v( O
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* R T. k8 X3 _# I1 H3 b$ ivar heapMemParams = new HeapMem.Params();# ~3 m& m+ B! |# n) G) ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" {4 e$ N* [: r- T! x; ^2 [' G2 x7 S* J
var Memory = xdc.useModule('xdc.runtime.Memory');
. G6 o" @. k; r; J- eMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
( u% I2 H4 ~ Y' F& ^: g5 M: F1 S
5 `* r4 G$ b: F# f: m6 z5 L! X/* configure System module */
" | N' e& Y" G9 ~4 [" j3 Dvar SysMin = xdc.useModule('xdc.runtime.SysMin');& W; z! \. E7 @# j7 V! ~, A; i
SysMin.bufSize = 0x1000;
+ X. x. N7 D; c6 KSysMin.flushAtExit = false;
2 F7 n# p( G) O! V$ F5 m3 H* Y( \2 W
var System = xdc.useModule('xdc.runtime.System');
( w0 k6 ]: e+ k) k4 z3 LSystem.SupportProxy = SysMin;9 v* b, t8 o% D% R
2 R1 Z; l, f/ r# ]+ |9 i+ g/* configure SysBios to use the lower half of Timer 1 */9 f& Z: q- ^4 B, l+ A% ~, N
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; n! Q6 ]4 c# V, h+ h; {
var Clock = xdc.useModule('ti.sysbios.knl.Clock');. D7 g7 [& ^0 s% E) A" K1 k# w
Timer.timerSettings[1].master = true;
' q8 h/ e5 X+ c: w" u1 V8 j; j) F8 NTimer.defaultHalf = Timer.Half_LOWER;
2 J6 n C% T) i) MClock.timerId = 1;
5 `8 U* k) }5 e" A0 J7 m( w; ?3 d% X0 r# w$ G
7 [( q4 {. |4 L8 b
/*
! _) ]8 c, b* L8 W! S4 X * ======== Miscellaneous Configuration ========& q- n( o1 D9 p7 g9 a% f: }/ `, \
*/
8 W6 O9 k) O/ A" H8 L# N) [2 s# N* J/ m! \% i
/* set default diags mask */5 ^3 f* _7 c4 E1 p" M0 |7 _& O
var Diags = xdc.useModule('xdc.runtime.Diags');
]# ` y) @$ w& i5 A0 C% A- Xvar Defaults = xdc.useModule('xdc.runtime.Defaults');+ k5 _7 I" D& G8 @! s( d
. i7 K% e5 k* e1 a& HDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 f$ d5 l! H4 p
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 p$ b# n1 y UDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 O/ s8 R: ^- m) V! ?3 ~
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// y4 w+ ]4 B& P0 `" I# }7 a r
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 P$ {2 T8 K. U ~! D5 sDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% J6 @( _5 k9 O, C3 B; u3 Z8 F3 JDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% h/ ^( N; g ?' I
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 M! b; F3 M2 C' w8 TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* g8 Y9 {% k) Q; \. G/ z2 _: i2 ZDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 ]- a P- o+ T5 t6 xDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ i+ d" _* b. w1 O" r- ^8 _
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' b7 o: f5 [- ?9 G2 ?$ P% w
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 j$ G3 p1 K* v# H; v/ a* UDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* A/ ^- M- a6 H6 G( v
8 X( e) d" e7 Q; I* q) N/* override diags mask for selected modules */% Z& `5 Y. m7 B
xdc.useModule('xdc.runtime.Main');' q1 S- s' e! v
Diags.setMaskMeta(
8 M! B; [. U* m' Y0 Y- D "xdc.runtime.Main",* r5 S% ], w. X4 T
Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 t3 x6 v8 q1 M5 h1 T Diags.RUNTIME_ON4 F) X' N( O& l8 b5 y2 Y' v
);
2 o3 O# j% _/ x
6 n; \% N$ i6 ~& k kvar Registry = xdc.useModule('xdc.runtime.Registry');
9 o7 Q1 @- R; R* z- Y0 V9 X8 rRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 C1 Q. J3 U. @& s& @* x% ?/ D4 A' ~& x
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- m a: Z4 C) Z# V$ J0 o! XRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ G4 g/ n, W0 E" D& YRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 V6 l3 p- R8 _+ J; G5 o& ~5 x/ m0 i3 P/ D, _7 v
/* create a logger instance */
% ^- L" \3 E+ W, S2 {- ~, vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" O* |! ?$ s/ `# ]6 e0 L9 Svar loggerBufP = new LoggerBuf.Params();, b$ G, s! Z c% X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 _: f! H6 h. C. u5 e* z# wloggerBufP.bufType = LoggerBuf.BufType_FIXED;
" P, \, F7 f2 p3 ^# w8 D' ^# B, u1 y M
var appLogger = LoggerBuf.create(loggerBufP);5 [, R0 Q" d" M0 U; U3 J3 X: ~
appLogger.instance.name = "AppLog_Core1";
2 ?/ k$ O! K) M6 [# qDefaults.common$.logger = appLogger;2 X$ {6 M; v- s, j& e$ |$ J
Memory.defaultHeapSize = 0x8192; 3 q1 k& J# U) I$ p* z+ _: W
Idle.idleFxns[0] = "&LEDStatus";+ A5 M: V( ?) r% U! V
Cache.initSize.l2Size = Cache.L2Size_32K;
% R1 X6 H' c$ ?( i$ j8 v$ c
5 X! n# u- P7 W |
|