|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明# q; _( L, m& s7 Z+ J( \
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ G- S: Z8 P' l' n8 s, w. y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' l" y+ E9 D) j3 i% R( j4 m/ |
- T+ d1 C# @7 y8 K, C' g6 z$ D
是不是需要在DSP.CFG中进行配置8 ]' y( e8 s, U/ X0 P
我现在的配置为- R7 _$ d' x' z5 D
( n2 Z+ V6 O: |
/*. w: F( v, f1 G% s, |: \
* ======== Operating System Configuration ========. h' V- K0 @# G8 H
*/
7 ^8 a# |; q- b5 Y8 d& r8 T# N
$ a6 g# [0 W( |, {' H/* no rts heap */4 R& Q0 i/ D" m* J. X3 F, s
Program.heap = 0;5 c: D8 c# N n, _
Program.argSize = 100; /* minimum size */
7 Q7 h+ m( z, P4 FProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 V5 }8 _4 s8 M0 {, d! w
+ u# ?- i4 x3 ?4 w9 H/* create a default heap */
4 ^$ s4 B0 e) c7 cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( {$ ?; T" P' w5 j: V
var heapMemParams = new HeapMem.Params(); L8 @3 v: H0 o) G
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 }% \) x% c+ E+ h3 h2 k4 X2 g* }7 M Y7 o, C4 q
var Memory = xdc.useModule('xdc.runtime.Memory');
, g5 Q" @& ~, RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);% d& k Q* Z0 q) w' t1 M) n
( a: A7 i, `% o$ [7 e+ f+ d5 D$ m
/* configure System module */
7 p- |' J* d& M+ T- ~8 T( D; S. svar SysMin = xdc.useModule('xdc.runtime.SysMin');: h# t# K; b1 ~& L5 p& D
SysMin.bufSize = 0x1000;
" v! Y6 B% W6 B' _7 K; ESysMin.flushAtExit = false;+ i" P7 ~5 C' w
* m" ? j6 U: H }7 V% d9 Z0 j$ z
var System = xdc.useModule('xdc.runtime.System');' \4 g% u1 W0 Z
System.SupportProxy = SysMin;
Q3 @2 N: Y" P6 T
1 }7 f B5 [3 a3 F6 P) P* K/* configure SysBios to use the lower half of Timer 1 */. P6 M+ }* ~+ k$ n9 a( Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ A; q G/ X2 p7 D) j- ?* D
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
( P0 w+ p' D" g! I" H+ y0 r7 n: ATimer.timerSettings[1].master = true;
: |+ `, K% _0 u" `$ m7 |* a! GTimer.defaultHalf = Timer.Half_LOWER;9 d7 D" C' @( L+ G1 V
Clock.timerId = 1;
0 |1 E9 q$ r% M1 }
/ M$ H7 [; m0 K2 u1 t* r
$ G# D8 |( w( b4 f/*' d+ m# Q9 X$ f' R; n7 K/ T3 c
* ======== Miscellaneous Configuration ========- _+ E$ A( K" h! r/ @4 C' x5 f
*/
. J6 e# S0 j6 a, ?1 d9 o/ L- K; T) T' r( u0 ?7 G5 X
/* set default diags mask */ R+ {0 U9 f7 y0 t8 G a& m
var Diags = xdc.useModule('xdc.runtime.Diags');
! k! K2 A5 q. `2 J$ A( Qvar Defaults = xdc.useModule('xdc.runtime.Defaults');4 h4 l _" g. ]- L; ]& {: p, Z5 [
1 _/ w8 g% K* k* h2 aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 \) Q7 P# Y u5 A5 CDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ r* u( V+ Z K
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 ^1 A, r2 ~0 @( _
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 ?. D/ i9 C' S/ S' z! u; ~0 K# dDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" Y* D, L- V6 h0 n, ]& w
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# z5 {$ I1 ]0 vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 g9 q# b S bDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 a% E f+ V4 h. s; uDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% w# J5 _1 B7 H2 B: X0 {1 `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" R& F% }' p k0 ]0 Z) v0 v6 S. ODefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( D5 _# v* w: r, t: l6 V. m8 Z1 eDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 C( U2 D* g- a1 x O- u' ?% BDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ a# ]2 [ X# @
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
) K$ v s: T7 p2 ~
5 U" ~1 \; |) ~9 z, L1 |% }/* override diags mask for selected modules */2 }: r" W& z4 n
xdc.useModule('xdc.runtime.Main');
( T0 A9 D! f) JDiags.setMaskMeta(! J) H7 z, z1 D
"xdc.runtime.Main",
# _1 w* m3 l, f4 {% k2 o7 i Diags.ENTRY | Diags.EXIT | Diags.INFO,
, e7 ^- W! \) N6 n$ L/ Z/ O Diags.RUNTIME_ON
4 c& Y I8 @+ i. J0 O9 w. S5 b);! |2 h1 i) j. c1 s% x' q) o5 T. z
* i% M# L8 r) o6 _7 h: g; ?+ vvar Registry = xdc.useModule('xdc.runtime.Registry');
- d4 Y& ?" a9 Y8 ZRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- U, R5 ^) O/ f9 y1 aRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 u c6 B0 W. b, F/ x+ `
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 T; n0 a$ O' k3 z2 i9 c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. e5 V C6 S' |! L3 k% L$ A- A% r' d, e! e4 I
/* create a logger instance */
1 J* J9 B2 ~0 |8 u( C( svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& t4 ^% {+ K; w; `- A7 Qvar loggerBufP = new LoggerBuf.Params();
Y6 a) K7 v+ |* F' vloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, Y+ q$ c* b& ^loggerBufP.bufType = LoggerBuf.BufType_FIXED;; ^3 B {; E) I5 K5 v" P
8 L8 A6 Z. {# L# y% q# E. X' Z
var appLogger = LoggerBuf.create(loggerBufP);
1 F- Y! x( Z$ S; r& J9 W2 }& S* BappLogger.instance.name = "AppLog_Core1";- t& I" B9 I" K) @5 t
Defaults.common$.logger = appLogger;
+ a! L$ t0 C0 W. ]4 |8 sMemory.defaultHeapSize = 0x8192; " D( c9 S% b. b, P: |7 T$ D: J
Idle.idleFxns[0] = "&LEDStatus";& t4 e% b* j+ e3 Y+ N$ B
Cache.initSize.l2Size = Cache.L2Size_32K;
5 V6 M. ^; u9 G/ {" T4 j
: [7 M) O( r9 I# l' z1 N' }! m4 w |
|