|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 e2 [9 h7 R& n$ J5 N$ y我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 c4 K- [- J1 }) I c
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& k& d7 T' u" v
5 I# m2 q' K' O& ^6 Z" a1 e2 {是不是需要在DSP.CFG中进行配置; n% w, F4 e: }8 R- H/ z4 P$ q8 F
我现在的配置为
8 u' I3 l# f: a+ A2 u3 p3 i% ] h9 S; x: ]5 z9 J, @. e
/*
/ a# D5 P! j# Z( W; k3 m* f * ======== Operating System Configuration ========
9 U$ d9 G5 Y2 ~ O( G; N1 ? */) ~# ?5 X4 r* w
6 k) u* @! O# X9 `0 i9 x/* no rts heap */- D6 @ F, n3 y: q/ C3 @) D1 A9 L, _
Program.heap = 0;5 I% }( g0 y9 \3 P7 `2 O* l
Program.argSize = 100; /* minimum size */
' ~9 p5 |& s3 s0 Q! gProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ [& ^- ~4 [5 [% R
. i5 J6 c2 m, Y# b5 o
/* create a default heap */
5 a- z. L( w% H& C9 Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% A' x* A7 W" Q. b. w+ ^( t
var heapMemParams = new HeapMem.Params();
5 N. n- f! G/ n qheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 _8 W: L* ]/ f$ |/ `" R8 \0 N# o/ @1 V* x
var Memory = xdc.useModule('xdc.runtime.Memory');
" @+ Q4 t) i/ e" x, W& IMemory.defaultHeapInstance = HeapMem.create(heapMemParams);( S7 j1 l5 C0 D7 d; k0 Y
! @# G3 D z- H& m, r5 S4 P* K- m/* configure System module */1 A K5 I% Z$ u
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ O Z) ~# a3 X
SysMin.bufSize = 0x1000;6 O& J' ^9 ^8 D# C3 Q6 I
SysMin.flushAtExit = false;: Q* K2 B z; F. G: E+ `2 \
, H/ l& z' [/ o" ]3 U5 }
var System = xdc.useModule('xdc.runtime.System'); w2 }8 P$ R4 Q D$ z
System.SupportProxy = SysMin;
$ @, c/ h, W7 h$ u5 }" h6 @- @1 W! U6 R2 P& d+ w; M' R
/* configure SysBios to use the lower half of Timer 1 */
, R3 c7 {3 |3 }% Q. ]var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 T. a% O- h- ~" b+ l+ c. q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 p7 M. d ]6 \/ ~6 ~# DTimer.timerSettings[1].master = true;; M& g' U/ ^ c9 P# G) q; _3 z( a
Timer.defaultHalf = Timer.Half_LOWER;, |; f/ ^# o: \: [/ H3 g
Clock.timerId = 1;3 v( K* ~) w9 f& t; ^! ]. p
0 E+ z; k: y# T( p: ^ ~* r6 h- S
9 J, z# j" \+ w/*
/ c! H; c' z1 i" m4 \ * ======== Miscellaneous Configuration ========5 e x) s) A0 g- o
*/- n7 q1 b' F/ a$ i
, }: j# R- n( U- E% C
/* set default diags mask */
5 X$ e, g8 f' N6 y( Z$ rvar Diags = xdc.useModule('xdc.runtime.Diags');
$ B6 n B: j$ m* p- Fvar Defaults = xdc.useModule('xdc.runtime.Defaults');, {* T: U' I: R' T- F( Z, b
( G" t d# _9 `" \Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 ]" P \6 n* J$ j; V" j- H
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! j2 A* c; n" F2 vDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;) f( E3 f( [9 H
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* T) x& H) l9 w6 n; d6 @Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; ]* i3 R |4 C. F! x! e
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& f0 z, W$ {5 i, A# ^& nDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ a# `- g8 [; e U |# D; g& h5 r$ bDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* Z0 g7 y$ v* }" A# ADefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. ~5 K. k8 t0 z$ H" s
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 m( A7 I; } G
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 t) X' S4 ~; a; N( z2 U Y6 BDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( o3 R f5 W2 F6 F1 JDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 o l9 b$ P+ ^" c- T# gDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" ^. l- t# Q9 G3 n M4 y4 l
, @9 T& K$ o' H3 Y5 l/* override diags mask for selected modules */- c$ Y! R; o0 k
xdc.useModule('xdc.runtime.Main');5 Y* r% `: k7 \
Diags.setMaskMeta(
- V+ E; V$ O4 n+ W* d: N5 ~! y. n "xdc.runtime.Main",# w. i2 j% V) ^7 _1 E2 @
Diags.ENTRY | Diags.EXIT | Diags.INFO,( K# a% `# ]0 A3 w v6 h. y
Diags.RUNTIME_ON8 g' Q: b5 r/ W8 C: @. Q- |7 \" C
);
, ` W8 d) l* q9 k: }
# v/ t+ d0 Q7 c1 kvar Registry = xdc.useModule('xdc.runtime.Registry');* {0 A) `+ I! Y8 w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ H7 I: _, ]4 o' D; J" _9 O. E
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% J1 K1 j H# a. e3 {4 z1 [3 ]% ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* p6 U" \+ M$ O6 I7 \
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* \! V% s$ v2 K: ]+ K; K6 Q- h
' |6 W* ^- D+ `& T
/* create a logger instance */
1 f2 y, x. V( Y; s( Q5 s- Zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% e6 `" U" ]+ V! [, r% Z
var loggerBufP = new LoggerBuf.Params();! L# n% _$ K. t I
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 O; x5 B" ~# P9 c3 [9 N7 ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;3 L* W7 l5 X+ Q( Y; A$ e5 @- K
( _7 |1 t0 E/ n1 ~6 v9 R6 m" qvar appLogger = LoggerBuf.create(loggerBufP);/ J5 ^% p& U9 y6 E5 P; r* x
appLogger.instance.name = "AppLog_Core1";3 q6 j: k( \; `; l
Defaults.common$.logger = appLogger;
( t, k# K2 k4 U6 [Memory.defaultHeapSize = 0x8192; $ @: K8 H; Q. A
Idle.idleFxns[0] = "&LEDStatus";
1 R# T9 P0 J5 tCache.initSize.l2Size = Cache.L2Size_32K;
1 j4 y8 P' C0 Q$ o
; r0 k) L) h4 b, z) T" |0 P |
|