|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* K/ X+ L' M! s) e u* e我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ E. Z" D! e% d# I- H. M5 i% {
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 @4 }% A* y( z1 _: x+ Q2 ^, L) E' B: |. U3 g( ~
是不是需要在DSP.CFG中进行配置
( d% V( b$ Z% |* Q! B我现在的配置为
* o. W$ V; h7 T) w* R- a6 }
' q! o! D1 R" X! U/*
7 a) t, }5 d6 W7 q, G * ======== Operating System Configuration ========
% D8 B/ }# D4 [) S */
3 j- J5 b1 S, K/ n, I
; S0 n* Q% T: f& t( p; D/* no rts heap */
# U7 G( O G5 E; g9 \7 }( `- Q2 QProgram.heap = 0;
* o$ h. ^) P; ^3 p! [$ zProgram.argSize = 100; /* minimum size */4 w- ]$ m4 ?& D0 U$ a& m) s2 D
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* P+ I k p4 f" a: J7 `
9 R1 ]* Q5 g7 `* G/* create a default heap */
6 V' m# Q, H$ {var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- c2 G+ {* r4 F0 J) Bvar heapMemParams = new HeapMem.Params();
& H$ `9 g/ \7 \heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* T/ {/ m; F" L/ V% G
+ D8 n9 p8 ^1 ^6 G5 k8 G$ O Y
var Memory = xdc.useModule('xdc.runtime.Memory');0 M! @0 [/ K7 e0 G8 R( T
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' c1 U; X) Q4 m% @: a9 p
4 ~5 r" v. W' a5 E/* configure System module */: ]/ r2 H0 w; V
var SysMin = xdc.useModule('xdc.runtime.SysMin');
( l9 s8 ?; E8 J5 LSysMin.bufSize = 0x1000;
8 K6 v' t& u1 f, `SysMin.flushAtExit = false;0 c( I1 `( f; g
1 c# b# s* k ?* D# U5 S$ n+ \
var System = xdc.useModule('xdc.runtime.System');8 x' _5 o0 ]( F
System.SupportProxy = SysMin;
- x" {& p [% O, i, o. n7 Z( Y1 k0 S* ?; }
/* configure SysBios to use the lower half of Timer 1 */
! }: L5 G% ~* D1 ?$ ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 k7 p( q( N& yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
: d( w8 x& ^# I r/ PTimer.timerSettings[1].master = true;
$ W: P0 S# Y2 w2 s9 n: eTimer.defaultHalf = Timer.Half_LOWER;
) |; `8 L1 W4 W% ]& z3 ^Clock.timerId = 1;
1 b! Y( v% r" V; ?; u# E
/ `) s7 G& Y* s2 S: |6 e
+ }$ r( @$ S/ |& p9 S# h" w. B/*
# h, G# k( W' d * ======== Miscellaneous Configuration ========6 W- ]" A$ S, r9 Q" u) y
*/
" O' V- r: J& O4 k/ `, w( d* M/ P. V
! t' \) s i- u; E7 K/* set default diags mask */# ?' r. L7 m1 f, ?7 t: d( T2 V
var Diags = xdc.useModule('xdc.runtime.Diags');
$ w1 O* R9 C6 G. o" ]+ F4 I5 K( vvar Defaults = xdc.useModule('xdc.runtime.Defaults');
7 y% X6 k" A; F! o- \
0 v4 i' P3 j1 R: m1 aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% M+ J) p* y9 V+ g" e
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 ^1 G9 q% M" e: \, GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 u2 R5 E5 P: \2 |8 l8 v. `2 p8 PDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) ]% F8 `' V' x! G a
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ }! k: X3 {( W, {3 P
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 n( u& o# t# B( v5 L
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 s l5 V F8 L. A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- R0 t8 C) D" o5 v
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( B: Z! C, F" G- ]8 F/ XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ H. g1 @2 ?. [( y7 a" k* z' E) r' uDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 M' ^: K" X! f5 ]! {Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
, y' b% Y4 q7 [3 M }2 C1 qDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 U7 E5 [# d" s) BDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ S% k2 Y3 Q" A5 S" r$ ~
# [5 G$ ~" t2 z) a* l6 N7 N# V3 Y' r/ k/* override diags mask for selected modules *// \1 X( v: c5 U- t
xdc.useModule('xdc.runtime.Main');0 {) r) @, T& _! |9 S! A) S
Diags.setMaskMeta(
- t4 c7 d( `! m0 D" V "xdc.runtime.Main",
% C# d Y. V+ Y5 ^$ `$ @, R Diags.ENTRY | Diags.EXIT | Diags.INFO,
) i( f6 d! x# q% u Diags.RUNTIME_ON7 W' A; F/ H' d3 r, s
);1 j. a# L. j* X6 k
+ C+ ?0 B9 y( @
var Registry = xdc.useModule('xdc.runtime.Registry');
* F) C/ R2 G$ l9 G0 I9 z# TRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- _+ {. r: L4 d
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 O3 K/ c( H( W/ o0 T, LRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;0 N0 ]% j: ?) e- i6 b9 w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 B/ L6 R1 J+ {' P+ [# J4 U( ?# D% ^( X5 a$ V. K! s# w& a
/* create a logger instance */% G# m% h2 {% C* G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% l( X7 m) x6 d+ f
var loggerBufP = new LoggerBuf.Params();, e* D* @ a8 R, }3 R
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" Z0 R# o0 V6 R/ h& ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 m. B" N+ N9 ]) G
/ l6 N4 U1 ] h8 Xvar appLogger = LoggerBuf.create(loggerBufP);2 d# l- B$ p6 R+ p# N
appLogger.instance.name = "AppLog_Core1";$ a$ o" N( r6 V9 v: ^
Defaults.common$.logger = appLogger;! e. v8 V' ~/ t! ]; r
Memory.defaultHeapSize = 0x8192; : z6 a5 r7 J) Q- y) \. A
Idle.idleFxns[0] = "&LEDStatus";6 w/ K$ `; O2 R' G% r- Y
Cache.initSize.l2Size = Cache.L2Size_32K;
0 f8 ^% m" m% v* j! O; p7 E7 \6 D9 h: U* \
|
|