|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 ~- Q" Y6 E S7 x
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 l, o' f7 Q6 X) Z, x' g% h& G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?), c D/ u1 R; g# O3 ]' t
. P2 j6 x6 V& P6 G. X2 L
是不是需要在DSP.CFG中进行配置
+ R' D7 Q# C- Y4 Y5 n: e0 {6 n我现在的配置为
6 `/ R9 D S, c9 w3 A1 M- A; p. }5 L- M- k! R
/*. L0 S( j* p. V2 F% F
* ======== Operating System Configuration ========
5 I; w) G" q7 G, v- m6 { */: R4 g. D3 r" I( T. M, X
$ X( v! [1 [, u+ O
/* no rts heap */, Z9 J. i6 G \" f
Program.heap = 0;
: [ t5 b. G3 [2 g( }/ K wProgram.argSize = 100; /* minimum size */$ {3 d7 d! j- n0 x
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ C' \" b( C0 S7 a' P) G$ E2 g1 K
) U# p7 n, ?8 Z: T/* create a default heap */
( C! J2 [. g* e$ T: q( q7 rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 q! f- r7 A5 D q& s
var heapMemParams = new HeapMem.Params();3 L4 v7 {9 ~4 |0 g% X7 o
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; }) y4 R3 V# |+ `0 z! F& s% l4 M6 J1 u( ]9 \9 l6 h
var Memory = xdc.useModule('xdc.runtime.Memory');$ B! z7 C% x+ e7 g- a o
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); J! }5 ~& i3 i' K
. u9 P4 v, O: d
/* configure System module */
, j8 \6 t3 W6 ~4 j# H( r1 Wvar SysMin = xdc.useModule('xdc.runtime.SysMin');; b1 `$ f6 d9 D6 F& ]' H5 v
SysMin.bufSize = 0x1000;/ I2 x; N/ G* ]$ d" Y, d
SysMin.flushAtExit = false;5 X& M# E# J4 p8 L7 S% ~6 t
* F! Z v: y0 v8 @& G3 V+ W
var System = xdc.useModule('xdc.runtime.System');
( X" E/ }4 i$ x# h' u9 [( E K! f/ YSystem.SupportProxy = SysMin;. s7 {+ u6 G6 y9 P& @
3 Q! k3 _7 p5 d! b, z/ r3 q$ _; F8 z
/* configure SysBios to use the lower half of Timer 1 */
6 u% g$ ~! Y6 O; \3 zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; h' d$ G; i+ H4 H9 ~
var Clock = xdc.useModule('ti.sysbios.knl.Clock');5 \! R4 I9 X0 z F: d' ^7 v4 I) U
Timer.timerSettings[1].master = true;
% x9 \6 S" y7 u, W1 e x; tTimer.defaultHalf = Timer.Half_LOWER;6 g8 ]0 C" K0 A7 n- h
Clock.timerId = 1;' ?7 i! h4 O9 n! _2 D
. |" g0 `; Q; p
1 C7 t! l6 [1 v1 D$ r& S# O! c) U/*4 `" U- J3 ^# F/ }' z
* ======== Miscellaneous Configuration ========9 u: Z$ B+ Y9 A$ q( d
*/
4 a) f9 V ^" i; \, x' D5 C: B8 U- s) E+ N
/* set default diags mask */( F9 C9 v$ [# [' f" B
var Diags = xdc.useModule('xdc.runtime.Diags');
8 J$ R4 e# K" R' f( V8 d+ Z- {var Defaults = xdc.useModule('xdc.runtime.Defaults');
/ [5 e4 E- H5 `- T) C m$ X# Z7 H8 t d: d* x- E- `1 | r
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% _9 \5 F- C' r7 R" x, \! j
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
/ R" ^8 k# C5 |. DDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ j# Z" I7 g( d
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
y, Q+ F4 g. k' _$ Y0 j& w% ZDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ x- w2 V( \$ {
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) K; \0 |. L; X8 |) v+ uDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# a- Y' c3 }5 M% F
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' |6 W+ _# F; W. J" R2 uDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;) R% v( C) \( q2 X' A
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 \( Q9 q7 q# c/ @/ n( o$ C) N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# a' w3 |" `5 S% _0 b+ e" p! {4 ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 ]3 D' f! F9 R+ C5 o2 C/ ^3 nDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 H1 @6 l6 c7 K% R, N9 pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( W, m9 v# J! k, B2 J6 p1 T
$ F' V2 k y3 j9 e3 M9 q7 @# \/* override diags mask for selected modules */
6 S0 P* G1 N7 s2 f# @0 H- Wxdc.useModule('xdc.runtime.Main');
- A! d" e/ l; c- h) p, rDiags.setMaskMeta(
" [* ^. n4 g+ s3 m( O "xdc.runtime.Main", J9 I. ~6 S& `- ?
Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 ~4 f/ Y. {5 { o Diags.RUNTIME_ON) S! w" m m0 r; M- Q- Y1 s
);
) t2 ?+ t2 v+ P( R8 L! r( \( h, z, c$ k6 b0 H: J& n
var Registry = xdc.useModule('xdc.runtime.Registry');
* m: w8 b I9 m* d0 QRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ D+ t8 q3 N" u+ p: Q
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 ]6 V( a4 [ `Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& Y: o- J" y! s# c5 PRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
& ]) R5 @, n; J
4 Q, a5 h5 g R4 y6 O% Y0 ^/* create a logger instance */
/ j$ F! g, a @: J6 u jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( v" z6 P( p* O# ]var loggerBufP = new LoggerBuf.Params();/ @% Z& O a. {3 K6 [4 a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# F |8 i( G0 D5 }( [/ k wloggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 r7 J5 W' J7 p7 O9 ?3 \% A# l4 a* a( N3 V6 k5 m! ^$ J4 K
var appLogger = LoggerBuf.create(loggerBufP);1 s6 q+ E5 _, N
appLogger.instance.name = "AppLog_Core1";
* p, Y1 I' r& ~+ wDefaults.common$.logger = appLogger;: @3 `0 G0 u8 F; C/ Q5 E
Memory.defaultHeapSize = 0x8192; ; n& Q g1 ~* g% V5 T' D4 _
Idle.idleFxns[0] = "&LEDStatus";
9 f" h- }2 [+ h# j& WCache.initSize.l2Size = Cache.L2Size_32K;3 q+ _4 O, T' X8 I
. j) J7 p$ T+ U' X; t |
|