|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ u5 k: x' J0 X0 x我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 P3 _) ^' \ F# I1 \- l O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: V! p4 G- K# Q, z- w. @. { m% P4 W8 D( H( f0 n9 O7 M' }
是不是需要在DSP.CFG中进行配置
' E D/ }7 v6 p( W) ^. r2 v8 t( U我现在的配置为
7 _( ^% W, l' k: `) k: }/ c6 @+ L% ]8 j- i/ q" R l
/*; J% W; l' c6 p: N; H D
* ======== Operating System Configuration ========) Y4 h+ A. a. G- N
*/: {0 h8 k9 W! g# a* x2 t
8 ?2 U7 }2 Q# B+ l/* no rts heap */, X: C' [; |4 U6 o
Program.heap = 0;3 S$ g N' h! {
Program.argSize = 100; /* minimum size */
( [9 g, v; t/ A2 pProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 I2 O+ a$ u3 m m8 S
# H7 `) c2 ?7 p& [! ]; A5 [" e/* create a default heap */2 n# Z) Y5 ?3 @2 |7 {0 \3 O8 Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); V" h, q2 d2 y
var heapMemParams = new HeapMem.Params();
' P& g2 Q( n: V# j! A3 ]heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 `+ o ]1 `: t! m1 [
+ R+ Y% Q) ~* S7 l3 g4 [) Pvar Memory = xdc.useModule('xdc.runtime.Memory');
6 k: @7 ]; o+ i8 {) ^" yMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
& m. W" F4 V2 H7 z4 f# q" @, i% |9 n" p
/* configure System module */( ^4 Z q" K% S
var SysMin = xdc.useModule('xdc.runtime.SysMin');) n1 R t% E, d T6 o
SysMin.bufSize = 0x1000;! W8 `# R# ^8 R: j, B0 k
SysMin.flushAtExit = false;+ r: C2 ?- k) N' @0 J8 @& z. P: e, I
: [& U2 {5 ?9 f# {8 o# T' Fvar System = xdc.useModule('xdc.runtime.System');
& M! g7 g& l' o9 |6 BSystem.SupportProxy = SysMin;
* z( [; y. y; ~. z
, m! [3 |8 r/ l" M' e/* configure SysBios to use the lower half of Timer 1 */1 x( ]2 G" C$ H$ t( x
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) H8 I6 R1 E6 V; g3 [2 \3 vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
. z( N* r( i# u* o: nTimer.timerSettings[1].master = true;& `2 [1 J& o* x# }' B5 K7 G0 [% D
Timer.defaultHalf = Timer.Half_LOWER;' ~/ d" }3 X# }8 e) {
Clock.timerId = 1;
. d* y8 n# g7 S. C! o0 |+ \* I1 y; K. i; Y T& K. o$ z0 e
/ x \5 x$ Q0 c: X! j& _/*
u3 t/ ?1 `: ^3 ^' ]3 k5 P * ======== Miscellaneous Configuration ========
8 l# p4 U; Y5 M0 X# c5 N6 s1 ` */
4 R8 q) H* s/ n0 q& x0 j/ o; ]/ ?7 L! {5 F3 d' {
/* set default diags mask */
8 C0 S( K2 t3 m& b w7 pvar Diags = xdc.useModule('xdc.runtime.Diags');, |7 b( O% B5 E5 L" e: W' f
var Defaults = xdc.useModule('xdc.runtime.Defaults');
# w6 C, s: V: A- K( q# ^& S3 \7 w: [: X9 _
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, r6 X! f* ^) s( Q3 k* b7 w C6 dDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. Y/ o% e* r# @& B6 v: r9 V1 CDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 s7 z" c: R$ _: Z. QDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* R3 m+ r8 o: }# x3 Z, ^( a
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 z; ~% L9 q! ?. _/ l: K; u8 ~9 pDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;* r# ^0 L3 k2 V# z" l0 q! x! X
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 P$ a2 T+ z K4 EDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 M5 K3 b% D* y' yDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" C8 w4 h/ n7 Z* Z0 [Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;$ [8 @! B n# v. U x" `3 v
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 V- e. ]+ O$ ^" |0 C
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( O6 n2 L: O) R- c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 L: _; t+ q9 K6 S: P
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; m" b0 e2 j+ m7 ?, l# q
2 U% Q T$ Y, w/* override diags mask for selected modules */1 ?1 o9 Y% V8 _* }- ~( E- x
xdc.useModule('xdc.runtime.Main');
0 D, V4 V( B4 X+ K0 z" X6 ~Diags.setMaskMeta(
$ `& z$ ~# r; A( d% h "xdc.runtime.Main",2 ]5 j/ r, E; A
Diags.ENTRY | Diags.EXIT | Diags.INFO,- T( l, D% I. P8 O
Diags.RUNTIME_ON! y: I% f2 x% x7 R" k( Q
);, X% p7 L& P n! ]0 H( u% C S
# S$ [# S* S [# z7 G
var Registry = xdc.useModule('xdc.runtime.Registry');: v8 s4 v6 ]- r j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 h; ]) x1 x0 k( Z0 c: O2 d" ?Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! J" t0 s' v* {) w& {
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 ?; P' G0 F# p4 m% URegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;" l' R8 i3 c* R) ?6 F, r* Q
! ]! a$ u4 {" x: o1 s4 c3 s/* create a logger instance */! A" ^+ M5 T( m- A
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ w0 j/ a) c2 j7 \1 c; Kvar loggerBufP = new LoggerBuf.Params();0 e+ ?+ V9 q. y% n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: _+ t, M$ e5 s( uloggerBufP.bufType = LoggerBuf.BufType_FIXED;( P; p2 \! |3 u
9 N& r: y4 Q/ [7 wvar appLogger = LoggerBuf.create(loggerBufP);; W; F# p0 Y, G0 ~- U$ j
appLogger.instance.name = "AppLog_Core1";
. P1 |$ [1 b1 g9 [, l) VDefaults.common$.logger = appLogger;; D; p; m$ X2 y; z6 j( h
Memory.defaultHeapSize = 0x8192; 8 n0 S9 O+ @% O: |) p6 e* t* m
Idle.idleFxns[0] = "&LEDStatus";
# i7 X% H0 h' o* q( c: OCache.initSize.l2Size = Cache.L2Size_32K;% Q& V1 y) U' s* p' r6 O$ h
; e' s6 B. f) P0 _0 }
|
|