|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ p+ Z& a: U! v1 Y0 |4 z
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 Z( a, k0 l% |
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- u2 x6 h; _" c4 A; g3 A8 S2 h' k3 T' {/ d; U" [
是不是需要在DSP.CFG中进行配置% j4 b* e z/ C
我现在的配置为
$ p& }3 d1 K9 B
, ]5 e6 h$ Y: o- n/*
; q4 u2 @0 k# b3 W/ | * ======== Operating System Configuration ========# ]6 a0 D) D" J+ ]
*/3 i/ t; {3 o7 I& `6 G* q0 f9 T
, l2 m; k% S) ?1 q z( ?6 }/* no rts heap */
" z' }3 i" E, n6 D* JProgram.heap = 0;! ^/ d9 Y% z4 f2 K; W* U
Program.argSize = 100; /* minimum size */
" c( B5 A G- q% tProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大, o9 i. F& R+ E n1 v
- z+ H* d! B. o6 v9 S/* create a default heap */7 z- s4 ]0 A0 C; R& z2 y3 E
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ ?/ x! i; ?( B! c
var heapMemParams = new HeapMem.Params();. {' L7 t. h3 V n
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: A( ^' A' O" G, R: p# a2 b# e$ L( n- z
var Memory = xdc.useModule('xdc.runtime.Memory');
; W7 F9 y! e: m O; H0 A! pMemory.defaultHeapInstance = HeapMem.create(heapMemParams);5 N# [3 `4 I4 G4 D W
/ S5 X- a! y: ?( J2 S
/* configure System module */! V; `) Z4 A7 X8 u
var SysMin = xdc.useModule('xdc.runtime.SysMin');5 Q3 l/ M7 `3 o S* ^$ J. f
SysMin.bufSize = 0x1000;( V' F& Y/ z2 `- o' p- n7 b
SysMin.flushAtExit = false;
; h" W; ^4 \% J' g/ p0 a& i" P% ? Y2 x( K. R- I
var System = xdc.useModule('xdc.runtime.System');
% p: Z( |; x+ l+ K0 l1 F* o# S6 ZSystem.SupportProxy = SysMin;
* {1 J( J5 O, f" x
- `# x5 g9 H7 M$ ~4 F2 t/* configure SysBios to use the lower half of Timer 1 */( z0 I9 m0 M6 Q' f1 _
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" c- z. m8 f4 N6 {/ u9 ~ Z- pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 F, z0 C+ b9 x2 p
Timer.timerSettings[1].master = true; K4 ^ k" Y- V; W
Timer.defaultHalf = Timer.Half_LOWER;) e( R j7 \( j5 o" H, f
Clock.timerId = 1;; W/ l9 a' o' x) K
$ \* p; Z5 T- K/ w% D
/ N) H" a5 m2 O
/*
L8 w# x, P& G * ======== Miscellaneous Configuration ========
) a6 N- m; k' v */, e& W% u$ z2 U( D6 k _
* M3 x. u9 y5 q' D( ]: {
/* set default diags mask */0 v! h4 b4 `" ], m z. L
var Diags = xdc.useModule('xdc.runtime.Diags');
# g( d; Q: p( I4 b tvar Defaults = xdc.useModule('xdc.runtime.Defaults'); E* D( ]4 g3 s) N" p
" `$ f8 a9 h8 q9 v% j$ x( g( F( o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" L0 d! Y: K; p1 }Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ n3 d; ~' I3 B6 B( W
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 }4 ]9 X) ?% e/ K; x+ ]8 ADefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 L+ w6 {5 S6 \" I2 ^5 bDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 b# V4 }2 X0 f5 ?% Q' u
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 \- v0 d7 m: Z8 c8 N
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( l# C5 T% q& n3 ?5 T8 w) {% _
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; q, ^4 m Y |9 s
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
1 l3 F2 [4 V( z) E& ADefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;$ L; M" W3 ]+ H9 @$ r
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 V H* U* E JDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( _, }6 |7 z6 T W! E* u! _$ WDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; X; D' B6 e/ M1 B: ? a/ x4 pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" j# L2 l* o6 S1 y8 @
' [0 `" g$ X$ Y/* override diags mask for selected modules */8 L2 J. S% }2 j& L
xdc.useModule('xdc.runtime.Main');
% ~* M Y: Z- YDiags.setMaskMeta(. E/ H! }6 M8 m% H3 ?4 V
"xdc.runtime.Main",8 x2 X G& f0 M8 I6 m/ I- S
Diags.ENTRY | Diags.EXIT | Diags.INFO,6 Z- Q1 ?& J1 ]. c0 Z0 U" Q/ T
Diags.RUNTIME_ON Y" s( }" w; L3 `+ l5 a9 x
);
0 \6 K5 u$ ?8 R; @% i3 b" P5 q, Y( M0 ~: [ k! C# ]6 n ?4 X
var Registry = xdc.useModule('xdc.runtime.Registry');9 G I1 G7 Q- |3 r) f, Y0 i% l
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- J1 C) e2 F& n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* W: q: S! F+ N+ C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 C' u3 P- p& ^7 E4 c' }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 u9 ], _5 Y3 c- x+ }
, d- K7 m" {' g1 O; Q
/* create a logger instance */7 m- `, i9 d( s0 K8 R8 D, T t
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 }: B1 n- R1 [( I0 _4 Y2 W' l+ I
var loggerBufP = new LoggerBuf.Params();. r6 \, e( I' f
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" e6 p# b4 Q' F/ N$ g
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" N h$ I: X6 W7 g& T4 T
0 Q. [' G3 w1 b/ tvar appLogger = LoggerBuf.create(loggerBufP);! K/ |1 @" r. I9 O7 p( x, v, C
appLogger.instance.name = "AppLog_Core1";
7 z7 e5 U/ N6 Z8 m" kDefaults.common$.logger = appLogger;7 e' _ [3 K: r1 i
Memory.defaultHeapSize = 0x8192;
1 h; |$ J8 r: U3 n2 d. wIdle.idleFxns[0] = "&LEDStatus";% W( u! d. a: t5 B. G9 G8 L
Cache.initSize.l2Size = Cache.L2Size_32K;$ Z5 x9 b4 U+ g$ v- I! L
$ j* A8 x/ L8 S! | |
|