|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' p( A* Y, {6 p4 ~; n我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 t5 Y- i a/ n5 J(不过疑惑的是,为何单独DSP仿真就没有问题呢?): Y% o( ?# p( a9 \8 J
7 m4 p$ _& e4 e8 k4 g* O4 A是不是需要在DSP.CFG中进行配置" L; U8 \8 N9 @) ^8 d5 J# E! B
我现在的配置为4 e0 K' i$ q* j+ F# F4 E9 O
% Q) a0 a5 ]" `/ H# h+ f$ R j/*1 O+ q _% h/ h" ^0 m
* ======== Operating System Configuration ========) Z0 j! F' m1 t
*/( {2 Q# L/ L9 e
+ h% N. }' o+ ~0 S7 K, S
/* no rts heap */
6 f! g$ |) Z+ _/ f6 HProgram.heap = 0;2 k! T& _/ r& ^- G5 F
Program.argSize = 100; /* minimum size */
( Y. |& H/ u9 q4 ^Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: u$ ~2 ~, F" Y8 v! r9 e# H
' o0 P; i( B% W$ ^( V8 R) y/* create a default heap */+ k g0 O% U; s; {/ a& e
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 X( `$ p8 `, A6 Q9 x5 Gvar heapMemParams = new HeapMem.Params();" j. I, G8 ]) M p. }6 {
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* b7 s% ^% }5 A7 ~( E, k' B
% R( a2 W- k* P2 p& U5 L) bvar Memory = xdc.useModule('xdc.runtime.Memory');2 b& Q0 C$ Z7 `3 u h% J z: E( r
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 U# O; s# P6 g* e2 X
1 o$ C' U; t+ a C+ p. i/* configure System module */* J9 j& ^) X1 m) R
var SysMin = xdc.useModule('xdc.runtime.SysMin');
* y. Z5 Z% J2 q# z7 `- `SysMin.bufSize = 0x1000;
8 L' F+ G" Z' O$ V1 \, E- C uSysMin.flushAtExit = false;4 M0 d6 ?1 M, H8 y
N d+ C H0 ]8 f& u8 x
var System = xdc.useModule('xdc.runtime.System');& N; `0 m2 ~) a( A( M Q/ L
System.SupportProxy = SysMin;
# e8 [/ |$ b9 _. k% J+ y7 l2 Y5 @
! e' u5 n( _8 B: ~! Y) I f K" e/* configure SysBios to use the lower half of Timer 1 */) E* G+ }9 G% v5 j% c" R
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! r3 Z- {! s% Z& X Dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
" i n: C1 S* u2 STimer.timerSettings[1].master = true;
! t4 H2 a5 g4 JTimer.defaultHalf = Timer.Half_LOWER;5 d9 J s& D0 S4 {3 x7 P3 z
Clock.timerId = 1;) d$ b+ K; V( ]1 v: F: d
' h3 g- l3 @! q% Q. \' _. F4 ?$ Q8 |
3 H2 g9 K; M6 J/*
J# b, p1 w* B * ======== Miscellaneous Configuration ========
% P# e: }9 |% M; d9 T) M1 i. k */
4 B5 t2 ?/ K3 s0 v6 M+ L" [" R- v' z. z* A3 }% C) W
/* set default diags mask */
3 T2 E( [# |# Rvar Diags = xdc.useModule('xdc.runtime.Diags');
& _) z Y; i/ @4 S! W4 L( Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
/ a) h' t+ q% |( Z: R& A; L. e! I6 R) p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
t. \! ]& _0 N) N! |0 \" BDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 D+ _5 B `8 e8 b7 `2 _5 ~
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 J* ~ C }" j- t
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: F# e9 i, X# u9 _! {Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: Y# J$ y+ L( K/ V1 a; y) G, T
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ B3 \% j' Y8 X3 p$ c
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 `! C5 P5 ^! j$ tDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 N: l$ q2 x! o9 N; CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( H) Q/ p. a- d. S
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) u6 P4 S7 s% K3 N! H
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" P R( J4 L' F6 y# cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, L0 e) c5 k+ }0 E- K: s7 o
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;- a& P" T$ w5 ~& [
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; X. G& y8 ?- K
/ {4 X* e$ x: [, D2 G/* override diags mask for selected modules */
! C q! ^+ {) U$ Ixdc.useModule('xdc.runtime.Main');
# y' w7 H9 N( Y2 W5 E7 k! I% Y: WDiags.setMaskMeta(2 w# T. E6 |3 `0 K% A
"xdc.runtime.Main",
7 |" W3 W7 L v/ g: F+ t Diags.ENTRY | Diags.EXIT | Diags.INFO,
" t C4 O; b6 \. f% t/ n; a9 r Diags.RUNTIME_ON) g( n% I% [: m# z' r* ^
);/ K3 t( }. J% ^( U' k* j+ u9 X2 g; ]
# _& Y u" n. b. E
var Registry = xdc.useModule('xdc.runtime.Registry');7 o3 Y+ D8 [( b* t0 `4 S/ Y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! W$ S- k8 d7 Q$ w, ?9 a5 y) NRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% ~$ g3 c5 ^7 j3 O7 R' |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% [0 ^6 N+ ]+ e" Q$ Y) @Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. ?1 c A1 @9 h4 a/ s; l$ y2 c
/ e o' |. Z4 o" P$ J3 r/* create a logger instance */* Q' B& a! P# n) H% m$ e; S# G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% Y% J& i |" { G
var loggerBufP = new LoggerBuf.Params();
- Z0 b5 g' k5 c) XloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& B, x, t+ ^% X$ c6 }2 Q1 |
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 |" ~$ _% r8 t I1 c2 L: h4 l" `/ R$ |$ [! L
var appLogger = LoggerBuf.create(loggerBufP);) |( n3 ^2 y: ]6 k% C" _7 F' W
appLogger.instance.name = "AppLog_Core1";
p' L* G2 _0 ]; e# SDefaults.common$.logger = appLogger;
9 ]# e9 h) T' pMemory.defaultHeapSize = 0x8192; , l, i. W' |/ w" Q
Idle.idleFxns[0] = "&LEDStatus";3 a1 u/ I* m$ R# r6 U& a# {
Cache.initSize.l2Size = Cache.L2Size_32K;
0 |+ ?2 c1 }5 O9 r4 P1 Y* D
& j9 Q, P7 j h* P |
|