|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 b0 y" v- q- ? v: W
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* Y8 h4 G$ e; T4 u& \" F/ p9 h
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' t4 ~5 s( t! l3 v5 M
1 K! @2 o1 A8 I1 T6 f8 b( v& }2 e是不是需要在DSP.CFG中进行配置0 r" d- j e5 `! C% z0 W
我现在的配置为# n, X. I( n5 K1 g- n
& Z/ I. U5 E9 O+ i* B: g( Q
/*# ^7 h* J6 G. D( O! D' {4 X2 ^
* ======== Operating System Configuration ========; F. e; Y0 Z4 R: W5 e5 A' j) D
*/
$ s5 d; j, r- t) m6 n% c" d: ^3 w" d2 n. k- `# T
/* no rts heap */, _- C% u% Z; {& Z! u1 o
Program.heap = 0;* u6 E6 O2 X* S8 W9 T! h" c7 h
Program.argSize = 100; /* minimum size */
- C; h1 L/ i& z9 ?% k7 m/ [. CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大& M/ J; V; t5 P& S9 J. g
7 A5 o* C3 y9 ?4 U. o4 l
/* create a default heap */; [% @. f- C/ d3 a0 T' p
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; [2 b$ Q5 A& d I$ O
var heapMemParams = new HeapMem.Params();/ h, {: ^9 n# [6 e9 J1 b: D$ p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
( Q4 {1 G! D) g5 V4 h$ J$ u! j8 o# y m" @
var Memory = xdc.useModule('xdc.runtime.Memory');
* k: @( S5 b7 G* Q6 e4 n6 RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 R9 w( X: g( ], e6 y' i8 {/ V7 @# r& U: L
/* configure System module */
! z3 W% r0 x2 K. L; b. U, t, Dvar SysMin = xdc.useModule('xdc.runtime.SysMin');
- Y$ h4 v8 @8 _; NSysMin.bufSize = 0x1000;* B8 K, Q- g# ^1 n# I6 e' `) W
SysMin.flushAtExit = false;4 ^/ R1 X: Q) A0 V8 [+ P# I7 ?9 q7 T9 Y ?
1 U+ N+ V0 S! z4 E8 H% `var System = xdc.useModule('xdc.runtime.System');
1 @! S5 a! Q9 b0 l8 E% nSystem.SupportProxy = SysMin;. g! y* x( G5 U; Q& w- A4 Y: \. ], C
J+ L3 ~2 W2 L' u. o/* configure SysBios to use the lower half of Timer 1 */, l) q+ i8 g" Q, W+ n' d6 Q& i- h
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. A0 f7 f6 v' ?7 y! bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 I8 v" ]6 y. f4 E8 o, p1 CTimer.timerSettings[1].master = true;4 i G; p0 }" ` b* t
Timer.defaultHalf = Timer.Half_LOWER;6 q" [0 `: @5 z X. g! g0 {( s
Clock.timerId = 1;
" A; Z \% v. z: m( c
$ w2 t; b4 S9 ?' o8 F7 z# k, S0 p% n3 z* H6 X1 a7 ?
/*
( l6 n9 w: u( j * ======== Miscellaneous Configuration ========# a' M: \0 K' r8 R( @: n
*/
5 u4 V g: v& }) M8 J+ F4 M4 m7 e% L1 R; W4 T9 u* p
/* set default diags mask */& a0 M6 C4 d6 m, w4 |
var Diags = xdc.useModule('xdc.runtime.Diags');
' G% q9 O3 \ N( L9 C8 _var Defaults = xdc.useModule('xdc.runtime.Defaults');( }2 N2 n6 W0 [, H
' j- R. ~2 @" s9 y$ r: |3 [! F
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ k$ ?7 O7 x' p1 v( Z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( n" j( L9 y. D" R: t& \8 ODefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ h5 w% J0 W$ `* X; e' `: l
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 `! U+ T. p, j# _7 z$ XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 L4 N: p4 v0 A6 J* q# _) t& l
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ d- \6 B* e' O. {) E `8 E+ q8 N
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' L+ c, J/ I5 v$ L6 l* D
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 f4 F' d$ g2 iDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ L+ b. Z u# d0 ^
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, F' t* D* V6 }' ?1 s* x" \
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 w0 A9 }% ?8 Z/ i E" F
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& ?( `) s! _& H0 w* a
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; J0 `3 G; i6 f4 Y* HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, V3 k7 T$ T2 Z9 X1 o b* s
- D, `( L4 U8 }* r/* override diags mask for selected modules */# \8 j( ^( k/ F
xdc.useModule('xdc.runtime.Main');
3 w# x/ ]" T0 j) n- D/ xDiags.setMaskMeta(
7 x' Y2 ~. s9 e/ [: g5 X "xdc.runtime.Main",
5 @% U, \# t8 s& n7 ^ Diags.ENTRY | Diags.EXIT | Diags.INFO,+ ]* o7 I6 N" Q- W5 D6 S. R, R' d: L1 ?
Diags.RUNTIME_ON
8 C& I5 A A4 K, F4 y- h. n8 w+ x);
9 [; o3 I0 @! U
2 ] x* \; u0 _; r! x" @var Registry = xdc.useModule('xdc.runtime.Registry');
T8 J4 x {" ^Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# J4 g- R3 X/ r. M/ `Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
M6 u% @) v ], A4 f" D- ^+ m$ WRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 s/ k" y; E6 c! Z, t* y' X* dRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 s' F( I+ X( i+ o
- x9 `( d- p$ k' p
/* create a logger instance */4 t; y @( j2 N) Y" O8 c1 x1 z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# h" b5 E4 L& G! p0 O4 T
var loggerBufP = new LoggerBuf.Params();
7 y( m$ V' U9 ~3 s6 t" xloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ B9 g. K/ q+ F8 h: ~& T" |( l
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( c( W( \% `5 c# X7 u/ z" T' {) t, ?! v! ]
var appLogger = LoggerBuf.create(loggerBufP);
6 |9 L* g1 J# s& JappLogger.instance.name = "AppLog_Core1";
M3 _) B; b9 F) eDefaults.common$.logger = appLogger;$ p3 E6 \, Z4 V0 I# t- |
Memory.defaultHeapSize = 0x8192;
( D3 q' L) H' V, z+ |/ MIdle.idleFxns[0] = "&LEDStatus";/ p2 b2 {; S1 l- L
Cache.initSize.l2Size = Cache.L2Size_32K;
$ V m1 w" r5 `* H) f9 q( e% R% K$ L; z$ a$ [
|
|