|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; ?0 x9 y6 C; T7 d: K e: o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( }7 Y" `# }, l7 i8 _! e4 ~
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 \/ s4 E4 A' z8 `
- z5 k9 P9 z; B$ M2 \6 H2 q6 G. H
是不是需要在DSP.CFG中进行配置
: m ?& Z+ M5 t7 |9 z我现在的配置为
- z7 Y5 j9 j3 ^2 y& I+ M# b* J
* ~# K, n2 r+ p X5 V& c/*+ q9 V0 o; x$ P/ v. a8 z8 W
* ======== Operating System Configuration ========
: W! y3 e0 h; G5 N- v3 R" F */3 k" _ P" c# y" o( o$ u0 h, c
$ ?9 x3 }% q5 V1 n/* no rts heap */
2 I! A* B" ~2 T, \+ E% aProgram.heap = 0;
! e7 K* R; F2 J oProgram.argSize = 100; /* minimum size */9 E0 {% j2 i# [* I' G$ l
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ T. K+ O& O5 x# u' t
. s* d4 a( [3 P3 R5 ^/* create a default heap */
1 L9 @+ u* O7 c! v9 ]var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' z$ b9 b3 S9 A+ I$ ]var heapMemParams = new HeapMem.Params();
/ S2 f+ b: q& N2 E+ cheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 E Y% q1 X3 I. z
( n& U6 y- L5 lvar Memory = xdc.useModule('xdc.runtime.Memory');
0 b; M9 u: R, F0 ? V; g/ N5 nMemory.defaultHeapInstance = HeapMem.create(heapMemParams);. M; f/ Z! o3 y3 j* y) C% \
) l+ }0 z, z: k! D- ]; |$ T/* configure System module */
3 X) y8 `7 P9 O' ] f& s: Kvar SysMin = xdc.useModule('xdc.runtime.SysMin');
4 A1 w O+ ?$ d' P. FSysMin.bufSize = 0x1000;
' E3 U u3 i# RSysMin.flushAtExit = false;0 m4 L6 W/ _" I4 f# D2 X
1 B: f( u; r4 Q. i& r
var System = xdc.useModule('xdc.runtime.System');9 v5 x$ F6 e6 R E! Z
System.SupportProxy = SysMin;
; {3 v( O `% n; G* {( A) m! S0 M* m# ~, r
/* configure SysBios to use the lower half of Timer 1 */
2 P9 r$ Q" |, F- e) a" `5 L Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 J4 I6 ?4 P+ z+ @
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
^, i& K; Y' s6 b# g, r+ e; B# eTimer.timerSettings[1].master = true;
" P3 ]' J( w0 X1 ^( KTimer.defaultHalf = Timer.Half_LOWER;$ l1 ~2 k6 o; M
Clock.timerId = 1;
1 j4 \2 X. F1 c6 o
& |% C) p- o; ]: q4 A+ h
3 G' ?8 i) N/ ]2 v- ]/*/ y2 Z" s8 F. L" ?" m
* ======== Miscellaneous Configuration ========
* u2 i5 ~$ f* f% }1 { */. e/ C. S% O( p
8 h$ b) L1 J5 |. [; ]% _
/* set default diags mask */
* z9 ]7 w& s1 U& k& x6 R1 `& Lvar Diags = xdc.useModule('xdc.runtime.Diags');
0 N! k/ ~7 R" A wvar Defaults = xdc.useModule('xdc.runtime.Defaults');* P) ?8 G( n, U0 F p, E3 y
) Q* ~2 h% J s& \0 ZDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; s6 P' q2 N! p
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. q7 t7 o3 F: `4 f, K5 \3 hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. x3 r# z, P: a# j& _) X( HDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
S; d5 M0 j' V2 C+ WDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' j* J1 ?- `& G( ~2 W2 z0 @Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% R, K" N5 a/ T0 eDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, `, P# R8 k" D8 r& XDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 b: r' n3 Y. E! f# S4 O
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ ~) ]! D) G9 t I# c8 FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ t/ [8 J2 ~/ Y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( [# e& }. R% zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 b3 y' Y- R# e8 i* L( z9 B
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;( K0 M; S$ m$ ~4 h* Y) m+ E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' p9 ~2 K$ {- `3 v8 r5 N
# z: H/ H0 |; J8 @' i
/* override diags mask for selected modules */
' ?( s; u. i& `xdc.useModule('xdc.runtime.Main');
0 _: w! i; [! u9 x7 c: n# \2 TDiags.setMaskMeta(& |( D: j4 n" f0 o; T1 T
"xdc.runtime.Main",
; d& ^" h3 k" ~( n1 N$ I7 K Diags.ENTRY | Diags.EXIT | Diags.INFO,1 d9 A+ m4 z% M8 D' y/ N+ p1 Q# q
Diags.RUNTIME_ON
/ s+ ` M: G0 t! [);; i4 T4 b. U3 W- ^( E. \
( z* \3 c4 h( W! b: w( e
var Registry = xdc.useModule('xdc.runtime.Registry');/ H" ?$ w- [- F. N3 [3 Y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 x( Y0 M/ r y K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 b4 o; Z3 ^2 r
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; T& p" k7 N! R4 V9 J
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 F% ?* b& _7 X8 q! @
& [3 b' M" x+ [: |/ M" D! Q/* create a logger instance */8 L, I8 ]# A% N0 [9 h
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# i9 r+ Y. w& r, J6 Q$ g7 pvar loggerBufP = new LoggerBuf.Params();. P0 I/ Z4 H( R$ R! Z Z
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, V, Y( g$ H2 t9 u: D: y# kloggerBufP.bufType = LoggerBuf.BufType_FIXED;$ m% ~8 p3 x0 ^" T
! g) Z/ K: Y: {. Ovar appLogger = LoggerBuf.create(loggerBufP);
0 k$ Y: r/ \; B( q: k& tappLogger.instance.name = "AppLog_Core1";! X' n' L) x, K& T
Defaults.common$.logger = appLogger;
! W, f1 m2 M7 t+ A j/ w. e# pMemory.defaultHeapSize = 0x8192;
% V" q& \* I3 ?( j) fIdle.idleFxns[0] = "&LEDStatus";9 {3 R7 A- L3 i$ i2 f3 k' `
Cache.initSize.l2Size = Cache.L2Size_32K;
3 V: c! ?. a3 Y4 @4 v7 h! |8 N5 J$ a2 F! m; _ v- _3 C z9 _. G
|
|