|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) h7 ?( U# K, H! P( d2 {
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 p8 M# }6 y$ v% Z. X; Z8 {) Q(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 r1 O) Y: G3 ~1 D3 L* c3 p% ?# O$ T9 S0 O* i2 t9 P# `
是不是需要在DSP.CFG中进行配置6 \ s* f8 L) N. D- f
我现在的配置为( t2 i( H) f9 v# U
* i! _; O7 h; H0 Z$ {4 F
/*
% d2 k9 i9 R$ [' r * ======== Operating System Configuration ========& m. {/ }# x& J e9 q4 Y
*/
# y7 S8 H' b1 o& P
! Y4 s9 y) {% p1 a% L/* no rts heap */
: l$ C# r" w) q: [) Q6 cProgram.heap = 0;4 U1 F) q* d+ g& O/ ^# R
Program.argSize = 100; /* minimum size */
, _: E2 {5 C6 ]/ yProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
{; z9 g9 M' S' h, V7 G. \
5 B N }; I# w* `& n7 z5 Y/* create a default heap */
9 ]2 ~9 R' j- E6 Y, p+ @% Y; f$ Hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 B" t2 \/ `. _: Z0 ]2 }" q
var heapMemParams = new HeapMem.Params();
! ]; g5 L9 G9 C) K; R. _; nheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 u: V2 v3 j( \) U- x+ g
" s5 k. r: D8 ?. K4 D5 {; a; Jvar Memory = xdc.useModule('xdc.runtime.Memory');
: l& ^9 C6 Y) o/ g, NMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
" C' ~+ a; U$ X# o# R- T/ d
3 U9 N1 `" f/ B5 N0 h/* configure System module */
/ D( Q1 q0 @( j n# y0 d; kvar SysMin = xdc.useModule('xdc.runtime.SysMin');7 l/ _! D5 W, E: u* X# `. F
SysMin.bufSize = 0x1000;
2 `& A$ R& O1 L! ~/ gSysMin.flushAtExit = false;
' e" u" F$ J+ }# D1 Q/ O M
9 Z2 C4 k5 e9 Bvar System = xdc.useModule('xdc.runtime.System');
6 b: w' O0 O; ?; ISystem.SupportProxy = SysMin;- ~: z# z/ {& J5 X3 R
% I3 j& c3 @9 N. O* ~% Q) @
/* configure SysBios to use the lower half of Timer 1 */9 E7 D6 t2 w- }; v
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" Q. r! p4 { F
var Clock = xdc.useModule('ti.sysbios.knl.Clock');- r3 w7 T9 [& Q" P$ A+ K' {' \. ]
Timer.timerSettings[1].master = true; c0 q: x# u' M/ C5 a8 ~
Timer.defaultHalf = Timer.Half_LOWER;
# J8 a W& f8 j* CClock.timerId = 1;
+ b, e& O$ _5 R0 z, `/ p6 |: ]8 f0 c% j& ?
3 Y" ]1 r) v$ O0 E! c* D4 l5 Q# F/*, G! g( O) ]$ U5 N9 Q
* ======== Miscellaneous Configuration ========! K) j9 g+ f; C$ _. L. }# R
*/
5 ^) x* N1 ` ~2 |& P; h$ a* }# ^8 W+ W! `3 x& V9 }6 t1 z
/* set default diags mask */
2 h/ t R) R+ |5 Fvar Diags = xdc.useModule('xdc.runtime.Diags');
E0 k, H5 W0 Vvar Defaults = xdc.useModule('xdc.runtime.Defaults');7 C1 G1 z, s- _3 v" c: t
^+ a- W# h* V! a
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: x/ p2 K9 e8 z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;* q5 ]# q- m1 O) ]9 y; F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
( S+ v5 d8 ], x/ h, TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( k _# r$ X, D* \- N- K. Z* b$ GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, C1 k5 @7 R1 P5 W# _% r, G1 oDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 b M: G9 B% ^Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 N# C7 C& F2 s( L- d7 T4 ^Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ [' @, i$ w0 f6 i7 o' O4 R5 T
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 P! l! d! a: y3 z9 ]Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ R9 }* e T8 Z/ C) aDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- P, {8 J+ r. \6 ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. z. K2 r5 @5 ]2 f3 R( O5 G4 U
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;" ^# v! ?: E! l T: l, }( c
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% W B) y ~/ c: @
; J3 c9 i! `( R, n% r
/* override diags mask for selected modules */
6 o* e3 q: D: yxdc.useModule('xdc.runtime.Main');
8 p1 _- n* h2 y& U( YDiags.setMaskMeta(
& c5 e/ u9 J: R6 L "xdc.runtime.Main",
6 I& ^( ^1 n0 a" B5 h Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 Y; C( s+ o2 s0 x, u2 J( _ Diags.RUNTIME_ON1 u5 } Q# T" t3 l! T
);5 S" f& V4 u6 q& Z! J, Z2 }' O
4 ?* j4 m9 M+ A( q- p. r
var Registry = xdc.useModule('xdc.runtime.Registry');
- X4 r$ }, J+ D4 y5 W+ b4 i, jRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! u! K$ [ q$ d# bRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- O7 y9 R2 E* W" R gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 V4 f9 c& ^3 h3 k" ^: aRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
% s" e! t; T2 e' F+ p7 w
1 h1 S$ o. m8 M, S' n/* create a logger instance */# E4 [3 e K1 C$ d* U1 [/ T! t
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 Z( o6 N' ^6 A5 J `9 H: h
var loggerBufP = new LoggerBuf.Params();
6 b$ ^$ d; _' k! gloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( d/ T# N- c# @' {; R, y3 ~8 w& A+ yloggerBufP.bufType = LoggerBuf.BufType_FIXED;
, N. ^( C. n* t3 A; m* L4 t4 t6 R2 g/ V. E
var appLogger = LoggerBuf.create(loggerBufP);
7 v9 z3 J. W* W* {! cappLogger.instance.name = "AppLog_Core1";
2 Q. J; F/ ?3 `) S- wDefaults.common$.logger = appLogger;; I7 p# ^& T; m! p J
Memory.defaultHeapSize = 0x8192; 7 n$ _% e, n. N! s
Idle.idleFxns[0] = "&LEDStatus";* U+ j6 L9 U$ X) e3 X' d
Cache.initSize.l2Size = Cache.L2Size_32K;+ f# A) ?" X/ B3 F9 v; k; U3 I( ^9 K3 ]- i
/ ~& t& d; ~4 _. H, J7 ?6 I$ z
|
|