|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 l, W# d: r1 d% k我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# J( M6 g3 ]6 N" v; ?, @: T6 K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?) A( }. \0 r4 o; K/ W
8 @1 ?# t6 \, Z: U9 a7 V+ C3 Q是不是需要在DSP.CFG中进行配置4 o, M2 |- m! t
我现在的配置为. [( y7 |% P7 o; |! P' V
- G3 }& M/ v) r/*9 d. ~+ y8 R1 `1 }& @
* ======== Operating System Configuration ========
1 c( M O% O( j6 t */
" U V% P8 C' h! z* J/ U* U
+ X3 x, @4 Y! J# H; K5 N/* no rts heap */7 V' T/ [/ y5 O2 X1 r( Q
Program.heap = 0;1 j5 J+ G1 V+ V2 @$ h4 a6 S l$ g
Program.argSize = 100; /* minimum size */
% _# l( G) P% ~Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* w5 O+ W% \; O4 b6 t
1 z2 e: J! |0 |5 h( I6 d) _: V
/* create a default heap */
/ G' D& t' g7 D- @4 lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');" S3 l) o3 i ^9 I d8 M! L7 Z+ l
var heapMemParams = new HeapMem.Params();2 }5 c8 x1 o, V7 M
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% N, }5 @! _, `( N3 W$ g- h$ u k5 ^ O3 e D. Q
var Memory = xdc.useModule('xdc.runtime.Memory');. m9 Q' z1 a. O0 Y" O2 ^6 g
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- v" G! H! s6 P# D, M/ n; T$ {: i- W
8 B4 z: G7 R% @2 ~; o. Z: L- }' P
/* configure System module */
% D; C' A0 O: ^. O8 ~) s1 r, Ivar SysMin = xdc.useModule('xdc.runtime.SysMin');
+ o9 i. X0 M$ I3 {9 b% I5 f: R4 NSysMin.bufSize = 0x1000;
1 X& S! T; ?! }. s( {SysMin.flushAtExit = false;5 m; z1 ?7 l: o+ g; L' j9 } I
5 ^0 Z6 f5 m( e% e5 X5 w2 C U
var System = xdc.useModule('xdc.runtime.System');
- Y& j, j+ Y: p% P: O" F6 oSystem.SupportProxy = SysMin;* q2 w& Y U. x& s4 W7 M
- I( i4 m- x4 U+ d
/* configure SysBios to use the lower half of Timer 1 */6 ?5 c* Z6 j$ W. J5 I
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; ?/ u$ [* n7 R1 P- C
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# R0 g/ |4 v8 {5 T z0 rTimer.timerSettings[1].master = true;$ H }/ K% ]+ H/ c
Timer.defaultHalf = Timer.Half_LOWER;! S3 i+ ^" x1 g6 D$ R5 K
Clock.timerId = 1;: Q$ [2 X! K7 Q
) v" o# I# e; T' K0 g2 R
% R' ]5 W& N. ^/*
B2 {. A5 b9 ~; |. i x0 a * ======== Miscellaneous Configuration ========+ `& A# g- x2 N) M/ z
*/
8 s$ V: f7 U% B$ I
- {# x" G' N6 T/* set default diags mask */
+ K1 s( {9 k$ B; d, Hvar Diags = xdc.useModule('xdc.runtime.Diags');
- B: {7 e4 R2 G$ Cvar Defaults = xdc.useModule('xdc.runtime.Defaults');9 ?# u' p) u/ ^& L. z7 D% w' g- O
: u9 c8 L2 p- l2 f- YDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ O/ ] v" }# q. j! \Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
* }- B0 f! W8 T5 H1 J" z7 G" [: uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 y! r* l7 x) W) RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. M$ o7 o8 g( U& d/ _# t5 h0 K
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; x" m) D: _, M2 ]Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
N$ V4 r" r5 h. |Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ N0 q& _3 w2 b8 g3 A1 B$ L' I+ n
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 E8 Q( l/ ^ p& j& a( `0 t
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: A% n7 A7 Q9 X% U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: X1 b* C: ]; P$ l3 ?: pDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 a/ f) X' w; _, q, I9 s+ NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( m$ H. l* h5 U* E, \% j( J
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;( B! K. I; ^0 x r# k8 p
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; }+ V5 v8 O" ^& @* T
" y! i* Q9 n! W( x/* override diags mask for selected modules */
8 ^. j* b" o5 s x$ e# \, Lxdc.useModule('xdc.runtime.Main');
: _0 l/ `* K2 P9 {. u- zDiags.setMaskMeta(* q- X! k" f3 z( d% G2 V3 K
"xdc.runtime.Main",
% \8 f& S4 Y$ T+ A$ B" ^! }6 g" U Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ x7 @& \4 [- J' U6 j, L Diags.RUNTIME_ON
- ?; @+ Z) {3 O); u. w8 x7 h" ?8 o
: U; }! o U/ J& u! O
var Registry = xdc.useModule('xdc.runtime.Registry');( W# U" y9 H/ T9 {& s9 h& h2 b
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: C5 g$ A5 x3 N
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 ?' T4 ]. s% g. ` DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
& O2 `( X+ n0 S0 ~! xRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( k3 N5 ~/ U* t1 c( ]3 ~% |% ]" W4 `8 I
/* create a logger instance */% Z$ C# q4 o" [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& V5 y' l1 b: |0 |) l
var loggerBufP = new LoggerBuf.Params();
& g, I! v8 z+ G4 ?; f F- CloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */0 {3 `- |- E: @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;1 L/ |8 p8 M+ h) G# ~6 O$ J
8 H" k: F& w& ^+ v2 e# h6 i5 i
var appLogger = LoggerBuf.create(loggerBufP);
% W3 Y6 w+ d( h6 I; a' a! {appLogger.instance.name = "AppLog_Core1";+ }4 O5 _2 Z" K' J
Defaults.common$.logger = appLogger;
, I( _) [2 c: z3 @7 lMemory.defaultHeapSize = 0x8192;
@3 \+ A0 L n0 Z. f* M! LIdle.idleFxns[0] = "&LEDStatus";
& ]4 f2 J, S! M9 BCache.initSize.l2Size = Cache.L2Size_32K;" _6 `% Y. u: P3 o
; M. S$ X# i& q, L* j
|
|