|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! R6 E) w5 d) ?
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 T& K; O8 Y1 a* H5 x9 x! O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)% A0 O( ~* P9 B
6 ]0 I1 g3 J% D- @! {' S3 ^
是不是需要在DSP.CFG中进行配置
' p9 D& @! s% l5 j( A- m3 j我现在的配置为
4 ]0 X4 n, u1 f1 q- n- t4 }- U
8 D2 L, F# N+ J1 X/*
3 p( s( D0 D! f1 _6 t * ======== Operating System Configuration ========
. G0 E: _6 {1 p- v, N% J */
! L0 {) f7 p) K# d% ?: x3 n- s- Z5 U) W9 |
/* no rts heap */% @( d. `+ @) I" u' {' _
Program.heap = 0;
* M }9 V# D& }/ ^* wProgram.argSize = 100; /* minimum size */1 m) M! w5 l& v: U3 b5 V7 c- M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 p1 L l. M# \+ A0 A
6 ~9 S" K; J1 T0 j7 P
/* create a default heap */8 {4 e. i6 q+ g2 G M' i! h/ R' R
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ N+ ~& J l& J& z, U
var heapMemParams = new HeapMem.Params();$ D6 P" }; @8 o; ~* |8 W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 L6 X$ D( j% s9 g. n* R# C/ ~( |. ]. \
var Memory = xdc.useModule('xdc.runtime.Memory');7 j! I" c& ?0 d& ~
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 [; B ^, l) r& k I+ N# Z# `4 q9 K
/* configure System module */
" G; Y( G( B3 H7 `# Pvar SysMin = xdc.useModule('xdc.runtime.SysMin');
% T7 u( }" t' i! TSysMin.bufSize = 0x1000;
& ?- ~( w i# S4 ~/ Q3 ^, LSysMin.flushAtExit = false;
) k+ e$ o' r% I
* R2 Z# ^& Y0 U) O$ P& _, Pvar System = xdc.useModule('xdc.runtime.System');
7 T. S6 K+ J% `% m$ O# s, bSystem.SupportProxy = SysMin;
v* |& e- H- o$ {. A% C9 [1 G& P. T* G( } g4 i3 T1 A. E
/* configure SysBios to use the lower half of Timer 1 */
' ?5 X, j7 G3 m* W- C9 L' N& Yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ Q }) {! I/ |. g% zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');& o" l4 S, b h7 S# V. Y* R
Timer.timerSettings[1].master = true;
6 q/ c& l9 z# X" oTimer.defaultHalf = Timer.Half_LOWER;
" x( e1 g- ` ]/ ~4 g$ {7 g1 ZClock.timerId = 1;" @5 V; X( a0 Y. z
. e* A( C0 g0 o# q1 c y6 n
1 f( U6 z! f% X6 Y- T2 [1 G3 H9 w/*7 F1 ~8 j% i& \- @8 D
* ======== Miscellaneous Configuration ========. e- C! y8 W+ |
*/
% z. i. t' F/ \3 c' u8 ?" h. n) v$ f9 u0 ~; Z: M
/* set default diags mask */
' i7 Q8 H0 ^# F9 y! r$ g& gvar Diags = xdc.useModule('xdc.runtime.Diags');
: u. a" W% }1 k( f, nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 c* g7 H; }& {. x9 _. m# ~
. v: h2 A1 Q g0 }, gDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 q0 k; C$ J. e0 b, H
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 g9 V5 x! c' F) H* A9 B5 CDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 c( R" A \3 y5 v5 ^Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 W( |6 N2 H4 C1 D8 e. d( }4 h2 R2 ?
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) n& b! |% F7 T
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;! T( `' `$ J1 R1 L1 m5 g4 h
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;0 h& W/ \. R; a2 g1 \
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
. K5 y( [3 ~0 B+ xDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF; f% S. a. a1 v, R: X
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 g6 B- a: e6 p N! \1 Z5 N% @Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; U. U, v; \9 Q% L3 B' }, c
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( ^6 i& e/ m7 H$ Z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 m1 D1 c" m" s7 Y( rDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* u- s4 w" e2 z. E7 E0 W, s
" _) n9 B6 z- |0 y/ K$ |& V1 M$ T$ X
/* override diags mask for selected modules */& L. N( h; o" _7 ^
xdc.useModule('xdc.runtime.Main');! J0 T4 ]: m, `$ @5 D( v/ U+ D
Diags.setMaskMeta(% E- g+ y5 P; ?9 Z: b! O5 u X& R
"xdc.runtime.Main",5 p3 g2 T/ V) n2 R, ]
Diags.ENTRY | Diags.EXIT | Diags.INFO,) r9 ]3 @9 S. A* H
Diags.RUNTIME_ON
4 w4 [8 A }# H& K v1 T);+ d8 y- b g+ t( w4 v. b4 G
% E, n3 }3 o( q- f4 U" v: C4 }var Registry = xdc.useModule('xdc.runtime.Registry');: K2 K, Y* y9 D( b. N- I
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! D* ]9 m4 z7 W
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! N1 F- z' S: q) y+ I H6 q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;/ n" Y6 u$ b" {( ]# {
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 `% ?$ s6 W; R7 |' h9 J: {! ~2 t8 t
' R2 `8 L8 K" L* C
/* create a logger instance */
/ E% g) D1 Q- I: u$ \; A' N+ K* H5 Dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');5 F3 C! z7 o+ r3 F6 |9 A1 g
var loggerBufP = new LoggerBuf.Params();9 Z m( H4 h: a/ s6 [
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */# {- j0 @) Q" G4 l% R
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( I- `6 I( m) s9 s- x3 B" r
3 Y' k% p5 Y. R. J8 ~& ?
var appLogger = LoggerBuf.create(loggerBufP);
* m) w+ b. i8 ?) t/ MappLogger.instance.name = "AppLog_Core1";
, ~6 W3 x5 h+ f4 p! qDefaults.common$.logger = appLogger;2 H' E+ M. m3 a. ~2 @; ^ B
Memory.defaultHeapSize = 0x8192;
$ W, I) Y1 q0 HIdle.idleFxns[0] = "&LEDStatus";' a5 q8 Z$ e) r. Q9 C& }
Cache.initSize.l2Size = Cache.L2Size_32K;
+ ? _; e/ q. }( ^6 [8 G3 `) ?5 O7 X" m$ K* _1 W0 H6 V! r
|
|