|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* S7 H; l) b0 @$ q/ {' U% k我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 @* M3 U0 [; q% q8 Z+ }9 k
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) l, K6 L1 B! \+ A- f! g4 _
) s3 @9 g) K( S) x是不是需要在DSP.CFG中进行配置
9 T" K/ o q; O我现在的配置为
' U/ G5 ?- r- q6 w) B( f3 ^1 Q( {0 G2 ]3 Q
/*
7 R p& k: G% x5 \- h5 g$ U * ======== Operating System Configuration ========/ a! ^7 l+ Y9 T
*/( S$ Y1 [8 P( ^6 v; D
1 P; c6 L% t1 [. N6 F) x4 t9 G9 M/* no rts heap */
, j0 c1 [; c- ~. ]3 O; xProgram.heap = 0;' T1 z; [$ w( ~4 \# N
Program.argSize = 100; /* minimum size */$ E8 L5 B7 Y0 `8 w6 u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大8 ]; s2 b; A$ ^8 a
, E' D3 g* z3 h" N/* create a default heap */
: q: V2 \+ k) uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 O+ J3 }. l2 O9 u3 Mvar heapMemParams = new HeapMem.Params(); U5 `- N w z8 {
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" F$ E" C- l5 @& k9 B$ }- H2 q$ R" a$ w4 v# q- x; a6 |( {
var Memory = xdc.useModule('xdc.runtime.Memory');: p$ a- K1 D% n
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. }2 {- W' ~: \
' L( f0 `6 e4 V$ N" c ^ v7 B! P: X/* configure System module */
9 O! L. Y* V7 U4 y, lvar SysMin = xdc.useModule('xdc.runtime.SysMin');
2 r# e% ~6 I' ~% _SysMin.bufSize = 0x1000;' v% A) c7 y) j) {7 t0 k7 G. c
SysMin.flushAtExit = false;2 n! u4 x5 y+ m" v n4 A5 R
$ O+ L" l# V. C1 P) zvar System = xdc.useModule('xdc.runtime.System');
O) l- S4 K& a5 I dSystem.SupportProxy = SysMin;
3 q4 s6 z/ n/ D3 Q4 a8 k7 n3 }- b# u z1 e
/* configure SysBios to use the lower half of Timer 1 */
/ D! h I+ G5 a8 Q4 R8 ~var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' v/ h0 j. p; T: d& B; v, h0 Gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 k F1 }7 c8 {Timer.timerSettings[1].master = true;& x7 ?7 i) t4 a$ K p7 C) _
Timer.defaultHalf = Timer.Half_LOWER;: J' \7 [% `6 X
Clock.timerId = 1;
9 Q5 q* `* ~ N' u0 b: b" W! `3 Y; z& S( z6 ^. v4 [( ]
8 p" u x/ D2 b3 q( R5 ]+ C
/*
$ l4 V9 O' N$ W D6 k * ======== Miscellaneous Configuration ========
7 U$ Y ~ D# ?' ? */
% e" |* ]: a# e0 ?
7 B! G; a+ ?) e, J# l. i/* set default diags mask */+ A7 x' N& z6 E/ E6 G* ~
var Diags = xdc.useModule('xdc.runtime.Diags');
! {+ L# v# ] i4 y; Pvar Defaults = xdc.useModule('xdc.runtime.Defaults');. k' `+ K: ~ [, K
3 e! ~0 O* L: a& k& P' N+ _
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 x$ B% n$ v, f9 I0 Q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 ?7 D7 U/ `. Q/ yDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 k) C9 m* c2 u2 ?2 J* k: e
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 ?" M/ c. @8 p) W* X. z! S% DDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, A' J- m! X$ Z; x' o! G+ B- k- oDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;& |/ ]) R0 |1 {+ w: p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 w+ q D( Y E" q& CDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
) t% a8 p0 c7 z. b" z( SDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" [& o- L0 X# S
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
5 x: D. @& i$ \3 v y# YDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; Z$ v8 E9 ?* L$ [% ]# E2 I: N, t
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
W, f# d7 V+ |6 | ^Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 ~9 e$ O: n$ v' m" T
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 L/ E @% E `$ C: |
' q0 I8 m" e' z# r: J
/* override diags mask for selected modules */
h$ l: N r3 H/ o' D r( Kxdc.useModule('xdc.runtime.Main');
# B: C, i; U' n+ m# r( ^Diags.setMaskMeta(
4 Q9 _" t) B. x4 M: M "xdc.runtime.Main",1 ]/ R8 s( G- G; w
Diags.ENTRY | Diags.EXIT | Diags.INFO," r& G8 X' n; B( q$ ]
Diags.RUNTIME_ON
, b& w( X3 m$ b/ r, ]9 Y);
/ s1 q+ z/ A, W4 \' w+ u* @ c* O6 `0 A/ E
var Registry = xdc.useModule('xdc.runtime.Registry');# e8 U% @" }& x* X, C
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;8 n, ]; |7 N0 X% M; J) z. x$ [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* `2 d/ W8 {- W
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 e4 W$ ~, u8 _8 F, BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' m1 s% n/ m% h0 ~0 c3 W9 @& Q$ m% i6 x' ~1 D7 }* n' b3 }
/* create a logger instance */
" `2 K* q& |: B6 o- F' bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 N5 z" L* j2 j5 }1 tvar loggerBufP = new LoggerBuf.Params();
1 L9 `# L( c' E2 P& Y! dloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 y/ y$ k" Y; L. V6 l
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. K- S$ p2 M" r L: x) Y% I6 @5 s' ^# N% L, ?8 i
var appLogger = LoggerBuf.create(loggerBufP);
8 n- d, C; Q [appLogger.instance.name = "AppLog_Core1";9 i% \& t0 ~/ u% e
Defaults.common$.logger = appLogger;
/ V" c+ A+ H( \6 d+ _9 xMemory.defaultHeapSize = 0x8192; 1 C: ^7 S l8 `) m0 I4 j" P2 X. G
Idle.idleFxns[0] = "&LEDStatus";
5 k1 _- T- F j& J: K$ }Cache.initSize.l2Size = Cache.L2Size_32K;) l4 @9 [- v7 P5 C) H4 {
4 n& i6 |( \; h; j. q. } |
|