|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& G" M. L3 f5 R. I7 q e我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 J# ~, D' T; G& C(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& b* z+ X0 Z' H
+ a: z$ T O a. e1 f8 X+ C
是不是需要在DSP.CFG中进行配置
4 d* u9 e) u5 A( j5 _我现在的配置为
9 c3 B4 |- B, E( v3 m6 C
2 R, V' d) H; N4 a; R$ ]$ {- U/*& @6 Q+ h% K# p; q: [
* ======== Operating System Configuration ========+ r$ E* [, F: w" i, Y
*/
8 d5 `$ P2 s$ ?* L
1 E: B0 {+ T1 w* z+ J/* no rts heap */
; M8 B9 ^. U B6 P6 }6 M: ^. EProgram.heap = 0;
; h+ c2 `3 {. i/ QProgram.argSize = 100; /* minimum size */$ S, T8 H& i$ V1 ]6 S
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 }9 f* G5 l2 s3 V& S' ~
! K- U( Y6 @- E2 `4 I/* create a default heap */. l& W( w' r9 b2 Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 n* D* E" D% R8 Y6 K7 L8 |
var heapMemParams = new HeapMem.Params();
. t% `% n& N1 |# H, QheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( h3 Y& D, p- Q2 p9 V4 y& o: v( `
$ H# [* l) D- B( z3 w. rvar Memory = xdc.useModule('xdc.runtime.Memory');
/ \8 Z0 b, Y; Y. r4 _! l& }: yMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
% j2 t) x8 T1 x+ A
' ~; U; z+ A. M; o5 [' ]6 N ?/* configure System module */2 H- Y' w7 R* `
var SysMin = xdc.useModule('xdc.runtime.SysMin');2 N9 H2 }# {* E! R* o
SysMin.bufSize = 0x1000;3 S& ^, d: }* L6 r1 C6 h
SysMin.flushAtExit = false;+ ^* L" B B8 B
% a: `4 n4 z" Y: N
var System = xdc.useModule('xdc.runtime.System');
+ S2 B9 j. c8 C5 e9 `9 p, _( \System.SupportProxy = SysMin;
8 B( R# k$ E9 J* a6 b4 C5 l# ]) R- ^. Q0 Z: V/ ^' I+ T Z
/* configure SysBios to use the lower half of Timer 1 */9 u. J' _0 F; U" P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, @( D( _) V5 z
var Clock = xdc.useModule('ti.sysbios.knl.Clock');. a; P. Z& J4 d' s
Timer.timerSettings[1].master = true;. s# Y+ ?' g i( n' F3 l# O7 t0 ~
Timer.defaultHalf = Timer.Half_LOWER;6 x/ H% _6 E; E. x8 w- u
Clock.timerId = 1;
; G; J, N: ]3 d& }) {. [, E( w+ C6 L! _5 a. D1 g
) \& f# m j4 Y; ~
/*
0 I2 L- Y+ m! R* [+ y * ======== Miscellaneous Configuration ========1 h9 t; b4 E+ b1 n
*/" M7 q- O B6 V, F. J
; K1 U9 A! j3 v- M- V! r/* set default diags mask */) Q0 y8 a4 W" n
var Diags = xdc.useModule('xdc.runtime.Diags');
5 z) U% Z% O: Z3 X) Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');
5 Q+ _1 Y% D& @! o `; S4 O
& S, e$ H& L" b" `7 QDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: J5 {- u( U: ^3 W1 j' X
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' w6 B: d8 ]- l; aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* `- c8 {. {9 d- d$ v, y& JDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 i( ?1 D0 D% t8 _0 d) C7 V* K
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ ]/ ]) Q! l c, |+ M2 |4 wDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 z4 ]6 O2 [3 _3 H
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* F# @. o0 i8 ~) x! O; ^* vDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 `9 K7 b; A9 s# S, y$ f8 P: z) T* D* d3 d
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& Q7 s% ~5 `0 s8 v
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ v) S- g: y% v$ z' L4 L5 ?) }
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- {3 j( J- M" H. z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. K# x5 v" t: E* n* x
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% |' K, {& ^" K; k# Y4 ^Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ d, o ]3 X9 G' s
$ {$ O. m# w( Z2 Q8 Q& P/* override diags mask for selected modules */
; L7 C( B. y( Z8 P2 qxdc.useModule('xdc.runtime.Main');1 T, J! u0 l6 X9 D- h; ~: Q+ r9 a
Diags.setMaskMeta(9 v6 M( M2 l: w3 Y A4 ?
"xdc.runtime.Main",+ a) Z* b4 G" R1 c
Diags.ENTRY | Diags.EXIT | Diags.INFO,
4 I5 h; `! w( t% I" ? Diags.RUNTIME_ON
$ w8 x# s3 ~0 |);
+ a* N1 U3 L2 D( \: N4 b, h8 h" [3 {; w! E) M
var Registry = xdc.useModule('xdc.runtime.Registry');0 j# \8 f# l, B, c2 v$ S
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) G: |" o; A+ Y6 Q; n3 \" fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;: X! H6 ^ y7 }
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 @# ^2 {" e A! c2 w& K d( VRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;' v# F- T( `" g! d" \7 y
J% ~: a b4 O3 k j/ p
/* create a logger instance */
* V2 R6 Z! P lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 @2 l# _# l. e9 z6 cvar loggerBufP = new LoggerBuf.Params();
5 ]/ C( c) b( {% SloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% X" b/ H. q9 j3 @* ?2 {
loggerBufP.bufType = LoggerBuf.BufType_FIXED;; |, X3 w) e: D6 c7 V; V9 `
~7 h2 \' W" [/ Lvar appLogger = LoggerBuf.create(loggerBufP);
0 c7 L: m' [0 @appLogger.instance.name = "AppLog_Core1";3 i& @1 C6 u( ?
Defaults.common$.logger = appLogger;
/ s) Q) f4 p6 E+ _Memory.defaultHeapSize = 0x8192;
$ H# q% R% N5 E" R: @0 kIdle.idleFxns[0] = "&LEDStatus";2 y, x) U+ ?# I v& X
Cache.initSize.l2Size = Cache.L2Size_32K;
4 A5 P3 t+ z& D" l1 x1 ]( X9 U b: u, {
|
|