|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. X6 e7 [& a0 s7 ]+ N7 G我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下3 S0 {* L; H7 \4 C
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ W4 E7 j% H6 [$ P9 i; [1 S: Q9 X5 b* {- A
是不是需要在DSP.CFG中进行配置
" i1 M& I4 e0 x我现在的配置为
- |8 K8 r* C4 V2 G8 j: c* _6 O Q$ |" V; `
/*
( b2 D6 y% _! M! S% Q * ======== Operating System Configuration ========
3 M( x1 W4 @1 }7 i */# N7 Z- l# I* o: i8 }+ |
1 W& K# n& V; `0 w9 z( d, k: c% Z/* no rts heap */3 W; m; _( A! ~8 a* s+ s
Program.heap = 0;
- |2 E* o4 |0 a, |Program.argSize = 100; /* minimum size */* \& N& V8 v, Y J7 C2 w( b/ Z1 K8 n6 E
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
G0 {8 z4 c* W$ L" U% _$ K8 u
/ O& K. F: ~# e( A1 Y* @/* create a default heap */# }2 Z* w1 B* k* P% m( V& X
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 w$ v2 N; _" R8 k+ P8 P4 g; }
var heapMemParams = new HeapMem.Params();' R1 e E# U% J8 I2 o7 T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: |' y# I% t% A9 ^3 I5 a% j$ c* z
# Z9 [2 O" d, u: z3 @7 {
var Memory = xdc.useModule('xdc.runtime.Memory');7 r4 Y$ ]: e8 j( x! Z9 h
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);" H7 U, W3 h) _4 J5 J3 x" N- S+ U/ V& f$ v
6 X7 ?1 l" C* H/* configure System module */
0 C# n3 P, J6 `5 ~. @var SysMin = xdc.useModule('xdc.runtime.SysMin');
" m+ f5 { ~% D: iSysMin.bufSize = 0x1000;
8 N5 O. S, i3 _SysMin.flushAtExit = false;- d7 ~& D( p8 j. K: q" O
/ q0 W' ?# e. |! F9 g. B. \
var System = xdc.useModule('xdc.runtime.System');
; C9 j- B- S# ?& m4 TSystem.SupportProxy = SysMin;2 `+ x. B) o" F$ u' I/ ]
$ J8 @% P0 s' s9 J/* configure SysBios to use the lower half of Timer 1 */
' u6 v+ O4 F, L( x# y- x, Pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 a& |9 e3 z: G+ \1 E* F' Z- Svar Clock = xdc.useModule('ti.sysbios.knl.Clock');$ J5 J# e4 u# c$ c
Timer.timerSettings[1].master = true;
9 }8 x% K$ B6 p- ~; {Timer.defaultHalf = Timer.Half_LOWER;
* \$ t8 [, n* y3 BClock.timerId = 1;& A' z7 x) N# K7 {, l: u) l
2 V) X9 Z; A' a; M' p
+ H! j$ X2 P5 s5 J- v: v
/*
' `" E$ j* L$ D0 o/ y- \ * ======== Miscellaneous Configuration ========
6 G6 a9 d' {* i0 o */4 F! [' k" Q2 c2 n+ `
: h! x1 X& B! M% n. E
/* set default diags mask */( }( r$ `/ ?) f
var Diags = xdc.useModule('xdc.runtime.Diags');+ a( }. \; ]1 _5 w6 N5 n7 n
var Defaults = xdc.useModule('xdc.runtime.Defaults');: ~% V6 z- _8 g' C" j; e7 k5 C
* E9 o. f/ M0 k- J! rDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" t' V' w. s7 [1 q4 W9 @+ g7 xDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: P q) L5 G3 d9 B/ c
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 _/ q9 [- D1 R+ \- DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 g5 F7 Y! K3 d7 Q/ L' nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& D! F* T L) C; I$ j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ }0 N" e0 t/ ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" r% J' | P8 }2 S# K
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' A2 u y! f1 aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! {/ I/ F9 E. t! \, DDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: I# w: q. ?2 J2 n$ F0 GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! }& R f( Q3 I. v& DDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ l- y- U0 X( T6 k1 QDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& w/ ~7 t2 @3 Y/ u, F+ EDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ X1 k# f! C0 Y6 _! `& u4 _8 ~) D! @, v- F: j: j' u w. ?8 U' ^. G* ~
/* override diags mask for selected modules */
0 T" }: V+ ^* H& Q mxdc.useModule('xdc.runtime.Main');
( e$ _. Z+ y6 C- T( ~% T9 o3 ^5 W. MDiags.setMaskMeta(
( E5 d: Y# L- H, Q8 v "xdc.runtime.Main",
) a) R) G. h: K- W& D+ z Diags.ENTRY | Diags.EXIT | Diags.INFO,$ {1 H2 T) i9 D5 \8 `. r
Diags.RUNTIME_ON* ^4 T9 T8 [& J5 L7 m
);
; `! j8 E, p }" b
) R9 p# ]0 f3 x" ^5 ^! Nvar Registry = xdc.useModule('xdc.runtime.Registry');
! n6 N! ]0 N, z( s" D/ uRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ ^3 T& A0 d( S) w1 E3 Y3 h8 ERegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: s7 k; H" x! KRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;; B i8 x% E Z/ f9 ^
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ v [9 X1 r6 @5 B& W) W; R
- h1 g6 D' S6 U6 D' k: h/* create a logger instance */
4 D. }+ t# V" t" }# E* V evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 F5 F. t( L# I, S* Z5 S/ y& m$ x
var loggerBufP = new LoggerBuf.Params();
: J* V7 i# h/ ^6 T# W. b% ~loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: S: A6 q& @. CloggerBufP.bufType = LoggerBuf.BufType_FIXED;
; K3 I+ O( Z0 G' j' }5 ?, F$ b, k& c$ l
var appLogger = LoggerBuf.create(loggerBufP);
$ ]1 Z9 S5 A7 z) k: E. k1 QappLogger.instance.name = "AppLog_Core1";
# Y+ m0 y3 B* t6 H4 a' {Defaults.common$.logger = appLogger;( ^9 k. [6 D4 _5 W" u0 {% _
Memory.defaultHeapSize = 0x8192; 2 _ G0 N3 Y# k" c5 N/ C
Idle.idleFxns[0] = "&LEDStatus";9 d: H0 U0 C0 [# x* `" u
Cache.initSize.l2Size = Cache.L2Size_32K;5 i# k9 ~2 l% D
" I4 ~1 U! a. ]/ Q% F6 F8 G: H
|
|