|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 s2 s7 V' ]4 w9 S5 P我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 w' ~$ j1 @) c9 a( m(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 ~: k1 r; |( N# V. n' _4 u' v
- @& O9 p0 ~0 v n6 B8 u; A8 a是不是需要在DSP.CFG中进行配置
. X+ g$ y% v* T6 M' M, D我现在的配置为
6 s9 e: L- S: a6 U3 t) J0 ~
8 G: Q: u$ Y% G8 H' ?1 O8 ]/*; o+ j- I/ O! R: }
* ======== Operating System Configuration ========! b1 k) G( C, o( r
*/$ U6 X" G& y4 r( ~: H$ T( w
6 Z! Z6 F8 f' K) [$ W
/* no rts heap */, n# X* b8 Z: K4 k- I) \% L
Program.heap = 0;, a) Z. z4 Y: W% u
Program.argSize = 100; /* minimum size */
* \" Z9 u& F4 zProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. M& ^; n7 _. h8 Z
. E5 E1 q+ Q. B- Q/* create a default heap */
' b% D, m2 }" k5 Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( ?; P, I+ e( j$ svar heapMemParams = new HeapMem.Params();' c& ^4 f& t; t0 U$ s
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ h; p" |) E! I' T: ]& p* j' y3 a4 H% P8 ]4 w6 D7 O: K
var Memory = xdc.useModule('xdc.runtime.Memory');
9 m C3 m3 A$ h$ \) DMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
# ?( z" ?- G/ J; Z7 u. v, P& U+ [' Q, T1 Y' R5 r3 @- }8 H# g
/* configure System module */
; n) ^( _ G9 Jvar SysMin = xdc.useModule('xdc.runtime.SysMin');: r2 O+ T+ d G' ~! D. _ P! W
SysMin.bufSize = 0x1000;
4 q- L; _: Q$ o/ `) |SysMin.flushAtExit = false;
, Z& e9 o5 z% l% x( C$ X6 t. d2 j' Q' S( o; K$ p( g
var System = xdc.useModule('xdc.runtime.System');
$ ?6 h, y% w9 B% L% \- [System.SupportProxy = SysMin;% U* i0 @, c6 ]8 C. O. [
Z4 {" p0 m5 [/* configure SysBios to use the lower half of Timer 1 */7 I& U3 D" n+ y+ B% k0 w; j, n7 u
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" N% m7 P$ z6 W8 \$ m2 x- B
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
. S- F0 x2 i& M6 yTimer.timerSettings[1].master = true;# `5 b6 G4 N N, h# D3 i) p) b# f
Timer.defaultHalf = Timer.Half_LOWER;0 P8 }9 Q' ]2 ]) ^7 q3 V4 S2 n8 x
Clock.timerId = 1;
& x0 D. O J8 x& O; U' s( X% G
! _% N0 f& ?- J" A
( [- S2 g+ v+ U9 |. e/*5 |9 s/ ~5 m4 Q
* ======== Miscellaneous Configuration ======== [% x. }$ f! C6 j# c1 D/ [
*/
8 @5 u) A' c+ ?& Y+ I* M/ z6 j1 Z3 n9 L' {7 [) U, k1 b& D a
/* set default diags mask */1 f* g- z/ a5 e) E
var Diags = xdc.useModule('xdc.runtime.Diags');+ Y& B, p3 f4 ]
var Defaults = xdc.useModule('xdc.runtime.Defaults');4 K S/ n& {; @( K
1 o- t7 A7 N3 y) _7 P5 k/ S2 a
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
( `% R+ C: [- O5 @, o PDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' m5 |+ G1 F0 M" i8 f8 {Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 m8 p- h1 K2 i, r- D
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# R" N. X& }) Q5 K! v. C6 nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; m0 _* Z ~; }# v0 [6 n& WDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% e$ r# N( n' N5 oDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% s% D a8 U$ _- g) O1 E- Z* ?6 m
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ t9 z+ @' I" s* b$ N; f! H
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( n- X- w' I, H- U, C% A( N
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: m1 U* m; ^ H5 {Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% a! _ l, [6 ~% X' z; eDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# m. q2 K2 F( |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 m$ B% V; j8 [; s! M+ eDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! k" z$ s, w& e+ x: [
2 A6 u" r; b- Y, R* O! X, Z6 C
/* override diags mask for selected modules */
) x# l, ?* ~! m1 m6 j+ Z) e' wxdc.useModule('xdc.runtime.Main');
?4 `) J; e7 z* ?Diags.setMaskMeta(4 r+ }; u, `+ a
"xdc.runtime.Main",
. G! o6 M8 j. ` F5 \2 O Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ M, J3 E) r& J# ~/ Z2 B* W Diags.RUNTIME_ON
! d; u, _% } p7 M) ^: [);+ ]+ o/ f9 k; A$ _0 e
* T' ]1 y8 }4 O% i" ^
var Registry = xdc.useModule('xdc.runtime.Registry');* X% a9 e' |# U% {4 G/ H J4 A! V& l1 Q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 M9 G- H) X* t- pRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;" `6 j5 F9 n8 |- t& ]4 ]( e4 M2 v3 ^7 k
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;; ? ]2 ^* f* W3 G+ n% }$ n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ X% x4 z1 q2 ^( J& w4 G% I J3 Q
/* create a logger instance */
; ]6 m; e( D3 J" Bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
c7 P+ ^; G% v; y% x1 K, @( svar loggerBufP = new LoggerBuf.Params();) Z* A4 ^) _! S1 X$ [& C+ i- \
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) }' V# s" S9 J* M( [1 ~
loggerBufP.bufType = LoggerBuf.BufType_FIXED;- y+ b4 T8 A! K* } T
* }9 I. i6 N" j- ?- Y5 a
var appLogger = LoggerBuf.create(loggerBufP);5 ?7 y" I' T+ L! m9 M
appLogger.instance.name = "AppLog_Core1";
2 A, s; e# `. j- F* pDefaults.common$.logger = appLogger;
$ `/ I7 S. b5 m. [) W; }Memory.defaultHeapSize = 0x8192;
7 V; o9 b/ }7 m2 E1 E4 N4 SIdle.idleFxns[0] = "&LEDStatus";
6 g6 ^1 e2 N, E) |Cache.initSize.l2Size = Cache.L2Size_32K;
5 g) x5 W+ k* ~3 X7 M- l) ?0 d0 g& \1 a0 K8 l3 v/ y% [1 I% E0 ^
|
|