|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 @' S7 m) l, ~* o, {
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, F1 S7 p/ O5 ~8 A9 l- H. Y2 ?(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
@1 t) A3 W5 @" b1 J/ L8 _' f. G- Q
是不是需要在DSP.CFG中进行配置# _3 s# S% c+ Z1 f
我现在的配置为9 ]) X) s2 K$ S( V" S$ ~
% E0 V! X, ?# a8 F* }- |/*
& Y4 |' f) {4 J7 i: [. @7 ` * ======== Operating System Configuration ========) A/ y' G- C( i% ^% u
*/9 P% |. t" z( x! ~; i: w
/ ]( B5 @4 ^; H- q b7 L/* no rts heap */' o! y; X! p* } O! J
Program.heap = 0;1 y. y1 |3 v6 X! Y. ^& g& j
Program.argSize = 100; /* minimum size */' p* X8 E% X1 f$ L. X# K
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 ^1 c, E; m: `0 n5 X$ {
" i( i; P8 y: n! ]) e! a/* create a default heap */
0 |2 w4 v' t: ]( Ovar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 A9 {; c. e: H. x/ [$ H5 E+ avar heapMemParams = new HeapMem.Params();, {/ L) j$ S2 B5 K9 u* t
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 H* z( i9 s1 E) }8 U+ e
7 [; Y& t; l$ @7 Kvar Memory = xdc.useModule('xdc.runtime.Memory');+ V* K! [2 l# B9 \, q$ u- h4 q" X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);1 c$ ^0 E* A- s8 C5 J7 ]
# F r, m+ j" H/* configure System module */; _7 E4 o/ k0 I% l1 j) I
var SysMin = xdc.useModule('xdc.runtime.SysMin');4 ~ ~" Q$ F3 _
SysMin.bufSize = 0x1000;
7 ]; P; R1 l6 o& r- f N" jSysMin.flushAtExit = false;2 P. d" T9 E. U2 r" D4 a5 [
% v2 r, I3 H; b9 K- Z
var System = xdc.useModule('xdc.runtime.System');5 b, Y& V% e2 A3 \" v
System.SupportProxy = SysMin;
$ A, U. F7 N/ U. m# n$ _* T. k# l# i
7 o- l! U: l2 c9 T% ~/* configure SysBios to use the lower half of Timer 1 */
( Z# G# p O, O8 H% Evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: T* {+ z9 n$ d
var Clock = xdc.useModule('ti.sysbios.knl.Clock');$ f2 k& s, \+ \1 V7 j9 |
Timer.timerSettings[1].master = true;& I' H# N$ A6 I; [/ t% m8 k8 M+ j' }4 U4 a
Timer.defaultHalf = Timer.Half_LOWER;9 A; I9 h, \, k0 D. D( p7 n# q8 V
Clock.timerId = 1;
+ v: `2 x# ?6 S) m2 Y, [; j
* Q' G8 e- [ {! A
# |; d) i* x: r/*
7 W: }/ G" a7 {1 J* K4 Q5 g9 d * ======== Miscellaneous Configuration ========( q2 k$ o1 T1 B( j/ v, u4 J% x
*/
6 a; n1 q% V5 j7 S# L" Z9 t
; X5 R7 c: T, O% U/* set default diags mask */* e7 {$ H. M& ]- I9 v4 Y8 t, l9 _
var Diags = xdc.useModule('xdc.runtime.Diags');
6 W2 P7 C% b2 }var Defaults = xdc.useModule('xdc.runtime.Defaults');+ m e- F5 c6 e- Z
% ?$ w9 h; u. w# X, C2 M9 j4 mDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. N3 O2 X: W1 _1 F. VDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- ~+ R# V" R, P
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 ^. ?+ U8 F1 ~1 iDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 ~* m+ e+ x0 P3 e2 e/ g
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ \ M" Q* z) a. b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 g4 e8 p0 Q' F, X. h& PDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- K$ u" p0 D8 s! aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ P7 I3 b( j2 n' z6 UDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 U1 z: N1 {, g* m8 W; n# v
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 Y F0 i* ~4 P/ f7 t6 R: {
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 x( ?2 A' _8 C8 F. ?
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 ^0 S% y) M0 z2 b# B, K; M
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 C4 i, R9 t4 z* e9 l: W4 D9 X
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" J6 o& p) ]; O+ k: k
. U8 n% C, W! c+ `4 P [% E: I9 U* v
/* override diags mask for selected modules */
" q5 f+ v4 @: B3 b. axdc.useModule('xdc.runtime.Main');! m: _% u/ Y' t1 e6 q2 \
Diags.setMaskMeta( M9 w% n- I$ W, c& Z
"xdc.runtime.Main",3 [8 Z( I; Z, {+ M6 P3 l6 f
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ d1 ^; \8 z7 }. q Diags.RUNTIME_ON
3 r% e* \4 P- x0 s; n);
5 ~/ W/ o/ Z5 h) _4 [+ T; Z- s8 ?$ ]. A5 ~
var Registry = xdc.useModule('xdc.runtime.Registry');
: [$ k: H% \% g4 `Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% a( r9 f. x( p, ERegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 m& ~+ J! i4 z, X8 F0 vRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;: O: F' o8 H8 ]4 B$ g
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;& R" d' ~) k' S- n' y
1 _' }+ {( d8 x. }2 Y+ D5 n! K/* create a logger instance */
7 W% Y' k6 P& J; I# X( svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 t1 `/ V, z( w# u, j5 C4 x+ R p
var loggerBufP = new LoggerBuf.Params();# i% x$ M- y- s5 t* z2 a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; q% m% a9 I S9 p% a) m. ~. |loggerBufP.bufType = LoggerBuf.BufType_FIXED;9 ^/ s9 J) V4 O' M
' G1 H! w( u8 [. D
var appLogger = LoggerBuf.create(loggerBufP);" q+ F6 o6 A7 [/ i) I; z0 _
appLogger.instance.name = "AppLog_Core1";4 F0 M. P7 `' S/ u( P# w) a7 p& C4 x7 W
Defaults.common$.logger = appLogger;
! Z% y d& V" ]: TMemory.defaultHeapSize = 0x8192;
& X5 {4 |* m% M4 m- AIdle.idleFxns[0] = "&LEDStatus";$ g5 j. ^/ E6 J4 |$ s* d9 c/ ?6 d' s
Cache.initSize.l2Size = Cache.L2Size_32K;7 D4 \4 r; S1 p9 G1 L
X5 p1 ]% @5 f1 q9 a2 o& P |
|