|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 `% u' Z% U( H* j9 O$ d6 a: U
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! u6 H; C) |) _7 w
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 i4 b3 ]6 b* g: m% ^5 g+ K
! v- q% G- P! X& R是不是需要在DSP.CFG中进行配置, d. P9 ]2 Z* G2 a5 D
我现在的配置为
0 q/ n. k3 s4 H W$ a
5 C! |% u" J( p3 j* H; D/ }+ ?/*( j0 J( M! `( H6 n# B6 m3 u& {
* ======== Operating System Configuration ========
5 z6 Y! g, x1 y) E/ L! ~: h3 i */& j8 F2 I' r& a" O
) J& H3 U5 r/ y8 s8 G
/* no rts heap */
8 P" F: l* D; SProgram.heap = 0;
" ?" f# X' L/ l3 FProgram.argSize = 100; /* minimum size */
' L/ i7 O2 _# d8 o) sProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大* a: w! L* N e# l! a
( V/ @! b% R+ C/ Z7 U; i2 m
/* create a default heap */
) l* W3 a7 _! d, |. O( c, ^# Bvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 t" X: V5 x4 n, q. ]- B; ~+ ]
var heapMemParams = new HeapMem.Params();! b# o: D U2 ^; W- ?- O
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( `, D* C0 H7 h; N4 u% d; H% {- ?/ E
" I4 [; R+ g9 n
var Memory = xdc.useModule('xdc.runtime.Memory');
- M7 T1 p3 x- H( [- C; T6 yMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, a6 i2 L8 [7 N( V: P* Z
/ x, O8 q3 V4 r% R! ^+ P. z/* configure System module */
! r4 M# Q0 T3 M" ]7 N7 a% ivar SysMin = xdc.useModule('xdc.runtime.SysMin');" s6 ]9 M0 q2 Y5 H' C$ ?4 Q
SysMin.bufSize = 0x1000;$ f# W, M W4 q0 A" w
SysMin.flushAtExit = false;( I. v5 y h3 k. f/ h* R
- _- ]& A6 k1 Wvar System = xdc.useModule('xdc.runtime.System');
8 {9 X: Y4 O4 k" N( `1 ASystem.SupportProxy = SysMin;( K# @5 ^2 a6 H1 c9 ?* r& E
" F, B M+ i ?, i: L* `/* configure SysBios to use the lower half of Timer 1 */8 Q+ ?$ E7 [' x9 R* K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 X; d" `" Y/ E7 ~' Y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 S- F, O w" n" o, f7 q4 v
Timer.timerSettings[1].master = true;/ b$ a4 `1 A0 m0 N+ T2 P
Timer.defaultHalf = Timer.Half_LOWER;* @' d7 f7 y" @; i, e/ z8 b) c
Clock.timerId = 1;7 v! ]; w/ ~5 ~ P3 L6 L
, j% R4 J4 n: }4 p( f! @, i7 p9 @
* k# B# H' g! g) d4 h/*( n, ^9 E$ ~ O4 Y
* ======== Miscellaneous Configuration ========
$ k+ Q H3 |9 H+ F */
& r- c C M0 L2 I3 U7 f* m
+ z" i) m# O, ~2 d- }: l/* set default diags mask */1 X. h% `' H4 H. l% C7 m( q* S2 p
var Diags = xdc.useModule('xdc.runtime.Diags');0 _! b/ n+ R5 {
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ h1 \* g* m4 t9 \
1 h" _5 X. I) [
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 y! V, W! i1 ~# A" {- ]9 [Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 v8 k# q6 u6 i6 L3 C9 g5 H. b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* z/ U3 x5 |& D/ DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- Q+ O. x) T' y* z4 f/ @0 YDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' I+ l( p" n9 h; pDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- v0 N+ M6 l: A6 Z: T9 XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 `+ |. g; D& q& s: P1 W; V9 a
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& b- i1 a: J5 V" Y" E
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& n& j! U9 b6 L" K1 j7 tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& D4 }+ W( d9 O: `3 `8 w+ N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& k# K. n- i. {# ]( M+ sDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 W6 W; D# W/ y1 Q' ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; F) g' r: D* aDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 {- t9 r- e" c o5 y6 J. h2 K
7 I5 [0 L+ K% _7 n3 n9 M/* override diags mask for selected modules */
& j7 Q" S( a$ x7 T7 Ixdc.useModule('xdc.runtime.Main');
6 h6 c9 L6 _" D5 R' N5 O! `) BDiags.setMaskMeta(8 u+ X7 N" b: p
"xdc.runtime.Main",
. p1 G: a3 {, Q: O. s+ U# E; |) v Diags.ENTRY | Diags.EXIT | Diags.INFO,
. B0 e8 ^8 x7 {6 q: h( l Diags.RUNTIME_ON, k# E! s8 D4 }; U: i
);
% L4 e! A: z4 \) `% {; e0 u/ ?; o; \% s; n2 z
var Registry = xdc.useModule('xdc.runtime.Registry');
# q/ \7 Y; T3 L/ W; u( XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ `! _2 S& ^7 W2 X, L' H
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 o% s- J& }* I* [ fRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;3 {, T) X( h/ y7 n5 k
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 M8 s {6 f& l! ^
' u: @* i ^8 o1 |3 [2 X
/* create a logger instance */5 N1 e; L; b# O( I" f9 k0 A4 @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# k6 P: ?% v9 k5 Q
var loggerBufP = new LoggerBuf.Params();
! W! J$ M/ s* f7 l0 l7 A8 ?loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 Y3 v* C4 u* G5 K( gloggerBufP.bufType = LoggerBuf.BufType_FIXED;
* o3 I( q. |) S( U* N$ L u7 X( E6 [0 d z# w7 a
var appLogger = LoggerBuf.create(loggerBufP);
8 e* [2 D; W4 W) ~4 uappLogger.instance.name = "AppLog_Core1";3 r5 z' N* L$ S7 P6 E( S3 _9 ]
Defaults.common$.logger = appLogger;
. a: {# e6 N" ]# ^; a" D+ oMemory.defaultHeapSize = 0x8192; / T) y" t0 m3 E2 L, Z* {
Idle.idleFxns[0] = "&LEDStatus";! _4 j4 R7 L3 ]& I: M" Y0 S% G
Cache.initSize.l2Size = Cache.L2Size_32K;
3 R+ Q! ^5 A) R1 s/ d' f
, q' j; c' u' W+ \ G6 g1 M |
|