|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 l# ^+ E6 _# D. \
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 K6 Z; T9 d$ t$ x! ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 f- m$ N1 K6 H a& t% R1 h. T) z
& g1 h9 F/ w/ @) T' ~ X' D- L是不是需要在DSP.CFG中进行配置
6 n$ e* J! e. Z0 T0 O1 F t R我现在的配置为+ b3 F1 V6 C. Z* c* i1 S
( n' @# n! Q1 ]5 }) Y
/*: m* Q! G2 O, y
* ======== Operating System Configuration ========
& ]" C* r# F. y( ^ */* `( e, s f" H
) i- |: k m" t$ V- j+ Z" _( p8 w/* no rts heap */
3 l& L; E2 C3 Q7 H7 a6 mProgram.heap = 0;
* }- S2 h; }3 Z6 C4 N _Program.argSize = 100; /* minimum size */
' m: ?' n; Y$ J0 s5 qProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 @5 m6 o: L0 v' E
8 Z- @* n& M4 E% U; y/* create a default heap */
7 {& a6 k& ?9 W7 l* E8 kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');! L7 S! j0 Y3 \ k- i) ~) y
var heapMemParams = new HeapMem.Params();8 F7 l! Z. i4 z( K- v2 u( W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. H# y2 m& R$ ]/ L
3 S5 }2 {' Q# y
var Memory = xdc.useModule('xdc.runtime.Memory');
; I, X6 v5 T D! d* }Memory.defaultHeapInstance = HeapMem.create(heapMemParams);) b2 ^ j$ H1 ^/ d% P
0 l7 k& G6 d( f6 G' M1 }/* configure System module */
$ |5 ]1 J7 o6 l3 N6 ?0 hvar SysMin = xdc.useModule('xdc.runtime.SysMin');! ~2 V+ z1 [/ ?, X0 K
SysMin.bufSize = 0x1000;# F* d7 I6 c R/ D
SysMin.flushAtExit = false;
- l" N5 B/ s' p8 [3 b$ G1 ?8 e) Y- X ` o+ @) `0 u7 E
var System = xdc.useModule('xdc.runtime.System');
! p1 Z7 \" u3 l" R: LSystem.SupportProxy = SysMin;
1 e" {# [6 ]" ]: h9 N, Z
( J; L! Z: [- i* D* k+ U. ^/* configure SysBios to use the lower half of Timer 1 */5 X1 K( f9 V% F9 {. t
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');- Q% ~3 k6 i2 K I1 E% `5 \
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ j$ w. e j0 Y/ Y n
Timer.timerSettings[1].master = true;2 f3 |# E0 G8 Q
Timer.defaultHalf = Timer.Half_LOWER;8 L( ]# d" g% w2 n$ s! L
Clock.timerId = 1;5 \! w. I5 E2 L# Z/ n9 s# M, k$ s$ o
. [) e2 v- r( p$ }# }+ I. a* e2 h' ~* |/ }; G
/*
2 w6 i1 ~8 {9 z" A* H# ^ * ======== Miscellaneous Configuration ========
- \" k, M5 @8 |( u$ y- @ */" f$ r8 L0 B( v! B, H
. U( r& Q# O- a9 R/* set default diags mask */
% O& y4 f% h0 N' ovar Diags = xdc.useModule('xdc.runtime.Diags');
% |5 X3 \9 }1 t4 I' M( ^var Defaults = xdc.useModule('xdc.runtime.Defaults');2 ^, J( m: l' u7 F. j
' D* ~. c* j" p1 }: K* y0 Z L
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) y% X- E3 |) G( g1 p5 O
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ k ?% R: I6 Q5 L* G5 a+ Q. w
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 V$ t+ T2 O3 u5 P% I2 ZDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) c% |8 q. n+ u$ h b8 O5 V, s, r5 d
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ J! k& h& q* Q- P; ^
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 S( |: i7 a& c7 i4 wDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 d: k, f; N r1 y; i
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, I* u3 @' P- u3 J/ IDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* n1 T/ `6 [' u/ NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- V7 t# T3 i5 K. oDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ j7 Y) Z5 |$ g9 e$ T5 h
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% w, c, }: n9 M+ K" K' A6 t6 B
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 \! }) F4 y2 g# h) _ y+ QDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 U |9 p' z( x) A2 n
: ]6 m* W9 G! V) Y2 N/* override diags mask for selected modules */- N. c2 Z* x" |5 I
xdc.useModule('xdc.runtime.Main');
# h ]6 f$ \& d* QDiags.setMaskMeta(
9 I L( ]2 x1 I# ^$ L7 J1 e* f "xdc.runtime.Main"," m3 M6 X3 H; e- w- L
Diags.ENTRY | Diags.EXIT | Diags.INFO,
* I% s& K, p" S5 D7 }+ a8 ^ f Diags.RUNTIME_ON. u. v6 s2 T3 X9 E0 y
);5 s1 P; F8 C+ i
2 w( W" ` f9 @+ R, q3 b, `var Registry = xdc.useModule('xdc.runtime.Registry');
4 \9 ]: _1 r: u% ?6 p: d: ERegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# ^) E$ b! ]# i5 C3 B% s; _Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ A; ?6 K- `: p- S$ I
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;' Z, r* M# |3 \4 J( s# o: E
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 U: G. h# [9 R/ }; q
! E5 U' C. W9 M. H6 u
/* create a logger instance */; r8 k1 y6 q! |$ \
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ l, G3 ?7 W4 {8 X. ~5 t. R4 Y5 {$ a; Cvar loggerBufP = new LoggerBuf.Params();
; @& P8 R' q( |9 sloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 {. S( g' ?5 ^loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 o, z; u# ]& b0 V# {; g! ]4 I
0 N$ e9 T5 j/ m; m5 E
var appLogger = LoggerBuf.create(loggerBufP);" p t+ }6 O& K0 G# g2 |$ C8 c, U* w
appLogger.instance.name = "AppLog_Core1";" `+ N' R5 O+ d6 b+ o; H
Defaults.common$.logger = appLogger;- T0 A# a& y3 u
Memory.defaultHeapSize = 0x8192;
- e4 \4 k; i, g3 V6 e: T7 eIdle.idleFxns[0] = "&LEDStatus";2 ^6 v; P# x2 x' o; s5 {
Cache.initSize.l2Size = Cache.L2Size_32K;* s0 s) Q1 J( q9 z: S( l
) ^0 b, c5 R2 @1 v9 g0 n8 X
|
|