|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: x" U2 ~" m; Y: @
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
1 \3 g3 O: _9 G; v) J(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- K. p" E9 o4 }; m) e9 _, y* N) L, D! Y* B& l( D
是不是需要在DSP.CFG中进行配置
$ c# [$ I( x+ U1 U% X& l& d我现在的配置为
8 _" K0 U* q8 g# [+ B
1 Z8 W5 u8 u8 j% _8 d/*" B5 g( E; s2 Z
* ======== Operating System Configuration ========
, W2 s, I+ D% [: e3 Y */( ~0 `" x" R9 P, M
$ `; @8 i- E$ ^: _/* no rts heap */
+ H" v# t- n0 _; A, o M1 t4 @Program.heap = 0;/ }" Q9 a) C% x+ M9 ?- \* g
Program.argSize = 100; /* minimum size */
" V0 {( P2 `3 tProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大" r' g- i3 {. `$ L
A# D8 f; _+ I, ?2 L& b
/* create a default heap */$ ?+ `: E& z3 P5 f O! J7 g6 _
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 n2 Q' Q+ n4 w2 h
var heapMemParams = new HeapMem.Params();
; {' ?4 r* w* Y( uheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
g# T" D' Y, a- P, O2 u, o- v
# ^. t8 c" H* Hvar Memory = xdc.useModule('xdc.runtime.Memory');
3 j5 G- N6 W1 q$ J; g7 xMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
! U5 z' @( I% s3 R* l- k9 G. B0 a, f" H2 m' ?: d1 |+ x" V+ Y
/* configure System module */
! @! b8 y! N+ X8 l) r- A8 vvar SysMin = xdc.useModule('xdc.runtime.SysMin');
7 R& D$ G; Y6 f r0 qSysMin.bufSize = 0x1000;
4 J, ]" f5 a0 u1 XSysMin.flushAtExit = false;
0 a7 \# U3 ~0 J1 s5 X% R, ?
* x( Q- g4 b4 W) t& l+ e9 a% q* gvar System = xdc.useModule('xdc.runtime.System');
( {0 \3 I. F5 P9 }4 |System.SupportProxy = SysMin;
' Q2 c: v& k4 O+ W4 b, h, D% t! {" ^) `7 E0 u/ v
/* configure SysBios to use the lower half of Timer 1 */
, _' n- D5 f) A/ n! w. G _var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 v& o6 e! j& b/ r! h; Y4 N0 Pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
2 e" T/ N/ Z, S5 c7 v VTimer.timerSettings[1].master = true;9 x6 B: R: P- }, [# ?! V/ Q4 R
Timer.defaultHalf = Timer.Half_LOWER;# l1 ?5 g& m# c& g
Clock.timerId = 1;
0 p4 ^3 j U; P' K! N7 r5 f$ m. m0 F8 M% j$ Y% U
! ^; d1 F0 S! O7 H3 V
/*: O+ X& A) `" w
* ======== Miscellaneous Configuration ========
9 X1 n8 w" }4 F f! }- Y */
+ o) X% Z% o" \( l! e0 V. ~( P7 [% V- \7 J
/* set default diags mask */
+ ]0 _1 E( R0 H# Uvar Diags = xdc.useModule('xdc.runtime.Diags');
, E# b# P+ _( c! p5 bvar Defaults = xdc.useModule('xdc.runtime.Defaults');8 X8 A! o" _7 }, P5 E& B. e
8 Z0 V S, ~7 A% Z/ ^# r. wDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, @0 D% m( O B4 d3 A: LDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 _' @+ `3 E% E# X; y& z( E
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 \( ?; @- P" v$ X; Y4 u' n1 hDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 B6 _% b$ I* {! N1 w( PDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 c& g3 G9 ^: v) L5 j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% C5 u2 H# s3 ~0 h9 S6 P' z1 Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, L6 t* f7 \. B) Y- g6 Q+ `8 r
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 p5 W( D. `/ X
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. [. a- r+ Z6 s, ?
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 K/ s; L, d) Z( U$ q! rDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- ~ t; J! c1 k. j9 @. f EDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& a* j5 h0 u- F2 M6 A: MDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( J3 _5 J% T- @& {Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 I9 m- h$ G; M% h. ^/ |& m$ K4 w
3 ]- w# C- f- } x" |" M/* override diags mask for selected modules */, t; G8 e% ?* }4 e* E1 [5 Z6 k* S
xdc.useModule('xdc.runtime.Main');
3 K; a# b+ h/ \- l: d) MDiags.setMaskMeta(
) a+ g' P3 ?/ F; v% r0 } "xdc.runtime.Main",
1 z+ H1 i+ n1 T. j1 g* Z3 H Diags.ENTRY | Diags.EXIT | Diags.INFO,! R0 S% V `7 g7 @8 E
Diags.RUNTIME_ON
& l. C' d6 G- f);1 y" N( g9 T2 n+ A
6 z w9 z1 G+ b0 [4 g- V2 m
var Registry = xdc.useModule('xdc.runtime.Registry');- G' ^9 c6 r V. k* V% ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ U+ |( Z" F+ n5 d# Y- n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" }/ M+ r" Q( a( SRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 H l6 Z0 g. \- A# fRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' F6 v+ W* p) e3 f, A0 g- S& Y
8 |! E+ r& Y8 d- a0 Y4 y: _# i, m! n/* create a logger instance */3 {. O. R7 |0 t
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
E9 Z" d$ k2 U8 G5 V% c& Ivar loggerBufP = new LoggerBuf.Params();
7 N% F* l: m) E$ t' W/ H# k1 KloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */ L) I' z0 _& g6 r0 |
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# d7 O {$ A; {0 ^ k
& f1 t" V) I# g" U* f
var appLogger = LoggerBuf.create(loggerBufP); M2 @, V& B* O* ]4 L7 z
appLogger.instance.name = "AppLog_Core1";( D9 t# z+ J5 e
Defaults.common$.logger = appLogger;
& J7 W* s. q) f6 k. {) fMemory.defaultHeapSize = 0x8192; " \, I; ]: C3 u! q* z% J9 ~ Z
Idle.idleFxns[0] = "&LEDStatus";
# b' ?! Z6 w3 Q% }Cache.initSize.l2Size = Cache.L2Size_32K;( _7 G5 c. j; h, Z1 h; O
% Z+ s4 R8 s" T, B$ L- L) c9 B( c |
|