|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" `( j, [% q9 V7 [) {3 z
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ R! _" A: ?3 n' z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# d+ e9 w5 u. s S
4 P6 j9 p4 P$ f* J& b* O是不是需要在DSP.CFG中进行配置" u$ M5 y2 Z% L0 r+ j* H; w
我现在的配置为
3 Y" _+ E y* C. d3 y. g, ?: c# [ H& ^. O6 i' _; @/ j
/*6 y$ x$ r9 G" f! Y b
* ======== Operating System Configuration ========5 Q8 W: s3 W5 o* \3 m8 P
*/6 O7 A& o1 e/ V/ l
4 a: W2 f' G- l, g) f6 E! z
/* no rts heap */6 L3 p1 }8 B! P% f% X3 k4 t% ]7 `
Program.heap = 0;
9 f k5 T& T: `8 mProgram.argSize = 100; /* minimum size */
/ Y% ^" {6 X- gProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大" d% M$ R8 _; T9 E" [. ]
" }2 ^1 F6 _* B9 s2 I
/* create a default heap */
& D8 k" ^* K. _: Z! Nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 b2 x5 W8 ~: k/ x6 C
var heapMemParams = new HeapMem.Params();9 A6 r" H0 J# ?3 }+ J7 D& X& m
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) \: M/ j B) u2 x2 `1 y/ @ B* \ }8 \$ o2 a/ w" @
var Memory = xdc.useModule('xdc.runtime.Memory');+ R/ |3 {* S! L0 H& y! |0 R
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* g2 u! _* D0 u* K& w* J7 w, G( [+ ]( i1 B6 l( c9 x5 j, O# @
/* configure System module */
; a! v& E% G s( svar SysMin = xdc.useModule('xdc.runtime.SysMin');
* b" A1 B1 I. l5 D+ aSysMin.bufSize = 0x1000;5 Q6 _- X8 ^ w' P, }6 V+ l* p
SysMin.flushAtExit = false;* h1 ~ ^6 o6 L5 C6 {
% |6 X8 C2 R9 I7 l f
var System = xdc.useModule('xdc.runtime.System');
' y' ^, c2 h7 t, m$ w3 VSystem.SupportProxy = SysMin;
7 v' f+ l4 R' U, o$ O! S' G& h. S) t2 L& g: S2 h( @ O
/* configure SysBios to use the lower half of Timer 1 */
6 O8 V$ }& L% P2 s& M5 R! \var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); ~2 Y! ?+ p" Q8 r9 U
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 B) ~; E; Z$ F- B% UTimer.timerSettings[1].master = true;
. }( A; h0 w& S# ~$ l2 tTimer.defaultHalf = Timer.Half_LOWER;
+ C# `: X2 E2 z$ d2 L9 j8 t8 ZClock.timerId = 1;. E g( C. @" G) C5 G) \* o
/ V6 h0 r* @6 w4 y2 B
3 \8 |5 s( E5 L: g# C, L$ C) \/*% p( w5 k- o6 F: Q7 s7 L
* ======== Miscellaneous Configuration ========
7 J, O* ~/ k3 X0 l *// J" W+ Z, X) D/ k) d# x7 A
! ^2 v/ _2 H2 C) \+ |8 p
/* set default diags mask */& @' c# ^( G0 {6 I- R
var Diags = xdc.useModule('xdc.runtime.Diags');
! G2 N4 |" T, A/ V, T2 fvar Defaults = xdc.useModule('xdc.runtime.Defaults');
/ z0 w* D# C3 A7 `8 ~( J# E" N5 F) Q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: y& u0 z$ b0 Q( k$ ?
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ l2 }' y6 ?/ J" h: j% L% fDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, a) B1 F9 E& h* M# |$ I9 c o fDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' \. Z! V3 L* i+ ]5 |0 |
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ L9 Z: X4 P9 G* I8 T+ bDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" a- m' S/ W/ B: w0 S, n% f QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ }+ o. t+ ~) T! n5 sDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% @. O5 x9 A3 `; LDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 F- L. M0 ]; J% k" K/ {4 |Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' q- E- f. h3 q2 ?; Q& R$ o% IDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 i& {/ F7 V" x, b# \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
Y7 l2 x6 G! V" H) VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ Z1 R' y0 m W4 j; t
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% Z: B+ A* F0 H" L
; \+ g) D% x7 W1 P6 Y- r% S& a+ m
/* override diags mask for selected modules */
) H# j: a6 Y, jxdc.useModule('xdc.runtime.Main');
" k4 o+ Y4 [+ Z& j v+ A# a" w) b* Z EDiags.setMaskMeta(
1 C; P8 }, I$ L) y; E; r4 M "xdc.runtime.Main",
/ U+ ]/ \0 V+ h" | N Diags.ENTRY | Diags.EXIT | Diags.INFO,
" f+ k( j& @- \, [! k0 D Diags.RUNTIME_ON) c* r/ g8 y# W0 ^/ I9 }
);' e8 l. O; i9 }
n8 v4 K, K& q0 f5 ^
var Registry = xdc.useModule('xdc.runtime.Registry');* v+ l2 \( f- w/ S# W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. a9 t) ?0 n, g4 r& xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 K) p: \( m1 M' X4 v# q3 F3 vRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
c9 Y" K3 s) k2 K% ?. l& D7 ?Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 _5 o( m, k* w# t
3 w7 h, {9 g" l+ u( m3 `% g/* create a logger instance */
C% u4 d# q$ \& X ~var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 J9 m' B0 [7 i+ `
var loggerBufP = new LoggerBuf.Params();
8 ]' g+ ?# m' x5 N( k) WloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- Q2 {% w" F; MloggerBufP.bufType = LoggerBuf.BufType_FIXED;0 j3 s2 R6 O' g3 ~6 O* _
/ r( Z/ w9 F5 t ?
var appLogger = LoggerBuf.create(loggerBufP);$ b2 M6 \$ U3 `' s' C
appLogger.instance.name = "AppLog_Core1";
4 ]2 k6 K, x* F* y& U9 q% B# iDefaults.common$.logger = appLogger;
' Q% s9 `7 r3 d1 @; {; YMemory.defaultHeapSize = 0x8192;
; T$ K% s" J/ p0 g/ u/ B0 b) k) m1 V6 sIdle.idleFxns[0] = "&LEDStatus";3 x7 T' C' ]' A4 Q
Cache.initSize.l2Size = Cache.L2Size_32K;
0 M v& E/ f$ p. e4 y. T p; X, a M& @9 }) }
|
|