|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% x4 D+ ]4 [0 r我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% r* [' I# {/ N4 h
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ y! s0 u: G- I/ X. {0 }$ {/ F) h9 r9 y
是不是需要在DSP.CFG中进行配置+ g) X" S1 n. P
我现在的配置为
7 F6 o. _( Q. o0 O1 P I) |
5 d E( ?6 T: Q) C+ H$ E. ~/*9 i$ X9 B; D9 T! ]; g
* ======== Operating System Configuration ========. q' }. a' I6 N1 N/ |
*/
8 A0 i; ~" @1 w* X4 R, S K1 [: M% c8 |$ {2 Z/ {
/* no rts heap */
7 B5 g, A8 s8 gProgram.heap = 0;
7 J% z& K# h& O. ?+ k r$ ?/ WProgram.argSize = 100; /* minimum size */
1 N9 r! k" [, J: H, n9 O$ rProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 C: b! f' E, G4 P U" G, i: C8 d* [- C7 S; u/ L
/* create a default heap */
1 i u8 V( r4 Q9 e' Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. Q2 s; {) o. I6 g7 j- S+ {6 e9 Lvar heapMemParams = new HeapMem.Params();
& p+ ^+ O4 } F! iheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 l1 `/ ]' t8 r7 \/ G2 Z4 S' I2 i5 g; r( M5 d3 ^8 n
var Memory = xdc.useModule('xdc.runtime.Memory');3 |" W# @, B Y+ i2 s
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);7 L1 `, ^, f+ P. i: i% {2 d
& G6 K+ l& i% F) o/* configure System module *// B% A* z: M% U* a7 Q& ?
var SysMin = xdc.useModule('xdc.runtime.SysMin');
- n4 ?/ c0 }) s( {! G; \) LSysMin.bufSize = 0x1000;; {; Q, m/ f' }+ h$ V* Z; n
SysMin.flushAtExit = false;$ W2 W3 l: I' ]( i v
' O" M$ o0 y' o8 J
var System = xdc.useModule('xdc.runtime.System');
0 U0 d3 n8 N5 i; Q+ CSystem.SupportProxy = SysMin;
" A3 C: |6 b8 t: l+ G* l9 g ^; N
/* configure SysBios to use the lower half of Timer 1 */5 N7 T9 @! o6 \0 T9 T! w
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) b% F6 u- s1 n% N2 }8 `# k
var Clock = xdc.useModule('ti.sysbios.knl.Clock');& ]8 r# C2 b+ e
Timer.timerSettings[1].master = true;
$ `: b y% H$ X G% VTimer.defaultHalf = Timer.Half_LOWER;2 B) o Y6 S! i0 D' j) x: F
Clock.timerId = 1;9 C: w$ Y) H7 J- g
( a; r$ X0 u; z$ l% Z+ j) _/ t$ `5 R4 N( i. g" q
/*
6 p+ Q1 r# J* a( i8 x: B * ======== Miscellaneous Configuration ========, M3 j `. w7 S5 h1 V
*/, Z% X3 t6 p. z( \2 I4 |3 c
5 r" _' @4 T5 c H! i# ~, ]( v/* set default diags mask */
$ @3 {$ r% w8 c7 b8 Rvar Diags = xdc.useModule('xdc.runtime.Diags');$ W; z+ \8 R5 B& D: U
var Defaults = xdc.useModule('xdc.runtime.Defaults');8 K* E& `2 c4 ^( i; G
& z8 f+ P ]0 B: vDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 ^- A0 V; Q4 N& I8 M) r$ q, lDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 R# ~" l4 s1 a' ]7 o* z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: d R9 M7 g3 a& M5 Y K) v6 H# aDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 `) E7 Y# B' Q3 B2 VDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
. S# w6 a, Y. s0 y) h5 A3 p# sDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 {2 i" `' c: m" _( q2 H
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# s) R! p5 ?9 T
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 x& R2 p9 u# X& {# e! Y, \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- d4 K6 j) ~: B" \
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: r4 K3 o4 Z { PDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, u. F3 ?) h6 t1 F' h
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 \5 r) g; t6 n0 t- G9 zDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 ?+ V# j& ^" z8 v
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
{/ G1 j. B5 h2 d% t. T3 B* A* e& p! }! G) d! D3 e7 l
/* override diags mask for selected modules */# _/ G; M* C+ Y# M3 s6 N
xdc.useModule('xdc.runtime.Main');- t3 \2 S/ k u$ ~0 W
Diags.setMaskMeta(( w. R) r7 x& q" Q0 M5 n5 r
"xdc.runtime.Main",7 \) c% w" \: O6 u' R
Diags.ENTRY | Diags.EXIT | Diags.INFO,
( [4 P: ^7 P* C1 M5 D Diags.RUNTIME_ON
* X; {& |+ C' q1 M+ G7 i1 G% e% ~" |* r& p5 B);. m W! o) R3 U( g
* j4 _' D* ^4 N7 y9 J, [5 Uvar Registry = xdc.useModule('xdc.runtime.Registry');! [1 d7 R7 ~/ O2 `' j! D v6 r
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% I! F, Y( N% [# kRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 h6 o1 e! e4 t* C: i5 `( o- v" x* WRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. |+ U1 C0 q3 J3 c9 k/ t8 cRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 z7 p& e* [8 |% Y6 |
$ O$ ?1 F6 b9 r8 m) |5 U. v/* create a logger instance */, y. o. k( b/ w# F, C9 \
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');6 P9 L& |+ V* |/ W
var loggerBufP = new LoggerBuf.Params();$ s" ^- h) @; c# |) o9 u
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 W3 v, {6 D0 `, r; I
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. r: @3 Z! T6 i- g; M) c/ X
# |, J6 M$ g& v% {var appLogger = LoggerBuf.create(loggerBufP);
2 v7 P+ k: r' K1 m/ d5 a* uappLogger.instance.name = "AppLog_Core1";1 x3 _3 N; a% q8 ~# V ~- T
Defaults.common$.logger = appLogger;
, t( }4 b; Q+ jMemory.defaultHeapSize = 0x8192;
* F4 W. X3 X. H V HIdle.idleFxns[0] = "&LEDStatus";! M/ _9 V# J" s9 J, V
Cache.initSize.l2Size = Cache.L2Size_32K;' Q: Q' Q% y# f
J* w3 q) H' c! Y5 C6 O3 G
|
|