|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, s( y8 a5 ?" M, [4 x
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 K* a, [: Q, W
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 m, `8 E4 A7 y( y c8 t% P& F
9 e& u n( g1 n" q" v
是不是需要在DSP.CFG中进行配置( B, a! X2 I# b" s! x3 n+ _: |. K
我现在的配置为; Y, ~; X- f9 G ^0 H9 z
; l* t1 i: F' k; Y2 E3 i# _( ~$ }
/*' ?- m: e/ ^+ ^6 L0 y' t5 X
* ======== Operating System Configuration ========
5 t8 h4 N+ C1 m4 |; j */
; S+ y' S3 S6 B' a- J4 k) ?# t# J) w- f& G2 l1 N
/* no rts heap */( ]" N! x' R* l9 }, Z
Program.heap = 0;9 |) z- b) S6 q/ _
Program.argSize = 100; /* minimum size */) C& e$ H! v: ? J
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 ^8 p1 F; _# {* {* z) i0 F$ A; W! i
/* create a default heap */3 Z4 t# j @, _+ J; z( `
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ \; Y! a; a. T4 {9 c
var heapMemParams = new HeapMem.Params();! q* f; ]' z8 s$ N0 }7 @9 v! _
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
( F* t5 n. N3 a9 m) O* ?' c8 d
" [8 r3 ~3 i+ \8 cvar Memory = xdc.useModule('xdc.runtime.Memory');. U* _# C3 o) O! v# j
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); E6 {4 C/ L& H! G7 K5 c
; ]" G" K! d, r7 ?- ?/* configure System module */9 D" u7 }- s4 ~% C+ i6 c
var SysMin = xdc.useModule('xdc.runtime.SysMin');2 J" T& O) {8 x" g( M8 u
SysMin.bufSize = 0x1000;
3 O; p C8 s: ?. B. }$ z& QSysMin.flushAtExit = false;
- [- y3 t0 H2 |) Q# k
/ [* }9 O+ _3 y7 _; E: }5 y- F$ j; Mvar System = xdc.useModule('xdc.runtime.System');: _. z8 F2 O. o9 b$ s! f- j
System.SupportProxy = SysMin;! g4 P: J9 D8 ? j# \
: p9 b* A& K& q9 M
/* configure SysBios to use the lower half of Timer 1 */
# D& w }4 p5 L2 X* P+ s- Svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* s7 x/ |& f2 G, M' B# h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, l. w ?, O" _; _) w0 B3 aTimer.timerSettings[1].master = true;
8 K0 J, x( @7 C7 N0 Y7 TTimer.defaultHalf = Timer.Half_LOWER;' r* H# B5 c+ \$ b: [/ D
Clock.timerId = 1;$ ?# E) m2 G# O1 V: Z1 [
' }/ n/ w/ S" [: v3 J' m
# y8 f9 _2 q+ Q4 |) ?
/*6 |) F1 D' [, T: x2 r( D, @
* ======== Miscellaneous Configuration ========$ A4 P# A7 Y {
*/
; c3 R P& z# z, X
. S; l, ]+ R# Q7 @, P/* set default diags mask */& \$ P2 Y* `# {- x& A
var Diags = xdc.useModule('xdc.runtime.Diags');* l) @* u" u0 Q- I3 u5 W
var Defaults = xdc.useModule('xdc.runtime.Defaults');, v5 G9 l" J: }9 B" K
. ]" `9 y1 P& d& u5 TDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' z7 u/ B' @% z7 {
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! k4 g H; R' \+ A% E* ~) _Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 C/ E& C. D2 Y% c6 t5 ^% [; A
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 L$ z+ `2 D" ?, W7 h' p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* ]/ b# b4 M2 x" u
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 Q1 h P9 d) P+ |Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' y2 A+ W5 t6 O4 h" [; o$ q* R+ IDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& _7 O# W: }% Q. L, K; z: t
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 y) ?0 t1 Z# P6 d. @Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. t/ ^+ O4 Z% v- f& ~" e1 P- s) U/ z+ KDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, _8 ~$ `2 _3 X6 ~8 m% X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) r3 g/ b: X: I) ]( `
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 J Y9 [+ I" e$ x
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. m! Z$ z5 e" }! R7 }+ {- F _/ i4 O
; w! h/ C9 \# c/ F
/* override diags mask for selected modules */& `3 n9 j* ?" y
xdc.useModule('xdc.runtime.Main');. x8 J' D6 t- G* H. f' ]) E
Diags.setMaskMeta(, E/ {( e0 Z" p! D' n& R
"xdc.runtime.Main",6 k' \+ N$ ~- W' S5 b
Diags.ENTRY | Diags.EXIT | Diags.INFO,' E4 T7 U2 x [( {! Z+ L5 \ u
Diags.RUNTIME_ON7 C6 E8 C/ f" D+ k9 G
);
5 Q. R" L- e% c4 O; z, A' _* H' H M
var Registry = xdc.useModule('xdc.runtime.Registry');' l2 M- N2 t' C7 {1 o; ~/ M# r
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: Y, ^* j8 b6 Q/ g+ y# v! g! ?
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; X/ e9 d. ~2 @ Z2 S( pRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;0 v" _! u0 \& x2 K% @# i
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 x3 Y! j# o; u4 p2 [4 i- A) _: g. x/ z1 |6 ~ B' k1 r5 D& N! J
/* create a logger instance */, Z; s# c: O) h6 Z# R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. t% g4 M! K7 H4 P- G" C; v
var loggerBufP = new LoggerBuf.Params();
( y1 X+ @0 x) _8 t+ _0 n/ HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' _7 X2 U' t# W) Q) q& F' r+ @% x/ M
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" o5 e: I% ?' u
' z+ g' w# D) J5 `& I
var appLogger = LoggerBuf.create(loggerBufP);' K; _: }( K* m
appLogger.instance.name = "AppLog_Core1";% i/ e4 Z$ b1 S% z! c
Defaults.common$.logger = appLogger;
# l: y% B% G5 a3 a8 ^9 S- fMemory.defaultHeapSize = 0x8192; 2 L7 W3 L: T9 r+ w' F
Idle.idleFxns[0] = "&LEDStatus";& {2 ?* [& ^% Q% H# i3 ]0 R+ H! p3 P8 B
Cache.initSize.l2Size = Cache.L2Size_32K;( J9 B. v' e7 g% g8 d9 O5 t
% j5 s% ~% ~0 c: z( k0 `
|
|