|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* Y7 P5 I4 ]# x+ y7 v) U我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 p. {& n |5 U+ ~- d) y$ \# L1 x
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); ^" f7 |2 w8 S, ]' H
* S3 X3 L6 D3 Y$ ?& A0 i6 Q是不是需要在DSP.CFG中进行配置0 c' z: w4 Y7 ]7 p
我现在的配置为
1 E- Y" N, T" Z& o) ^, a$ a
7 T9 n- a3 J! O+ z* a7 A/*- N, D0 H9 Z0 [( P' o0 c
* ======== Operating System Configuration ========
3 W8 b E C5 Q/ N4 i8 b *// i" ~4 m) ?$ n3 w& Q
2 `0 m+ ]5 s1 D- {/ U/* no rts heap */1 i! _8 `) Y1 a) B' S# |2 w8 N
Program.heap = 0;
5 t2 x/ E: ^# J( P+ ^, G- }Program.argSize = 100; /* minimum size */
3 N3 D8 z! q# d6 J4 s2 wProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大4 K$ |# n6 D. A8 y4 w
* R; J$ @# k% D/ z/ X/* create a default heap */- B' }5 _/ U# P: b5 o: \
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 t; B" F" k) Y+ N1 |, v
var heapMemParams = new HeapMem.Params();
- K# y5 _/ l1 I uheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 i7 _8 v" |/ q+ C# k y
4 r: v* o9 R, @3 e7 ?3 o1 s0 Y
var Memory = xdc.useModule('xdc.runtime.Memory');
$ p( B; M5 G/ ^Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& ^0 T3 \4 {& T4 B- m% y C6 y9 P8 [5 H/ r
/* configure System module */: C9 y/ |+ m$ F! L7 O6 F
var SysMin = xdc.useModule('xdc.runtime.SysMin');
8 ^2 T8 O6 Q4 {. d2 N$ f# a) ^SysMin.bufSize = 0x1000;
7 J6 S1 J2 j2 S5 |$ V; JSysMin.flushAtExit = false;4 w3 p* q8 G) m
9 @& ?! h7 Y r# b+ `8 P
var System = xdc.useModule('xdc.runtime.System');
, M0 G7 l/ q2 M! z) m4 \System.SupportProxy = SysMin;
% g" R! ~' |& m5 |& ]: X. x1 n& @2 v6 b! p# d
/* configure SysBios to use the lower half of Timer 1 */
& Q! ?# y3 t5 R( g' _. ?7 l8 t3 C4 M* x5 @( avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 O* S8 Y4 X2 h# k Q& @# i/ X6 ?var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 T3 A$ m0 Z; K' U% ~8 W
Timer.timerSettings[1].master = true;
# R( A* f% l' L; @" G0 [" p; [Timer.defaultHalf = Timer.Half_LOWER;
& ^7 Z3 ~0 ]- \Clock.timerId = 1;
& t/ w, _4 o% R; ^ ~9 ^& F
/ s8 W! A2 ?+ f# [ X" L# a8 |* {
/*
) j% G, }* q; X+ E3 T * ======== Miscellaneous Configuration ========
c6 g2 Q6 q8 Y9 i */. F2 m* e- |2 D5 d' H
9 F* d" n# H/ h" S: G# B# b/* set default diags mask */
! G/ w3 q; I. \# Dvar Diags = xdc.useModule('xdc.runtime.Diags');
& }/ Q" M! e/ H; W) Z2 Vvar Defaults = xdc.useModule('xdc.runtime.Defaults');; e j/ h/ r8 N5 v2 N# P* [) ]
4 ^0 Y. y5 o! @) `) V, w% Z T1 o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% @5 b& O, @( eDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& e9 e4 \5 M+ G! n- i$ t3 s
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 k& x6 s* A; y( K! f. v1 X. _7 s
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; e' P5 ^9 }3 R$ _' P. h0 S$ {* ^Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 f& h" {: G7 }* j; F; c# D8 ?; q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 C, d1 K+ b+ J, R0 a/ v! l# {- [. N
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ Y! X u( }/ A. Z2 {1 D+ v8 n
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
) M0 O j5 p1 u& CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( o+ Q5 }5 P' v+ V- a. y: j: C
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
5 a# g9 D2 Z q; W( U5 ~Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 E) v8 i+ B" l) _& N
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 s- S9 u" N7 h3 t$ q% T$ Y3 L- _Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
7 c% Z8 A) G6 H- F* UDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 ~( h+ [0 G4 Q4 G3 Z j% y3 `4 V, t+ E' r% ?4 L4 Y
/* override diags mask for selected modules */
# r$ i" _! b5 u: O0 R+ t' f4 Dxdc.useModule('xdc.runtime.Main');
7 _5 s; C( A+ e( y iDiags.setMaskMeta(! N) Q" r3 b" t( Y& W
"xdc.runtime.Main",
% f! N' t8 ]) ?6 D& M% y8 s Diags.ENTRY | Diags.EXIT | Diags.INFO,: n! @0 H) w5 J1 w9 w6 Z
Diags.RUNTIME_ON
) C2 V; m2 s8 x, j8 @);
; _& h+ l7 Q+ k# @* M) J) f9 ~) A) q4 I9 F7 }9 h( T
var Registry = xdc.useModule('xdc.runtime.Registry');$ v. x8 c& s! }6 o
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 u& a f2 v, \* W3 V1 c' c9 `3 U( nRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 ~, v6 L( b5 C& |0 DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;3 h- R0 ~. G1 o4 G6 R# X6 R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 p( G) b& x6 B, N6 F7 U
. g4 f! ^$ ^+ p& e/* create a logger instance */
. U2 W- O8 n( _* `) ?) rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. {3 f$ A/ r$ C6 |) Z1 ]) pvar loggerBufP = new LoggerBuf.Params();
9 Q' _. D; u/ ]6 }# F; |loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 O, g$ I4 U+ S1 ~: `. L
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 L2 B$ N3 V6 b- ]# S6 s6 Z! a4 i9 N* o7 E8 T
var appLogger = LoggerBuf.create(loggerBufP);1 v. O" y) r8 r" P/ @
appLogger.instance.name = "AppLog_Core1";+ U0 ?3 z8 N" @$ S. k/ t
Defaults.common$.logger = appLogger;3 N( j* F0 z& |" ^! u: A( y
Memory.defaultHeapSize = 0x8192;
2 p; S5 u+ h* U3 Q1 y( [Idle.idleFxns[0] = "&LEDStatus";' n: \5 N9 |4 Q" Y- s r! t+ e
Cache.initSize.l2Size = Cache.L2Size_32K;
% Y- G* @) S: B" w" Q z; c" @4 x
6 Q! k1 t( I0 n1 ] |
|