|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ ?, m$ w8 y9 |/ `3 R4 o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 B. O. d/ u5 e3 K, J( p
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; J) q& W( q. G) o# M6 q
2 P8 K( \/ x% Z是不是需要在DSP.CFG中进行配置
8 ?+ `! ]$ N: S' M我现在的配置为' U7 z7 ?+ t& u
2 ^, R! P' _0 t/ J/*
5 e5 p% k4 u8 m, {1 B9 E1 Z7 U6 E * ======== Operating System Configuration ========8 N# Y, M' V& |9 {
*/' I$ }, R6 Y) o2 [5 v0 l
( Z* Q. {5 b7 f/ u+ S9 a
/* no rts heap */# P. q: c$ l8 ~& ^. M. P+ q9 E
Program.heap = 0;
/ l9 O u( I$ \2 @* CProgram.argSize = 100; /* minimum size */; f) r: U, t9 i* \" G+ @7 P
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: l' Q: P2 A% q U9 Q0 a' [
5 }1 m* J7 \( }! ?) i0 N( b/* create a default heap */+ |8 n A3 Z8 T
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 q: I/ k3 T% S$ N+ V# N
var heapMemParams = new HeapMem.Params();
, l# v2 u* Z- v1 FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' Y' V8 w3 Z1 a( o* e8 ^6 @' P9 \. S D& R0 v6 f: W
var Memory = xdc.useModule('xdc.runtime.Memory');
' d$ a. d. g: f z; pMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 L9 Z; A r' D8 S" N' L% v
) x e: p; X2 O9 \- ~+ z/* configure System module */
. a ~, o0 K; \ |- u) i4 ]var SysMin = xdc.useModule('xdc.runtime.SysMin');! S% O! F5 m& q
SysMin.bufSize = 0x1000;
2 S3 G8 X, |* h8 O5 }+ e' r1 \SysMin.flushAtExit = false;
3 @, P" P" I2 a* O- W* p. {/ I
var System = xdc.useModule('xdc.runtime.System');
! R& I5 M$ S) l# X4 zSystem.SupportProxy = SysMin;
4 ~# K) }$ p! E1 Z! D, t( x( U& M9 d$ D" A' [( X
/* configure SysBios to use the lower half of Timer 1 */, c* u! v5 s( p# y3 `- q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, B' y9 \. B- @2 z0 ^+ u
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
% [% [2 D1 e$ ^# K2 P$ z, vTimer.timerSettings[1].master = true;
0 F- D8 |0 M$ ?. d& iTimer.defaultHalf = Timer.Half_LOWER;/ x3 J" y) {3 Y- ~' `; O- R
Clock.timerId = 1;7 J4 ~& m0 o/ ~; o1 E1 `1 O
7 n/ q+ k1 [+ P8 Q: l+ ?" ?! s
3 E5 R. q; @( t9 ? X( ^
/*7 a. y q G2 d0 l1 M
* ======== Miscellaneous Configuration ========5 N( |" h0 y: E+ h/ {# c! E+ s
*/
8 g5 @) E9 | g) H4 C0 a
U H: p: G: u9 ^8 w! m3 `) i0 x/* set default diags mask */3 T$ }9 E( e5 r5 \2 r$ G
var Diags = xdc.useModule('xdc.runtime.Diags');7 q+ Q$ C) h3 S% [: d7 J% G+ Z! a+ v
var Defaults = xdc.useModule('xdc.runtime.Defaults');
T- Z: S4 T" K3 k' v p; ^
) U/ ?% k1 O- y! PDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ L6 i# ^4 j4 T8 m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, i `7 c4 C) V) dDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ g2 w' n5 T- X" BDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% Q! m. l. r) H) C5 P# H3 e# D
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* J f7 r# c8 M, j6 S3 ^
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 W6 e! K" C( ?
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ X& }" k! @# [. h$ d2 p9 t2 b! CDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ Z0 r8 q2 W2 V. ?
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 g" a- r0 q0 |4 |! F7 YDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% Y2 p/ U8 w- C
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 R- t9 L. N# k6 DDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ |- o$ f3 j: ` {* M
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ c# S7 m3 ]+ h$ V; p- X& G
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 a4 e* ^- A" H, {
F) A/ P8 ?. [" z5 @/* override diags mask for selected modules */6 z% g/ z% s- j! i% d; n, ]
xdc.useModule('xdc.runtime.Main');
0 }2 w. Z% O- c- R6 |. iDiags.setMaskMeta(
, P5 W" ]+ M6 ]; X/ x "xdc.runtime.Main",( c Q. ?" ?3 u( }
Diags.ENTRY | Diags.EXIT | Diags.INFO,1 c; \1 d% z; T0 \4 ~
Diags.RUNTIME_ON: V$ I$ N$ w( o
);
; X4 g4 F3 ^# Z6 E( {. Y" O& Z9 A8 w$ l2 p7 d
var Registry = xdc.useModule('xdc.runtime.Registry');
6 e9 Z2 i3 d$ C7 w2 }Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ |3 I9 V7 a/ H1 B
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ T; U) X" e: \7 m1 e' d
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 b' w( ~) [* N) G! L5 }( S/ jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;: Y& z8 P u; {. y4 j @1 K7 T
4 ^; Y- P' A4 f2 w/* create a logger instance */. Z/ f& s0 x8 j7 P5 m$ J% k
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');5 s* D& R& b8 n& @( U
var loggerBufP = new LoggerBuf.Params();
, m/ E- e5 l8 `- b, e2 {: YloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. w# A) ~6 @+ L8 j
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 C8 R, ~, s6 s( _ b2 ]0 l/ n2 C# A/ ~1 o
var appLogger = LoggerBuf.create(loggerBufP);
5 b" d+ n {5 Z5 R* TappLogger.instance.name = "AppLog_Core1";
) U9 c) }; Z, ~- f/ N0 I' nDefaults.common$.logger = appLogger;
9 j# }) S7 K5 K# P/ V3 w( e7 }Memory.defaultHeapSize = 0x8192;
" |* g' C+ T& K5 A9 Z' SIdle.idleFxns[0] = "&LEDStatus";9 e( c% E5 |' W% q r% F
Cache.initSize.l2Size = Cache.L2Size_32K;
0 d$ s- [* h0 f u; L+ s$ {$ q- V4 }3 w4 W' v% ~4 u" M
|
|