|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明# i+ x* ~6 |% t* ?% N/ n7 {
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. o$ P% t) F9 @, ?(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, O. a: P/ O: J' [% R: q3 l. Q! Y. t. p* A6 U' M: u- o
是不是需要在DSP.CFG中进行配置
0 g) F/ e, a9 B& c我现在的配置为
5 \/ o+ f, _) x4 H- q
- s2 k l+ ^# N! W* E! w/*
7 g& X0 _! ^* A: e5 [. l * ======== Operating System Configuration ========
; S" z3 H5 A& p' E/ j' Y* \ */) N4 n L& Q; I) @) p
4 k: B. m) l5 o% }/* no rts heap */( }3 `* l3 Y4 X) W( ?+ a1 k0 v3 `( Z3 z
Program.heap = 0;! H6 k3 M8 D: @% A1 O1 M+ b
Program.argSize = 100; /* minimum size */) V1 G" x% R0 a+ V& u* w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大2 g( y4 C8 V/ Z: |) U
( e5 C1 L- w' y( o
/* create a default heap */
* A% j: @" I1 `* U2 A$ B1 J1 Hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 k1 i2 f; k% c9 z( y5 x
var heapMemParams = new HeapMem.Params();. E Y! {# }9 e* d- s. V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; G* _3 G, A& q
3 [0 ~- Q$ d1 K1 T# S D
var Memory = xdc.useModule('xdc.runtime.Memory');/ N0 `. c" ~9 _& w
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! x/ n% o) O- E, X N, F4 y
0 z- f' `8 U2 z" {! J# _1 \6 H
/* configure System module */
! D7 @$ L' V) ?var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 Q7 l) n7 E: d& G% PSysMin.bufSize = 0x1000;
3 L4 D9 \+ ~4 C7 JSysMin.flushAtExit = false;* O* k4 n8 s% ~" k7 }9 b, [3 X
2 {$ d; |7 y/ f1 e( yvar System = xdc.useModule('xdc.runtime.System');
$ E5 D* A+ v D4 Z3 Y0 MSystem.SupportProxy = SysMin;
& x ~$ z) h3 l! f$ C/ O" ?9 u# D4 K$ U
/* configure SysBios to use the lower half of Timer 1 */+ I4 {5 q: a' L1 w( l8 q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: O7 {) K) m; {# e! ]var Clock = xdc.useModule('ti.sysbios.knl.Clock');+ F& Q! t9 e, }5 Q* o, {
Timer.timerSettings[1].master = true;& {: U. P$ K8 S5 S7 \: V* g
Timer.defaultHalf = Timer.Half_LOWER;
: j, E8 V" L! F6 bClock.timerId = 1;8 q! U8 @! Q$ c6 A8 k2 F
& B: V( ^( C# L: }( T; r9 k0 O% C, d! Y
# Z9 U# v2 y. C- o/ W' @. W/*
8 i4 X7 u( i% D1 \) b v% N * ======== Miscellaneous Configuration ========
) ?! b) }: L" U */3 t+ D4 x( x& ?7 P+ Q1 t
$ p- D6 n, o* f0 \5 Q/* set default diags mask *// l3 J: \% L1 _$ |
var Diags = xdc.useModule('xdc.runtime.Diags');) {8 E1 j/ {8 _5 S
var Defaults = xdc.useModule('xdc.runtime.Defaults');8 j. O( h# w- p' I. i/ B7 G
$ q o; |! k; |8 \5 j& l' UDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ H3 x( U; j! R: ?Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& m, ~; B* Z7 c6 Z2 \) rDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
w, z6 X p. X3 ]' n1 }. ADefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 N2 \) K, S I; L% z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 s% ?/ _& h" z# i1 q$ o7 zDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 |0 w% b- r1 l. c5 W
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 M/ A! D8 N0 l( C5 k' {3 I2 G0 R/ s; X3 \
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; y1 s1 a% I; nDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- R/ x4 }& f6 }8 n z/ U, C+ k
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 z1 j0 s* ~, |' D9 B$ A- V2 TDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 ~$ q0 j0 `! q: x, F2 ]9 aDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 a$ g) t1 Z; z7 ]
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 f4 m# Y5 Q+ K" f" \. P
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 k1 q; ]) }' Q( A2 d8 O' T* O. U, v: n
/* override diags mask for selected modules */
; e9 e6 ~2 K3 k' _xdc.useModule('xdc.runtime.Main');3 ?, [ W' L3 |( e* F& A
Diags.setMaskMeta(1 R6 Y4 J% z# H% s# e
"xdc.runtime.Main"," |1 D; B4 q z
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% H7 s, z8 z2 [. b, ~ Diags.RUNTIME_ON- _5 H) H3 p3 ?+ O& x( ^4 q
);) R) R& ]9 c) B* b- K! j$ [
9 L9 z* n! s+ \% G9 v
var Registry = xdc.useModule('xdc.runtime.Registry');) `/ k7 m2 E) N* M& q: @1 ]1 ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 }. G" @' y$ X# x, p- A# ]Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 t2 W7 x! b/ L8 _7 X
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: O- V% P" [$ s" u0 RRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- u. G7 A1 j$ i! v( n7 f4 w
! Q3 F, W h, c, p+ b" a, z' q/* create a logger instance */
; d- @5 w J+ i( f Cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ K% U; _4 ~8 [
var loggerBufP = new LoggerBuf.Params();
; C# |' ^( H# G3 H7 X# iloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
`; ~3 Q* ` U1 H j2 x* hloggerBufP.bufType = LoggerBuf.BufType_FIXED;7 ?5 N3 ?! A9 ?$ B2 j
/ L# B& E5 |" |3 }% U2 Jvar appLogger = LoggerBuf.create(loggerBufP);) m2 e+ w, [0 E7 Z0 n% L: } x
appLogger.instance.name = "AppLog_Core1";
P) T* }. Y* c& [+ i" N; uDefaults.common$.logger = appLogger;
* ]- V. X0 {' x2 bMemory.defaultHeapSize = 0x8192;
; y0 K6 J4 @. Q# d5 K- v$ F* lIdle.idleFxns[0] = "&LEDStatus";
& i! U. i0 _, r& `Cache.initSize.l2Size = Cache.L2Size_32K;
. W6 I P, _$ ]& L
. v/ y5 B: ^$ r, ^: c$ r |
|