|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 d. m1 O0 H0 N% D
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, h, [: ^- `9 M8 `/ O) F
(不过疑惑的是,为何单独DSP仿真就没有问题呢?). b4 k9 l1 a2 L) d1 ^8 }) m
' u t/ O: D' {是不是需要在DSP.CFG中进行配置
6 S& Y1 `$ p j& \# O我现在的配置为
' B0 t6 f: n0 Z9 y4 r# H4 f# S3 e% J1 S# J1 s3 x
/*, s1 A( D( z% j6 `3 b4 x; M
* ======== Operating System Configuration ========
* e5 H9 Y0 x$ x0 ^$ W9 g( G */# y4 }6 M! f4 _ }1 ^1 z: ]
+ W9 I9 D/ _; F0 |8 J/* no rts heap */
' q8 b! w% K1 _0 ^% Y0 Q8 RProgram.heap = 0;
n% E$ C, Y( @% ?8 o- h9 uProgram.argSize = 100; /* minimum size */4 v/ v {( B+ Y, ^- V3 W
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
* F0 {/ H/ r0 N5 n2 T- i! J2 U( F; S$ g! Q5 Q! u/ |* d' _
/* create a default heap */
5 e; \( H' [/ h! Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ Z( O' X) Y& K( j7 `# N, X
var heapMemParams = new HeapMem.Params();
& C% m% D; j A1 f- p- y+ UheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. B Y) \8 N2 y) j4 x" I
8 k* ~8 `: Y, P, v4 \var Memory = xdc.useModule('xdc.runtime.Memory');4 m7 {% }5 ^! i& \5 s
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- q; l1 Q! j+ p4 f \; k; f4 f) }
5 p! a- b. m# s3 m/* configure System module */0 P+ \$ B0 \4 \7 L' d" y" B4 b! g
var SysMin = xdc.useModule('xdc.runtime.SysMin');/ b5 M3 w, }- q) E4 o# \
SysMin.bufSize = 0x1000;
$ @! l" A; Y! G! W, j" N% Y- DSysMin.flushAtExit = false;
6 Y1 \9 B* X9 a( Z5 v2 |
9 z8 O5 J* q; k/ c; c1 {9 nvar System = xdc.useModule('xdc.runtime.System');" Y5 o6 F4 a8 n% }: s5 H5 m
System.SupportProxy = SysMin;. b0 N! N1 G$ l8 S+ H
* [! p+ D2 z& f; s- ^' k# J/* configure SysBios to use the lower half of Timer 1 */
+ u7 w# p$ c! i8 dvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 N4 s5 m- a, E# D
var Clock = xdc.useModule('ti.sysbios.knl.Clock');( ]- F* b1 k' X9 A7 Y" S
Timer.timerSettings[1].master = true;
0 \" B9 H9 S* c) D+ {Timer.defaultHalf = Timer.Half_LOWER;
8 T( C1 n0 F% j1 v! p, UClock.timerId = 1;* ?: F7 g& Y7 T3 s
1 m3 k, v- t& a
' \' k- |" [9 @9 {6 h- h, X
/*
1 A' n0 I8 g. f8 ]7 w; q4 { * ======== Miscellaneous Configuration ========) k* ^' g5 V: e" G, x) E
*/
* k* E/ ` a& s+ h7 A8 N1 O- a' T" o. \
/* set default diags mask */
/ \' \- y( y. C9 |9 avar Diags = xdc.useModule('xdc.runtime.Diags');" l0 ~6 s& Y, E1 v9 a% C' o% B
var Defaults = xdc.useModule('xdc.runtime.Defaults');
1 T6 V! p5 {9 h4 ?* N* v% j$ ~& H: N+ P" A8 j! {% R
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, N/ u/ n! J3 g" [" b
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# b V8 b& N! W4 W! ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;' b. ^" d, S) R4 Y: z6 f
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' I, L. W: X4 ? p* Y6 t- J% kDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, O6 L) O1 P) f/ W2 k
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ B) X4 p6 n! s ~/ VDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ p5 S; x6 z" k2 n6 pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 R2 J* A& T( f5 N; k9 g3 @# t
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF; ^- t" S; X7 v
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: v; n' [( n; UDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- @( G9 c/ u4 p) B: s# f' P5 e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 I& q4 f+ E' A" C# l5 S
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! @" q. P( n5 k; }& y- y6 D8 {6 U
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 j) } I! U) e
& i) b- h, I7 M- F' t/* override diags mask for selected modules */
4 Z( J/ S" d! _% v" y* k: \xdc.useModule('xdc.runtime.Main');
- S$ s/ h! E8 s* i; tDiags.setMaskMeta(( H: o% ~' e7 {" p. f& R
"xdc.runtime.Main",
% t$ S4 t9 ^2 ~* V' F6 F1 b Diags.ENTRY | Diags.EXIT | Diags.INFO,
v8 k8 T3 ^( o* ~' I, }1 [, B$ g Diags.RUNTIME_ON! f* v, ]( J' W
);0 {; c% h0 Y; S- F7 a; `
7 l0 `: r6 @/ K; Q* dvar Registry = xdc.useModule('xdc.runtime.Registry');) \9 I0 O/ w: S0 B) R! x8 ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 A9 o0 |) G: v5 H1 S- D c. I% ^/ R3 `3 ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# d! V; T2 W& k V2 YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 m) @# e! c* TRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 B) S6 l$ {1 p% A
- Y7 t0 F/ l4 U0 j/* create a logger instance */
6 l) w- _) h! M& Y6 x% Uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& h# h* h3 b- U2 {- O
var loggerBufP = new LoggerBuf.Params();3 y2 E' M5 o, E0 J& Q* K5 C
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// k( u0 F) f q/ H2 u. _' {
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" \/ u9 r# Q0 r8 H3 G0 v% q% P8 C7 o% E
. ?/ M8 L' f: H8 Lvar appLogger = LoggerBuf.create(loggerBufP);
& F# H! ]0 j5 s4 k: x! M0 \appLogger.instance.name = "AppLog_Core1";1 U& T$ b5 h9 B, J. ?5 _) b1 t
Defaults.common$.logger = appLogger;/ a# B- Y, u* ?5 F# f; Q0 I* g& T
Memory.defaultHeapSize = 0x8192;
7 b/ A! B5 v: g; BIdle.idleFxns[0] = "&LEDStatus";4 l! e- }4 m$ b3 E$ N0 n. f
Cache.initSize.l2Size = Cache.L2Size_32K;* _' h/ K& M; p* u- D
5 e( z! k8 p; n1 W/ k& Y
|
|