|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; G, S: Z& R+ F6 k9 Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- L6 V7 p" c2 \
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- c1 s( H4 y2 x5 z8 l! t: q% `/ F1 X$ S; O4 R5 e# v) L/ |# L
是不是需要在DSP.CFG中进行配置
8 j" k8 ~8 L6 F8 p1 p* f我现在的配置为2 j4 U2 _4 \4 r$ v k R
! e8 I; [$ I y- i0 [8 n+ `
/*
+ r% r8 o0 W! ]9 v# H& X * ======== Operating System Configuration ========0 I+ D4 b+ h4 ~/ ~% L- v+ K5 W
*/8 p( ~" ], k3 B, k; b& J# C4 Z) k3 x0 ^
+ ]% T% k: P6 B+ p' p7 Y! d/* no rts heap */% T5 @" P, I7 v$ I" y/ X# O
Program.heap = 0;
! p/ @5 h0 q& O0 nProgram.argSize = 100; /* minimum size */, z1 c- e, E: M5 {' a( G2 v3 `4 V
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. m( y9 G& g& x3 I* w- }5 _- \/ F" e3 U+ g/ G$ U, Y
/* create a default heap */. P; {3 r, d% Y5 B% |
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, Y; o/ C8 W# S8 |1 Y: W& @
var heapMemParams = new HeapMem.Params();3 f |: f8 w2 \" m8 Z; q+ ~
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ U- n, q1 L- J2 P! e
) u8 ]! H" _: t* U5 F1 u+ C* avar Memory = xdc.useModule('xdc.runtime.Memory');
4 \8 o- z" N# ^) i8 O6 G* iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);4 Z( f/ b. C, |. I$ c
& F( Q( @9 M- h& P
/* configure System module */
" R O9 @ f9 |( n* `( a1 n, X/ b7 G, _var SysMin = xdc.useModule('xdc.runtime.SysMin');
! w- S0 g" j6 R+ y( E: U, \SysMin.bufSize = 0x1000;
. @, m8 j$ O1 B- w, u/ v9 N: z9 @SysMin.flushAtExit = false;
' G" _) b' ]! H. v2 y
- O* L8 i: V. b/ I! P! y% Avar System = xdc.useModule('xdc.runtime.System');
) c( J2 k0 u {8 S! V! jSystem.SupportProxy = SysMin;# \5 R* i; \7 U, i# y/ e3 y1 t
) d( }8 D; a0 K' Y. w/* configure SysBios to use the lower half of Timer 1 */
* T" S0 w( E1 m) B7 {" \var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' M$ X8 F" G8 u, O7 }7 X2 A
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! q: g ]" h+ J0 ?, B9 oTimer.timerSettings[1].master = true;$ i: Q8 {# o0 e+ u8 g0 c, K/ Z
Timer.defaultHalf = Timer.Half_LOWER;
* \8 @6 O9 ]* C2 b9 NClock.timerId = 1;
5 g: A) u I7 {; C) r# L
* G8 C9 Z0 G( m& b. z* X$ t( Y" N! _$ V% }8 Q. g. ]
/*
$ U% s- h) W7 u) _! Q9 w# T * ======== Miscellaneous Configuration ========3 Y( b% | u# x3 l+ y
*/
, G, m9 Y; L9 c3 H6 r- X) Z2 b t
% H4 o4 L3 \5 S/* set default diags mask */, z. B& A- X8 C+ C! @! H5 J' c: H. E
var Diags = xdc.useModule('xdc.runtime.Diags');
0 D8 Y- o. v; |% C) h' tvar Defaults = xdc.useModule('xdc.runtime.Defaults');
, _0 b1 H* |) W# U! L
1 l% F2 q: P& ` t9 b8 nDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 d8 Z, n1 d% RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' T" R6 F$ I7 T% A5 ?
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;' c5 }( F7 f* k1 y3 D+ a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( Y5 l9 y( q* U' f) H4 M8 ODefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 i. G0 i! D3 Y, S5 B. i3 s
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 b- N" ]+ I# w" r2 m9 J+ F/ BDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# u7 \% |' C& m6 [. BDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 [4 S1 C! O+ ?& s! Y( a9 L& k
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. ]+ E9 U* c$ p% i
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# W( L# I" b4 O5 D+ L6 ?Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: g& w; i. ]% m9 d3 y6 f1 V+ D eDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; u: h9 `# }' o- F( F2 W
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! s" L' R1 M6 W4 P- pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. S. u/ q4 X: {" B9 d% |5 |! v1 I6 r/ _: T
/* override diags mask for selected modules */
7 E2 N0 G# h# }& K' R _' _, ~xdc.useModule('xdc.runtime.Main');
: ~$ E& _& P. ]1 R* |3 ?$ DDiags.setMaskMeta($ X% a. L/ P7 R3 ?
"xdc.runtime.Main",% E. A4 t0 M' P
Diags.ENTRY | Diags.EXIT | Diags.INFO,% d+ `2 h$ s$ ~' I
Diags.RUNTIME_ON
) `6 w2 D0 C. O7 U4 G/ w);
. o, Y- O- i5 n+ l, }
* S3 s& o! ^; F+ ^! E& G' P+ Fvar Registry = xdc.useModule('xdc.runtime.Registry');/ l- Q5 r( ~6 g) F! A9 b! h: ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; J6 V2 J- E( W0 K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* j7 n* p) n" p- p; [4 wRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;; L% e8 V2 r1 g3 i
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! E; s6 q- i0 @, ?. i4 ^8 N0 L" P. O. o) O
/* create a logger instance */% L' i6 E; @5 ~- }+ w
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ c" P% d: u2 }; F9 L) G4 Pvar loggerBufP = new LoggerBuf.Params();1 ^! z# W) ]1 t) w* C) o$ O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. M( i& n. ?- uloggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 g0 t& `' E( [0 X2 v2 u& }5 i3 |( _8 Q7 x' N1 F: a0 n" F- x
var appLogger = LoggerBuf.create(loggerBufP);
" b$ Z7 ~: V6 f6 Q/ H. h9 ]# A' [appLogger.instance.name = "AppLog_Core1";1 L$ e) B7 L& z6 u' {% S! ?# I6 B
Defaults.common$.logger = appLogger;
7 Y) s2 R6 a0 [' e! r4 lMemory.defaultHeapSize = 0x8192;
0 k) W+ @/ M: G: c* q4 WIdle.idleFxns[0] = "&LEDStatus";* J( V* P1 h- J
Cache.initSize.l2Size = Cache.L2Size_32K;( \1 g; ~3 r& Q6 b
- o/ w' `) p2 s |
|