|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) [- ^4 }$ W1 s2 j! ]- A
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; T$ p7 \! n: w2 H! W
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; ?7 Z2 x/ o5 \. a: y, Z. b
! }8 W h) A! C是不是需要在DSP.CFG中进行配置6 o3 Q. q" W4 C9 F, r
我现在的配置为$ Y+ ^, ]. r% f3 i7 F
K) l: Y* m9 b. `' K' l/*
' C. u! p1 K o5 T L6 B! Z% A * ======== Operating System Configuration ========
+ m0 [" |; B7 @) u+ t( ? */
, C7 Z, i/ ?1 j4 Y- ~$ V$ F+ ~3 B% T, ]1 P
/* no rts heap */
* R& ~6 I% T& }+ H" ~- Z0 p4 eProgram.heap = 0;. ?6 D1 N2 s+ Y& d
Program.argSize = 100; /* minimum size */+ `7 [( C- z$ r
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 F* \) x/ ^/ K% g7 M: X
3 N, c5 [' Z$ z4 o* c! p/* create a default heap */" f( k0 j( n/ y* i- P7 G6 D
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( Q) p0 F' B, Zvar heapMemParams = new HeapMem.Params();
2 }# Y, H$ o3 u% |# wheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ h' Y- I$ y S a2 U2 R1 j( h
) a2 H3 U* g& v6 K
var Memory = xdc.useModule('xdc.runtime.Memory');
' P7 o2 X p5 z8 ~4 A% B' r9 g5 KMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
: C2 z6 [- | ?/ T" v7 A0 a( u G
/* configure System module */
5 }8 o) Q( f) r% |# r* [var SysMin = xdc.useModule('xdc.runtime.SysMin');
: r( D7 W) x& zSysMin.bufSize = 0x1000;
* H4 f8 W _5 [) B- a# MSysMin.flushAtExit = false;+ u ?, u7 m4 L! f% Q
9 H- I( d; F4 t' O$ qvar System = xdc.useModule('xdc.runtime.System');4 Y3 [8 [# n8 o. p0 o, Y4 j) F- }
System.SupportProxy = SysMin;- |! B5 h4 j. ~# M' o3 W
: _( @1 ?* F' @6 \9 R
/* configure SysBios to use the lower half of Timer 1 */
' c; W7 I- ]* C: ^5 r* O9 Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, a$ w- T' a U4 a
var Clock = xdc.useModule('ti.sysbios.knl.Clock');& J' w) \/ r& g
Timer.timerSettings[1].master = true;
2 ^: B" [7 S5 ]4 X; k P$ zTimer.defaultHalf = Timer.Half_LOWER; w9 |$ M" ]1 ?8 w( c8 R9 Z
Clock.timerId = 1;& @" u v5 q7 ^# E
* T! _. d% Z3 ]6 G6 U
0 p5 q" I- @; T3 E! g h/*
' n$ I% _3 b( ^4 n * ======== Miscellaneous Configuration ========
& z9 z+ H2 a- p1 p S5 d7 ^0 w */4 ?' t) h% L5 P, ?- x. e! m; r3 ^% ~
4 N0 r7 b3 d! z* Q$ G
/* set default diags mask */5 ?& |4 t0 N& j: t
var Diags = xdc.useModule('xdc.runtime.Diags');
6 G; r4 i0 t1 r$ D6 q- k# wvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 |+ m: }) \$ j% N" r0 y( F( q% J. R7 M b J! e% w9 U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
u# _# K; W' o: u) b0 J4 eDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 W, x. |& ]/ b' f0 zDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; u9 u) n& L8 f" `" z& i
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 W$ H* v4 Y8 C/ Z& K2 N I' EDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 C& u! d8 N2 [' g/ t$ O
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# R' ?9 K2 a* T8 Q9 A8 ?8 d: PDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. N$ a' H, j6 h5 y8 ?. aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 W( N$ V% ?0 ?( r1 d. C0 Z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# a8 b* Q; b2 `, R# Q* KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 O: w) ]: Q, U" O8 X
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ Z- _+ p4 K; \0 v& b* Z+ K: p
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 @' [- Y7 A" G) B7 M i' w' ]
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;, Z- p8 t! [* ?
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 w; }$ h2 H) u
5 c* y- y6 A5 d9 _9 {. l2 D" v5 l
/* override diags mask for selected modules *// V, L7 Z2 ~7 s" n$ E
xdc.useModule('xdc.runtime.Main');
+ g1 i4 `; I2 O$ ~* KDiags.setMaskMeta(/ s; M: U; |, p* O
"xdc.runtime.Main",
- v' x# b$ _1 ?( C/ F2 i Diags.ENTRY | Diags.EXIT | Diags.INFO,( ^* c6 [( a5 d; ^. C
Diags.RUNTIME_ON
- q- B$ e* @% a \: a);
* N2 K; N9 L9 V! u' ^6 \3 P; S) {# u1 K7 V+ o4 T7 }
var Registry = xdc.useModule('xdc.runtime.Registry');; g) e4 P# ~& P; _2 ~& ~
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 |, t+ t c6 p6 ?
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ g5 b8 t8 R! I) v0 y/ aRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;( e2 m3 z _) M" M1 W% `5 ?* w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 f, A. E7 a/ ]7 h0 P
! d" C4 W& x4 C3 K4 q% R
/* create a logger instance */
8 L+ g. M- V3 N1 s" pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 S3 I- ?- z9 Dvar loggerBufP = new LoggerBuf.Params();& ]2 K8 o; D) g
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */9 S( I1 R2 ~; q+ d
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 E& i: z' M" }, B. w
" C% q2 u- S8 Y3 tvar appLogger = LoggerBuf.create(loggerBufP);
% M( {9 J: I' @5 ^! ^4 @# bappLogger.instance.name = "AppLog_Core1";
4 {" p4 @1 O) ~9 o/ x4 ]* J+ R) \% kDefaults.common$.logger = appLogger;7 X: P" F' @/ S, k8 T
Memory.defaultHeapSize = 0x8192; " r. s# y: R% W, Z' H* j8 o0 j
Idle.idleFxns[0] = "&LEDStatus";: m: g2 m: H7 v) i% @$ ?
Cache.initSize.l2Size = Cache.L2Size_32K;/ C P7 w. B9 }! S9 N
! Y( D: T& M0 j/ ?
|
|