|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! k% _2 E5 B7 D3 i; O2 q7 \2 y ?我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 g5 g5 e) m2 [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& Y/ {! D* N# l
0 r/ z! F3 ?8 ?4 ]是不是需要在DSP.CFG中进行配置
; K6 ?: k7 [5 |: u9 D我现在的配置为: Q$ k* f8 [+ e: H2 S$ r) P
f3 M9 Y& z" K" ^9 e9 ~1 I- |+ A
/*
' w/ v! |* g3 h( ]% ? * ======== Operating System Configuration ========
+ v0 x0 M, e2 e8 A' O */
3 g! l! z* t+ z& ~, }! G) t7 Q! Q. ]* `7 S# \5 _
/* no rts heap */( O! \7 G" n/ j* G+ s, ?6 k
Program.heap = 0;
6 ?7 ]. U$ Y# A9 J MProgram.argSize = 100; /* minimum size */
5 r& H. w& b6 {( U. S8 aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大! s/ ~! ? a" y9 Y3 t
) _2 Q: g5 h3 Y/* create a default heap */
' u9 j+ p7 \' W |. ?8 e2 I" W \var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( ~; @5 l1 x. x; U- k' vvar heapMemParams = new HeapMem.Params();7 l/ T0 z* w7 ~
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, c2 n P& F6 m+ [" P
4 ~6 t* x q$ [: F! y9 g; j
var Memory = xdc.useModule('xdc.runtime.Memory');
0 p r0 G2 }5 Y# z6 HMemory.defaultHeapInstance = HeapMem.create(heapMemParams);/ b( m4 U9 j( L2 ]
* s! Z2 Y- B& V$ a/* configure System module */
4 t+ K$ D# x$ a9 y9 f, X0 lvar SysMin = xdc.useModule('xdc.runtime.SysMin');" _! |+ j8 {$ E# c+ J: P% Y* t
SysMin.bufSize = 0x1000;
) r& n* A8 {( A, u- k/ @5 WSysMin.flushAtExit = false;
" i% ~+ M) @9 X1 y" |% m
6 s: ^) n) w: ^/ n, hvar System = xdc.useModule('xdc.runtime.System');. h' r3 N% V: Y3 {1 D
System.SupportProxy = SysMin;3 K2 Y; f$ V- U+ K4 u5 i
; D" H+ Y2 G" ~3 ^9 J/* configure SysBios to use the lower half of Timer 1 */
. Z/ N" X" a7 j$ a% P1 m- Svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% I0 M8 I# ^* P( x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 _2 c# r. u0 S# M# V
Timer.timerSettings[1].master = true;
y1 R$ T5 `6 VTimer.defaultHalf = Timer.Half_LOWER;$ U6 k* m# n' M5 ]* _
Clock.timerId = 1;) E4 k+ \" w% d4 I8 L# Q# @( B3 A
2 y& u) ]; y* N6 y5 M% y. \! N
! {' ~6 i7 g6 ^. p/*7 k4 |/ r$ J, N
* ======== Miscellaneous Configuration ========. `+ u8 g' f; D$ G3 |! ?
*/; j' p9 w s9 f6 a3 O7 p) }, ^
9 m7 k& [7 Q/ S r" y
/* set default diags mask */2 K. ]" i1 k4 O; z7 G$ o6 u
var Diags = xdc.useModule('xdc.runtime.Diags');
. T( e/ }8 t' V: G j* d9 \var Defaults = xdc.useModule('xdc.runtime.Defaults');
/ D( S3 Q8 O+ ?0 m
( d2 y- y) Y& y" V( [- ?% cDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 h7 C& `/ I, m/ mDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' Y% d" m3 _' Z' G4 H9 F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;, |4 O" C* N7 c! k! ]
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 w/ X$ Y- g# D0 V1 U/ eDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& x4 Z* B" O) M9 nDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) v7 u5 D/ S; i4 a- qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, v' p4 _# l6 h: E" |! k9 n, dDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" \( o3 \3 u o( V) j. o9 nDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ f% z$ c$ Y: F4 XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 v- ?' ?, r0 c$ v. `' b+ X8 n7 [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' a x# Q6 R+ e% x# ^0 A
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 o& z8 Z- g; b1 DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 R% c& r7 G2 H; P% U( w9 a
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: c. g9 ^+ L# m8 N# G5 f) ?+ D$ C3 }- `7 R& g+ @
/* override diags mask for selected modules */
% u9 ]/ \% Z" e7 _/ Z! A3 v; }xdc.useModule('xdc.runtime.Main');
1 g+ @ v Y5 E2 H7 ?+ P; TDiags.setMaskMeta(4 ]) Z' g8 r* V% e9 i
"xdc.runtime.Main",1 O" w: F |+ U8 _! T
Diags.ENTRY | Diags.EXIT | Diags.INFO,
) r$ Z% T/ }& u) n5 I Diags.RUNTIME_ON. R' p1 u9 n/ o5 K
);
9 n5 R. t. b9 p/ Q! L2 j9 x" q& c/ |0 X
var Registry = xdc.useModule('xdc.runtime.Registry');
7 N" F% M* }# V- W9 R4 P* J5 N! cRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 @& r3 g& X) H! s& g1 [! ~. i
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 z# U5 i. X& W* _2 v9 D, J1 i
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 W# t! G) G$ M$ D, _) K$ HRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 F e! B3 T& ?8 ~) |& B! q0 Q
1 a! W4 a% s9 x. e. k: p/* create a logger instance */7 e$ Z. J7 n3 k0 Y/ @4 _, B: P
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, Z( Y5 ?% @' W+ Yvar loggerBufP = new LoggerBuf.Params();
7 V' G0 }) {' u) \' y5 P' n/ ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ ~7 w' d6 [( b4 T9 m0 F- K; nloggerBufP.bufType = LoggerBuf.BufType_FIXED;
. J" a, @: Q' ^! W$ {7 w: A/ R" b3 S% h
var appLogger = LoggerBuf.create(loggerBufP);* f1 g, Z# c6 U4 o6 V2 Q! e
appLogger.instance.name = "AppLog_Core1";
# e; c% e; [/ \5 G, C6 UDefaults.common$.logger = appLogger;/ N8 L2 @: B/ K( V; ~
Memory.defaultHeapSize = 0x8192;
/ _3 l, r$ f" } w: eIdle.idleFxns[0] = "&LEDStatus";" C& h0 y, U+ g& ^1 _4 I
Cache.initSize.l2Size = Cache.L2Size_32K;
5 t9 H# @% }/ ]: R& k0 A$ `1 F" M) \ p4 x, `
|
|