|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# V8 q ?8 z+ h# q; P我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. u! x- n/ V6 e" [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; c1 a$ T) [ c6 j; m
7 I3 d4 [$ l4 G9 x/ g是不是需要在DSP.CFG中进行配置
3 e0 k5 q: V ]6 T/ _我现在的配置为
: _1 n+ a& ~. t4 S
$ d! d- O! [7 [$ d* A3 z, I/*3 u8 e' S2 M v# K; a
* ======== Operating System Configuration ========( Z3 I+ y& [4 Y# p& ?
*/, s3 @; D6 Y1 n' R4 X6 e" @! C
/ @. [, i# [( ` l- n# `: `0 w7 y/* no rts heap */
" y0 @5 G4 F2 e: y+ Y- Z; M* BProgram.heap = 0;
- Z" j& E' y' ?$ V V) h- gProgram.argSize = 100; /* minimum size */
& Q& L, q1 D! c1 r& l8 pProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 I2 B7 N+ \% n+ k. r
2 X \. E5 ?0 M) p& y7 R/* create a default heap */
1 p$ {7 c, X _var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% V% g1 D F; w2 ^' M' evar heapMemParams = new HeapMem.Params();, t" X, u8 H9 k$ n s: |. M6 n
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ ^8 f- m4 l7 S2 w# {+ K) l& Q! y& L
var Memory = xdc.useModule('xdc.runtime.Memory');
$ K& C( k+ _" ?" l+ W5 r, E1 [Memory.defaultHeapInstance = HeapMem.create(heapMemParams);( r5 s( t0 s) F: h7 i0 R
& D9 ]2 U) B( E# w5 e7 o
/* configure System module */7 J, F5 T" v/ k: D _# Z
var SysMin = xdc.useModule('xdc.runtime.SysMin'); _. V8 }& Y8 H4 `5 ?$ a5 A$ V
SysMin.bufSize = 0x1000;! `4 L! B! \4 z) p. b; Q
SysMin.flushAtExit = false;( m" C: s7 G$ r1 d. l
: U( ^) m9 v- {; Y
var System = xdc.useModule('xdc.runtime.System');/ E# m* K E; u# r" s
System.SupportProxy = SysMin;
& K* l0 L% b M+ E* p0 X" n) q. ^, q. o3 F' a0 X
/* configure SysBios to use the lower half of Timer 1 */
& P: I" F, z0 Z. b' F lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- | l% o- R7 B J6 }7 B2 |8 A% U3 Svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 q/ ?: A" a6 [2 s Y6 OTimer.timerSettings[1].master = true;
1 i+ R& K& N. RTimer.defaultHalf = Timer.Half_LOWER;$ _6 E8 F- |- _
Clock.timerId = 1;! ]! ?/ Q& ]& {1 `7 t8 G* c
7 _1 w) v4 t8 v. _; Q( J
" @. A2 E5 d4 x2 W( V$ V7 t8 U/*
) W2 N, {, F. ^! V/ T$ k * ======== Miscellaneous Configuration ========5 G- J% n9 I% x( o
*/4 @6 V( S$ O4 ~. y
, V, P/ m" w7 G( ^/* set default diags mask */
+ Y5 O! y/ p2 Jvar Diags = xdc.useModule('xdc.runtime.Diags');
% z1 ^2 e0 c7 l& f$ nvar Defaults = xdc.useModule('xdc.runtime.Defaults');9 }+ _! Q0 m5 w/ B Y( G8 H
0 [; i- L$ g1 Q/ c' o/ N, _Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) C* l+ k$ ^! J3 B5 b0 }/ F
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;7 T7 ~; i8 M5 [, E2 {; t4 e, x
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. O# Z' V% I: `" {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 o9 p% z6 R+ h7 s9 }, V/ zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' W, U+ ?* t f5 L" V m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ G& l1 r& Z+ \0 v5 |6 f1 b; O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# R5 r1 |1 e+ K1 V% T3 q0 ?Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' d' V2 |- Y- O Y7 k# qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. O5 [# o# i' |$ t4 t6 {$ QDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' n' e4 t+ _& N" I9 E( zDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( [9 t& g! j, k6 ^/ S9 t
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ X7 S q9 s/ T3 ?Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 a r0 w( A, r" YDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
) \3 \" A) m. m8 I" r- g( Y! [' {, l7 U, F: L6 _- _
/* override diags mask for selected modules */: i3 ~5 K. T4 z
xdc.useModule('xdc.runtime.Main');* t! _9 ~; o4 C5 J9 h# F0 E3 w% C9 N
Diags.setMaskMeta(# K4 z# H' |1 T9 |$ Q
"xdc.runtime.Main",
' i2 e- R: T5 o: ]' ]* c k Diags.ENTRY | Diags.EXIT | Diags.INFO,
' }( s0 @' _) q8 J5 } Diags.RUNTIME_ON8 H" d" C* D0 @% z3 U9 g" `# d
);" b; B0 z0 f! i% _' l+ q) L- A
4 m% W+ t# R4 T
var Registry = xdc.useModule('xdc.runtime.Registry');2 [$ v3 N5 q9 f' B, j: t: E5 S
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ Q" L8 \$ m: f7 iRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" _: r Z! X1 `. g) XRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;; P( P2 N0 ~+ f d
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, l' O! ?" F* d; j0 E% `
) x; q$ U! d" J- G0 ~/* create a logger instance */
% a9 Z, }& Y& C0 a {$ I! bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 ?, r( k! e& z4 |5 C7 {var loggerBufP = new LoggerBuf.Params();3 ~4 M6 V1 m% f6 |
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 V0 [" u/ M4 b' `) L" KloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ L" x5 K# H; j
3 k) ]" L2 A/ Vvar appLogger = LoggerBuf.create(loggerBufP);/ k+ A% i4 O. l( A2 ?0 K% O
appLogger.instance.name = "AppLog_Core1";# l8 l' R7 r9 W; [& _# n* [
Defaults.common$.logger = appLogger;5 A" P( I$ G% x& A
Memory.defaultHeapSize = 0x8192; % M/ E. I$ e% }+ N, _
Idle.idleFxns[0] = "&LEDStatus";# X% I$ ~) l% ^. s6 z
Cache.initSize.l2Size = Cache.L2Size_32K;9 j% s. O1 c% t9 [
8 O" \" v7 B/ d
|
|