|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ A2 A* j! M( t( K; y' T- V3 D
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 l4 n# |! ^- E/ R' o& q- w
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 O% c; m2 C* k% T8 ^' e8 x" C
5 e2 B7 o9 ?. H6 v( U' ^$ i
是不是需要在DSP.CFG中进行配置2 @# d3 c0 M# v" t: k9 s9 E
我现在的配置为
8 l* o6 C: U# D9 n( |: O( k* E- L. E
/*- e% n' T1 d+ |# Y! t$ i P% P
* ======== Operating System Configuration ========
8 n) u% J8 U% ]4 k3 | */' C" {, O+ t3 K+ Q
* c4 @2 ~, W: ^. H% D: c- `# G/ n
/* no rts heap */) E) G! K5 q8 s8 j
Program.heap = 0;
' S* P' c( w# N0 x5 E. Q# g# {1 i' T/ wProgram.argSize = 100; /* minimum size */
; i3 {. V6 W8 FProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大' I6 ~" a4 O, ]7 N
1 T9 e8 ^+ V( z* O9 z/* create a default heap */
; O4 A9 @! H7 [var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# ]1 ` |, H! X/ K2 L" lvar heapMemParams = new HeapMem.Params();
1 x) Z4 j" l4 ?- }3 C7 _6 R7 AheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) K) @2 m1 S( i9 }
- C* W0 j O1 F# p+ I
var Memory = xdc.useModule('xdc.runtime.Memory');5 _9 ?2 i1 T1 c: `4 S9 o# ^) v. Y% d2 d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
5 A8 j( i$ ?* ], Y, d0 O2 g+ F5 ^
/* configure System module */
; m: _6 q9 c. d. ?var SysMin = xdc.useModule('xdc.runtime.SysMin');) M5 n3 x7 Y5 s4 m/ Y, q
SysMin.bufSize = 0x1000;8 I4 `) E: h8 y3 z: v
SysMin.flushAtExit = false;
( O3 j0 k/ d! u5 S. g3 w* ~% ~% ` A3 A5 y, Y- c! t
var System = xdc.useModule('xdc.runtime.System');
9 H# i' Z1 K L+ f# KSystem.SupportProxy = SysMin;
6 A8 n% E1 s- p4 E
- s; M p l0 k" I( I L$ u, p; L/* configure SysBios to use the lower half of Timer 1 */% m- G: f+ h0 P+ ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" \9 h1 ^' }' ]* O3 M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
Q% l2 w# l$ c& pTimer.timerSettings[1].master = true;
- V% `$ x1 g% G% r6 TTimer.defaultHalf = Timer.Half_LOWER;
; E) |* g: B8 T bClock.timerId = 1;0 r- `" `; S2 n
3 z7 f- N$ @# E- d& q& k& Z9 ~
7 c* ^# d( S( D$ y; s/*
3 k% z/ V6 v& F& R * ======== Miscellaneous Configuration ========2 R% m2 c5 l: o+ Y5 o# t% m/ O P7 f
*/9 g1 Z8 }4 e# y1 J
. f5 R, z- ]9 ^9 L- D! Q6 z
/* set default diags mask */. I3 X) u+ t1 Q: H6 e; B
var Diags = xdc.useModule('xdc.runtime.Diags');
4 W* x9 E# a: M5 Xvar Defaults = xdc.useModule('xdc.runtime.Defaults');, t' C* R' y+ Y4 U' r+ s T, t
. |2 @% p( y/ O# @2 }Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ T% V/ M$ A' ]1 u% u+ F- J
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 m0 C7 h7 x' w% A: R/ y" r+ t7 o
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 y i% N% y% D2 ~0 N o" TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 p$ j3 R% ] lDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ N/ [1 w0 Q7 x# n, ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 I4 H+ a# ^- {1 |( O2 x3 }7 b7 t& M
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- M( K/ |* |2 ]6 G) P7 N# x3 B8 \6 A1 O
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ [: W" h2 D8 m2 s; j' v
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 Z+ U8 D; j6 F( U2 rDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 \6 C& Z5 O# G" ^3 m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# {7 P7 q5 l" s
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 S, F1 W2 X0 \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- h3 r# U6 q. g GDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. p- S# q' H& b* n
% a6 L! a% I7 F* V1 D( c) }/* override diags mask for selected modules */
; P/ f& T8 C0 z6 G( Q5 jxdc.useModule('xdc.runtime.Main');9 X7 ?3 s6 O4 |- F$ h6 Z8 L
Diags.setMaskMeta(9 i8 c$ ]* o' g: j9 i
"xdc.runtime.Main",6 t8 ^% X) v5 n6 A1 ?2 H
Diags.ENTRY | Diags.EXIT | Diags.INFO, ?3 z: U* O. y
Diags.RUNTIME_ON5 m2 h$ F' S8 _7 {' W
);
* w8 o5 R. M$ a: C3 r
+ `8 t1 v, D. w- B' p9 e$ H- ^var Registry = xdc.useModule('xdc.runtime.Registry');
+ F8 r4 p, Z; s0 f4 kRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- V p- V- h& w+ l8 T, t. j9 f
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# v2 ~( R% h: M0 r3 vRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 w# Z1 n6 i/ ]/ U7 ^Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 U/ x. v2 g" G' @+ f) r9 N3 d5 o% a0 b, A6 \5 _- B9 N5 ^) {
/* create a logger instance */
$ L: H( A- ~6 s- e6 `8 n3 Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ i3 V' a2 o) d9 I
var loggerBufP = new LoggerBuf.Params();# ^9 u) S4 |( I1 ?: p* s z/ [
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 z# z- x' _: }3 y, g4 ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 Q0 X) J5 D' J! u2 v( k$ \: n* m9 X& w& K( M7 [: f: j
var appLogger = LoggerBuf.create(loggerBufP);
# q7 U \' [, \5 [. _appLogger.instance.name = "AppLog_Core1";
% S' }. C; h( T8 Y; ^% TDefaults.common$.logger = appLogger;# `5 k% Z: n G6 C7 I. [: Z% `
Memory.defaultHeapSize = 0x8192;
$ W3 H5 h9 z# t- v/ S- LIdle.idleFxns[0] = "&LEDStatus";. _+ P& L. G! d- U z
Cache.initSize.l2Size = Cache.L2Size_32K;
9 w. j" [, I+ X3 c: l1 o4 O$ ]& H0 n+ \3 O
|
|