|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 D H& ?- o# d& p. q/ l `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. r: S2 u3 q" |(不过疑惑的是,为何单独DSP仿真就没有问题呢?)% u" ]6 ]* s; ?: n3 I
% g6 k5 W0 v; E7 W是不是需要在DSP.CFG中进行配置# f4 x P4 G! N3 r1 M6 \3 F
我现在的配置为; }- R. V1 l/ ?. l6 s1 k$ U
7 N% c% n& l9 O$ r0 I" F( S
/*
; G; ], i7 C# D# m* P * ======== Operating System Configuration ========9 i- ^! E) W& P2 l! z
*/
( {8 F2 v+ W W; M$ z3 w# Y4 H) ?/ D" w+ b, H+ t3 _5 v2 o/ b
/* no rts heap */( s" s7 I+ t1 U
Program.heap = 0;
1 P' ^9 m( @, i2 U+ W: VProgram.argSize = 100; /* minimum size */
% T& M# f/ D# y1 Q, L" UProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大' h5 I1 |1 p$ i- B- p
0 o- n2 h9 n7 u! x8 u
/* create a default heap */; X2 L0 |+ p6 C$ @+ G* Y- ^- P
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 ?& [4 Q% M. U3 \1 K7 Qvar heapMemParams = new HeapMem.Params();
& v9 x( p- m9 y% J+ PheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ V% K1 [- k& r1 ]; e" K
' l$ H2 k: {5 c7 m/ u+ Q$ {) tvar Memory = xdc.useModule('xdc.runtime.Memory');
0 j+ {0 G; m3 s7 A* c8 b$ IMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
" ~4 o! V3 M5 q$ J
8 s- f. w: `, |" R+ B/* configure System module */
' t% Z+ L! U. l- ^var SysMin = xdc.useModule('xdc.runtime.SysMin');3 |0 }) c& P1 g3 ?3 }
SysMin.bufSize = 0x1000;
: ~( E" h2 r3 x5 g( S9 hSysMin.flushAtExit = false;
, G( n! `; v! L. N' Y; _. T0 Z( }7 t# |- r) _
var System = xdc.useModule('xdc.runtime.System');" e! {0 Y2 V* z6 o2 m
System.SupportProxy = SysMin;/ }. Q$ T- `5 L1 O+ K
3 e0 c2 ?% E! F) t
/* configure SysBios to use the lower half of Timer 1 */
0 d" c! f, A3 j6 {* E6 l, [var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" i) b7 i- x' R, _var Clock = xdc.useModule('ti.sysbios.knl.Clock');9 `1 q, e2 g4 j n) x m* }
Timer.timerSettings[1].master = true;
p' K2 q* S* b3 P' YTimer.defaultHalf = Timer.Half_LOWER;8 D! v0 j2 {; _# }% m8 N J
Clock.timerId = 1;6 y+ S6 I+ y, _9 X& ]. F4 @0 L
$ N$ c6 ]2 f7 |" ]4 O
9 O5 V4 V) M- P, y/*) I4 q5 q% Q7 w8 r2 I, v
* ======== Miscellaneous Configuration ========
3 j' u2 \ R) i$ l */
) f e: |! j% S7 ~; W, B& b1 `7 C% B3 e8 r( c5 w9 K
/* set default diags mask */1 \+ v5 k* t9 w7 r( I
var Diags = xdc.useModule('xdc.runtime.Diags');
/ U7 `7 ^' r P6 Y/ Q$ O2 D; c& Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');8 ]. V7 s+ j, \/ @' N, g7 N! X
# H4 R2 ^+ C$ g, h( w, o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* l, ^% f! J I; g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& M2 Y3 ?# l2 b5 @. KDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* P. ~! O$ s* ? L) l3 d, a) JDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: {: z$ [! Z, N6 n1 t y# j
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* L1 s- r3 J2 Z3 D9 e/ W( i6 P6 }Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 S6 L) y1 ~5 t; e9 B5 j( w
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) t% \5 L) U3 X, J2 }5 e$ m7 ADefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; p' u! G" U% Q0 O+ j6 s% H( E
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 u( I4 e# F. u; H; qDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 p/ G* ?1 K& x% }2 {Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 n& M4 C# A6 }, l
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' x' n! L3 L3 a0 y" G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. T+ |- y: n/ g7 d' W, Q2 \5 s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ _# a2 h) Y% @9 v9 g7 q" [' e
2 O0 |. ]$ l' [/ s ?. Z
/* override diags mask for selected modules */
3 h) t1 [0 m& D+ L1 f0 d# V. F9 pxdc.useModule('xdc.runtime.Main');
. c$ |! B; [* J4 FDiags.setMaskMeta(3 \6 Z0 p9 \1 h! H7 G
"xdc.runtime.Main",
1 C, g. Z; u1 L( _3 p Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ x' t9 }9 N( f4 o1 L8 } Diags.RUNTIME_ON
) n" P! K& _3 N+ a);! }: H/ |+ P8 [1 u5 f$ [
3 l. @* l3 Q* W& t" N% mvar Registry = xdc.useModule('xdc.runtime.Registry');1 \5 A) F0 {$ a4 o5 X/ ~2 l( R& g2 Y0 ~
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* Y) R7 {6 s- T1 {" S- X
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 m: |- s8 m: ~) V5 |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 e; r& M( {$ i8 E" \
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
4 }: g8 P4 U5 I; w. `& ]
, j; o Y; `. { k. A# F/* create a logger instance */; f; J; o7 ]! J+ O' k: M9 N9 e2 {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 }3 I# C$ n8 J8 Y1 E
var loggerBufP = new LoggerBuf.Params();1 N: {; C. U$ a( y% T; ^2 a3 Z O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */ p- X6 S1 T6 m8 a* q: q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 i6 n2 f; {& H9 D- \$ B3 ^
9 F# I; |# p" I1 F' Bvar appLogger = LoggerBuf.create(loggerBufP);& t4 ^1 m0 w. G) K+ L5 V. z$ F* T
appLogger.instance.name = "AppLog_Core1";4 o3 e% A1 }1 o! q
Defaults.common$.logger = appLogger;# Y- Q: [6 z | [
Memory.defaultHeapSize = 0x8192; % }5 `" U4 `7 U$ Z& C
Idle.idleFxns[0] = "&LEDStatus";/ N) n% h" N* A. J0 }
Cache.initSize.l2Size = Cache.L2Size_32K;0 t" P( t% }4 X# t9 {
+ i& z. }4 |2 ] a |
|