|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 v# W5 C) H. o7 P7 S
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ [9 F Q/ @ q8 n
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 D# e A- ]0 a
0 ?. ?; ?$ s$ C& v
是不是需要在DSP.CFG中进行配置
- l/ @3 }, K T& G, i1 w F/ n7 M我现在的配置为
) S- y# ? `4 _1 S. X. U% W8 ]0 f8 ]6 i4 v
/*0 e. ^# b4 _* c" i0 i
* ======== Operating System Configuration ========
[/ Z& {( e7 _4 M: j: i */; M$ K' |6 O: L" X
! |* Q) n2 x D5 l
/* no rts heap */7 D+ A' T+ M" H; h. {/ r8 [
Program.heap = 0;
9 S: }; n x5 B/ }4 I. e( CProgram.argSize = 100; /* minimum size */
' n0 q/ M( {+ r) l. nProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- x9 L! m; j: T: ?9 w/ P3 Z/ X( J: u- }( ]# _$ h2 M
/* create a default heap */
5 d- N: j. I3 h7 Z2 d5 _& Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
! D* H& X9 _9 V" ]var heapMemParams = new HeapMem.Params();
/ F! C1 D' k% M. H- Z2 |# vheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; M ?0 B# u9 K) u
* P/ D' W1 b K% v6 {3 e3 i
var Memory = xdc.useModule('xdc.runtime.Memory');
% e0 B# D" m* C, X3 lMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
- @# e$ ^# S9 P& S" L& b D9 @# z! J, _+ B- ~% \. E" A7 M5 |/ [
/* configure System module */
" o) A/ Z, ?. tvar SysMin = xdc.useModule('xdc.runtime.SysMin');
! c0 B0 p6 C. [SysMin.bufSize = 0x1000;
$ f" i2 g/ L1 s) |0 x0 wSysMin.flushAtExit = false; O' j8 G g3 R4 \1 w/ `
- p3 R' D, R0 l9 ~9 C- X% w0 l* F+ evar System = xdc.useModule('xdc.runtime.System');; W& a k% j% L, J
System.SupportProxy = SysMin;
, O) F x# F" b" e t
* @/ \4 P6 u! Z# P; E7 d2 p" f/* configure SysBios to use the lower half of Timer 1 */
$ r& C( w: O! y5 v% |var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* h+ Y6 n) B+ |) ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ T# k8 U1 M' V, P5 ^Timer.timerSettings[1].master = true;
" }, {0 R7 I0 r0 TTimer.defaultHalf = Timer.Half_LOWER;! t, Z; Z( M+ r
Clock.timerId = 1;
. h, M! `! h% j: `; U+ ]% ?
# [+ L! G3 t' Y" z- c* ?3 U0 `. k
3 i$ [$ E* l4 F1 a7 ?/*4 N, t+ B4 p/ {0 r6 m$ Z
* ======== Miscellaneous Configuration ========- C. Y) V; t7 w3 z
*/
# v" n `2 c Y, d+ Y# S; L; `' N$ X5 V
/* set default diags mask */* k" f" J2 U3 a$ Z1 ^- O: }, Z
var Diags = xdc.useModule('xdc.runtime.Diags');( N# E' [: t! |( q
var Defaults = xdc.useModule('xdc.runtime.Defaults');, T1 t( W/ F4 H3 ~' w% h. z
) a2 b4 X1 M6 G r: eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 }& l3 M/ J; v: s, jDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) L7 i+ v+ P# e& q3 c3 m ^: iDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# t6 N4 u, }" h: I) w4 |. a$ U
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, z# {" N5 @1 F' Y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 W) k! C6 C' t
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;# n* V: J" E3 W+ m9 v* D; Y' N
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, t s3 m2 z1 R" b- {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! w$ Q" {% F# }% EDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# \9 ^8 y) f4 h. \' ^# R
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
l# m! E5 q* @Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;6 f- P# U9 V, h) K
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! E! J; E- L$ J% I3 y4 e
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 I; B; _5 I8 \$ V1 h/ r2 t$ s% g
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ V# z. f7 q- f! r3 _
$ \) K1 W0 q' z3 w/ v" q% z/* override diags mask for selected modules */
0 @$ a5 h. K( d: L* G# n6 Qxdc.useModule('xdc.runtime.Main');
) U% j) M0 U+ q- S( ~Diags.setMaskMeta(9 v& f% S! ~ @0 j; {
"xdc.runtime.Main",
' H) I) w7 L9 J) B Diags.ENTRY | Diags.EXIT | Diags.INFO,* d/ X0 w3 y3 U& j `+ _
Diags.RUNTIME_ON
* K2 r# _6 J' C);7 h0 m0 r4 u9 ~9 H! A
/ L6 k9 _: |/ T4 G+ B: q- O
var Registry = xdc.useModule('xdc.runtime.Registry');
( ]+ c# j6 l, p5 a* }) d8 A2 `* a% D8 tRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 o4 H$ X7 M5 t* h6 R& m4 R
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 V( H8 V0 K4 w5 o1 y* U. T$ cRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;6 d1 G6 B+ s7 q( U! V
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
% ^. w* K D; | _. m9 t/ L5 ~1 U6 {% J) `( v; u% {
/* create a logger instance */
$ u8 o2 a5 }9 |6 k) I" K9 p, tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' a+ f, [( ]! U' A$ D7 {( C
var loggerBufP = new LoggerBuf.Params();
3 ^1 ]( b( O1 L" n/ }; aloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" ?; k; Q2 z& t6 i. @loggerBufP.bufType = LoggerBuf.BufType_FIXED;
n: C# Z+ [0 L+ b7 ]+ J) f
* {0 C3 N: I) w4 fvar appLogger = LoggerBuf.create(loggerBufP);4 L/ k+ {* k( t- e' T y2 J1 M7 Q
appLogger.instance.name = "AppLog_Core1";2 n% _4 ?. V( l8 A# R
Defaults.common$.logger = appLogger; Y5 G% B4 ^4 ?% @+ v6 j; m# x
Memory.defaultHeapSize = 0x8192;
1 a5 A2 g- w$ ZIdle.idleFxns[0] = "&LEDStatus";0 w, D4 F' Z/ q% t- f
Cache.initSize.l2Size = Cache.L2Size_32K;) |* [2 u3 S B; c# C' d7 Z/ g
9 i2 K. ]0 y% Q3 ], s. U |
|