|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* j+ z8 P8 r9 M j( n0 P0 r我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 q$ ~$ \1 G! t* C8 [1 A- |(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- s1 D. F& {% ~) E1 M3 P' I" L ^ ~% K' X0 ~% p0 z
是不是需要在DSP.CFG中进行配置, x+ r, o; L7 t; r- @
我现在的配置为
; q) p" C$ I6 I8 _, D& ]6 ~: Q0 j( K4 ?/ B* R, \
/*
3 g( p5 l- r+ k- {2 h2 C * ======== Operating System Configuration ========; t" v, ~( H+ u9 I
*/' L; E/ Y m% L( K6 L/ A
$ v* l- w* ?! N! t" f z" n! F/* no rts heap */" f' E! j7 V! n7 E- s6 x# b
Program.heap = 0;
8 b: q) s/ ^( d* u8 _Program.argSize = 100; /* minimum size */
* _! o1 M! [% ~8 CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 W3 G* H( m, p2 D$ i, y0 W" r; q8 G% |9 |- h, q) Y
/* create a default heap */
N; L3 Q5 n! y0 r, `var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% k3 H( G h. G4 ?0 T1 E
var heapMemParams = new HeapMem.Params();% v; R9 i7 K! y, E/ ^% ~5 N% x
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& _9 Y4 S% d: R5 H
( u/ v( J: ~2 S* v6 \; D
var Memory = xdc.useModule('xdc.runtime.Memory');, K5 J/ k$ E0 N9 t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
: ]7 e) M. Z' n
. E$ C6 `, Y D9 f: H4 H* U/* configure System module *// }! t! B/ g1 w: c" l( q
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 t. e6 B' U X- Q% Q8 Q2 [; P
SysMin.bufSize = 0x1000;1 h! h7 P" v( k8 C8 J
SysMin.flushAtExit = false;; I d9 W9 Q# U: L# {7 Q
3 E- U; F* g$ I) F
var System = xdc.useModule('xdc.runtime.System');
! M6 A6 x, c, E- r7 gSystem.SupportProxy = SysMin;
+ }- E+ K' N' O! h
7 \4 J- F$ n7 H: B: p: V5 Y/* configure SysBios to use the lower half of Timer 1 */
8 x U& C9 `0 p# e3 Avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ R& m; ?- a, c9 X8 x. Qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');3 d& V1 T, @0 j0 B/ ?. K& S
Timer.timerSettings[1].master = true;
; h- s1 O% x3 B- uTimer.defaultHalf = Timer.Half_LOWER;
' l1 |: G9 W- p' z# O, g) fClock.timerId = 1;
5 l/ d9 R* i* L3 E- I. e# Z7 N" Q& ~5 n) g4 n2 q. q
/ O) v4 W& `) y6 C4 m9 t/*
/ ^6 [& \. R$ w' ^" u * ======== Miscellaneous Configuration ========
. ]8 s. Z0 Z6 q8 B$ T */7 d& m, L/ N0 s2 I/ c2 w# B( \3 D1 A5 h& u
4 H: V5 _" \6 G* P% r/* set default diags mask */8 m0 b) I1 G7 L& T8 y" z3 L3 j, J
var Diags = xdc.useModule('xdc.runtime.Diags');# f) }: T* J: v9 n' A; n" D' j
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 B! Q$ J# \5 b. Y `7 M$ G4 q* ^3 _. o+ ~
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: y$ z: k5 n# T2 ^
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ q6 V; m+ v* @7 RDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 F( x+ Q) {3 |Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 n2 O7 \ T9 k6 E
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ ?* K9 Z- b1 I) m9 o7 TDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, g) c, ` O6 a- B" R6 ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 k) H- a' P* W8 K/ UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 @/ v% e. m( o, E* F
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ h* s! h* S! V2 f ?Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! J4 O% g0 K3 f. D
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 J( J" w. v" h: G
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
a! v# Z" f1 l4 ~5 K. g% L8 Q8 w8 eDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 s" ~ _2 ^' N' m; @3 Z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ L# }7 J$ D3 `" r3 ]) e6 |! H8 m
6 U: D, [5 f2 _; z" ?
/* override diags mask for selected modules */' g. Z) n% C5 q: n: c" v9 L
xdc.useModule('xdc.runtime.Main');2 |1 h2 t2 s1 _, z# K
Diags.setMaskMeta(
- Q0 `$ d. N: r* L$ z "xdc.runtime.Main",
3 f8 a5 e# C, k6 w3 a0 @ Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 H+ V" Y. N5 R0 R Diags.RUNTIME_ON3 z4 c. }& K' c. J/ F0 O% @
);+ M9 T7 S. V A! ~6 T/ W
; W2 z2 z/ j; Y b, W, ]; @
var Registry = xdc.useModule('xdc.runtime.Registry');' ]3 [0 X6 g) M# v6 O0 I/ r
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* l7 s2 }. ]7 o8 A# ^; d/ S9 E
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: L: N, ~- A, Z3 z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' {. R' {% D6 gRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 h7 W) y9 q! I' g. c* Z5 [$ I1 Z5 {, f, ~/ N: x' A2 ~/ |$ O+ u
/* create a logger instance */. Y' V4 g8 A1 K* o9 c3 L* ?
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
* R) L) D( K" Ivar loggerBufP = new LoggerBuf.Params();
^) x8 M, v) a. `loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 d6 A0 y$ d: O0 D0 J8 `9 i6 O. rloggerBufP.bufType = LoggerBuf.BufType_FIXED;& S9 R7 s! Z+ b7 \* m% N4 j& u
& k6 k0 q) H) V$ P, ^
var appLogger = LoggerBuf.create(loggerBufP);
8 f. `" q8 v2 \8 lappLogger.instance.name = "AppLog_Core1";
5 g: V2 D' i) R" p5 `Defaults.common$.logger = appLogger;4 O. h0 c. _$ D8 u8 A
Memory.defaultHeapSize = 0x8192; ; f' e! O9 {; z
Idle.idleFxns[0] = "&LEDStatus";& y# a; b$ l- ]# v; J7 y
Cache.initSize.l2Size = Cache.L2Size_32K;8 {$ d# P( u0 c. R/ S! Q
( R0 I# b8 { x/ l |
|