|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ s6 [7 a. o- T- D- G$ E3 v我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" W) X/ Q: D9 r9 f# P* g& z2 r1 }
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 C* f2 g- ~- c# _0 m1 R) s
6 S) S! M8 l: j$ z
是不是需要在DSP.CFG中进行配置
% Q- m! j8 W4 ?; @. ?2 v7 r我现在的配置为; M) }/ z* i4 S' [
" R& I# Y# p) F. ?
/*, m$ I4 j( x" B Y: I b
* ======== Operating System Configuration ========2 Y1 k7 x$ a7 M/ Z& X/ g/ v
*/% m$ c2 o1 X! H1 r5 I: {/ B8 N
& d8 Z. B, @2 ^. {3 |/* no rts heap */6 m" L7 e# s3 N# u9 I$ ~
Program.heap = 0;% W/ m4 h' `+ P9 K, v
Program.argSize = 100; /* minimum size */
* b# _4 A7 `* w( M. O3 q& zProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大) }; D" v) v7 |/ W
9 M2 a4 b- m6 [9 h( I
/* create a default heap */+ L. p& K! H5 S* `" J$ B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 s" P* e/ Y& c) T n/ hvar heapMemParams = new HeapMem.Params();
) f' A# F8 I. C8 dheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 t; P d* v$ i7 x* r
, _( x9 @) J' Rvar Memory = xdc.useModule('xdc.runtime.Memory');# I) ?1 Z6 M9 _' t1 E
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
) a3 ?5 R, u- I' h( u: I5 E4 E3 m
( |) S/ j, N% a9 P5 d+ N- B/* configure System module */+ C2 }/ R# g/ r2 F" a' D! J
var SysMin = xdc.useModule('xdc.runtime.SysMin');: `! C+ t4 T) V' ?7 ^
SysMin.bufSize = 0x1000;2 g: Q8 _1 y; n, ]& W$ V7 y0 C
SysMin.flushAtExit = false;6 Y9 Q' S9 b0 t& c- b- X
# v3 @4 @3 Q$ v M; C+ `" x
var System = xdc.useModule('xdc.runtime.System');: j" S3 }. m/ F# F6 w! F
System.SupportProxy = SysMin;# h+ O8 J4 F8 G% ?
0 H# b$ l T) c' ]4 X0 T h( q+ f/* configure SysBios to use the lower half of Timer 1 */
1 w% ]1 n, U2 Z" g$ P+ Mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 \# B2 [" H( b. v2 c# u* t- pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');: P: I' L2 k( ^ p4 B9 L7 S. m: X& [
Timer.timerSettings[1].master = true;
: `! M7 ?- H& r% A! w( x- @6 VTimer.defaultHalf = Timer.Half_LOWER;8 X* L3 U/ [ o7 @& Z0 @) `( ~' I
Clock.timerId = 1;
, z6 s9 {) o. G1 T7 R4 E3 M r3 `+ }* f: k' r& k7 l
9 _8 I8 ~# O n/*
0 ~- T% z6 b1 |5 o9 h * ======== Miscellaneous Configuration ========7 C3 R. f& l! ~) k2 J
*/
# o: M$ w; y6 q1 }! Q% i% q7 Y2 ?8 w8 e
/* set default diags mask */) ?1 o5 m% [- Q/ w/ u/ g6 i# v
var Diags = xdc.useModule('xdc.runtime.Diags');
0 p5 t' q& q# m* y- V6 b) m9 \9 bvar Defaults = xdc.useModule('xdc.runtime.Defaults');5 P! E {1 i/ C7 X5 E
% @0 ^( I0 P- B6 m( l3 t ^) S
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; W; u6 y6 M- W% c
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
/ H u8 I0 q2 W+ T2 N0 r* hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 [1 `. c6 W) l1 j X" g0 W
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' y# h; {5 B6 ~
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 o- x! F+ k+ _, ^0 m4 m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;. j, q/ X* v* j c- \; V
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 u! b S/ n/ V. s
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 _+ k: {1 E6 d: |) I- q) ?2 GDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# i2 `$ p) t7 ^* \
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' k# m( g' l( K# C# _" c3 fDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ A2 X: y2 K, R" ^- m6 H! N2 t
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' B$ I5 B, n# X3 }! \1 }. g& v5 l
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; A- b* G7 l; ~# | P
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% N$ G8 b% m+ q0 X" O4 x
9 a4 `) i5 A, B/ }; O
/* override diags mask for selected modules */
; b7 R9 w! l) J4 h Cxdc.useModule('xdc.runtime.Main');/ {( T/ @" E, {1 {
Diags.setMaskMeta(
0 a; E6 R8 P$ \2 | "xdc.runtime.Main",
# s* H( _1 z4 U; Z$ O( s. m Diags.ENTRY | Diags.EXIT | Diags.INFO,2 n& _: A: U8 L& I+ s# U
Diags.RUNTIME_ON
9 P, g1 @/ v( n);' ?' Z( k+ }. [6 ^, L; ?& j
5 ^% H7 _, E' tvar Registry = xdc.useModule('xdc.runtime.Registry');+ h/ P) F; S$ u. W0 Y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ ~( K& w. {# ]% w% {; D/ ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;- G' E6 W/ t0 w' W5 {! y* y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 W% Y. g; C9 S$ A* Q0 d2 X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ H, J! Q ?- H$ e2 E, h; f9 X# L7 ]
/* create a logger instance */5 O! f# _3 t8 e$ e) S8 w/ j3 j
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; F7 O* A% |& {. N9 r- K. mvar loggerBufP = new LoggerBuf.Params();2 n" M1 A# y# |' ^, X( D( @
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. r$ o" k- |$ sloggerBufP.bufType = LoggerBuf.BufType_FIXED;
' Z4 [" b) |: I
( @7 f3 }2 {1 u1 {/ B0 w4 n3 z: ]var appLogger = LoggerBuf.create(loggerBufP);
j3 s X5 Q' A% \2 q3 q4 E. A- XappLogger.instance.name = "AppLog_Core1";
; z7 O, O: d# Y7 o8 ] |: n' UDefaults.common$.logger = appLogger;
+ }4 E7 u+ P9 J% oMemory.defaultHeapSize = 0x8192;
{9 Q$ b4 ?9 EIdle.idleFxns[0] = "&LEDStatus";# R3 J( n: b$ e
Cache.initSize.l2Size = Cache.L2Size_32K;
" R# t" g. O' r0 `0 [6 m, I1 W5 {& L: z( w$ k2 E6 H3 ]% g
|
|