|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& E, C) K m& t, j s* e- j$ k% {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 n* c: I, }5 Z; K! b0 T
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 r, b3 }9 B, B) y: A( s
: p0 |, n' S: k是不是需要在DSP.CFG中进行配置
# t- l; N3 J- y. _& M6 I我现在的配置为
- O1 V4 w. a+ ]6 E& X" [5 c! v2 R& o) k: L0 P% |( k, H H! n. G
/*- j' e9 g3 G1 `2 F4 }2 ?
* ======== Operating System Configuration ========/ K/ U/ h M! u7 A. A. \7 K
*/% v* P- N9 o+ [, Z" }
: g1 K5 f+ f! t2 ^/* no rts heap */! B* r- J6 C+ S2 a
Program.heap = 0;
2 t2 e7 ~& z, Y; |* \/ U2 [Program.argSize = 100; /* minimum size */ N7 c' V' c+ b+ O
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大) f: D, H! Y# a, r) C; c
1 E9 P- a k, @( Y: N+ Q( V+ ~4 K/* create a default heap */% ?: K# S2 m8 g; g' D3 m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; w! E: }; X" v Ivar heapMemParams = new HeapMem.Params();
5 J* |: q- [9 q8 @$ {; m, lheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, d$ c5 A q4 s$ A' }) [2 c0 r! h& | g2 R: A9 L# J$ Y& t
var Memory = xdc.useModule('xdc.runtime.Memory');
5 @* h# Z4 G6 _* F1 @. iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" t" q; n! U3 O g9 Q# F+ L
5 D: D( `/ y1 V" P, B. C
/* configure System module */7 D$ k1 q, v# Z
var SysMin = xdc.useModule('xdc.runtime.SysMin');
. Y8 P$ |, f' d) r. S% H+ {SysMin.bufSize = 0x1000;
1 W1 W) j; A QSysMin.flushAtExit = false;) A D6 {' E; ~3 P6 B8 G+ S8 G
1 x, y# p- ~5 I t) K$ m* \* k' D, D
var System = xdc.useModule('xdc.runtime.System');
% S% p4 w( D ?0 m. z1 aSystem.SupportProxy = SysMin;+ n7 Z4 w" U/ t" U
+ x9 u( s* I0 S9 n9 E6 s* |/* configure SysBios to use the lower half of Timer 1 */
% Y+ f/ N7 L2 w5 ]' N0 }9 Zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, J, W1 J% `9 Z8 U$ p2 Q) j8 Y0 r
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ D# } P* L1 e+ Z9 q4 STimer.timerSettings[1].master = true;
& t( p/ e; i& U: T; ~Timer.defaultHalf = Timer.Half_LOWER;' q- |6 v9 q/ v( l j* X
Clock.timerId = 1; \! U) k, O0 a! p) `* B
7 C& m( j% V( G# L. z1 G
, W) D r5 a: z' ~$ z( ?
/*$ t+ {( F! Q7 V& b* }! m z
* ======== Miscellaneous Configuration ========
# T6 }9 d; e! p& b6 o9 ]9 Y */! ?+ ^& v& J: Z; w" g
: h' ?) H) M9 _- h- j: Z% w1 \/* set default diags mask */
: y p/ _7 t. |6 [4 |var Diags = xdc.useModule('xdc.runtime.Diags');9 @4 x0 P5 V/ ?
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 w/ k. Q9 d0 I/ Y$ _ s
6 ~0 N- P2 {; oDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, ]( {5 b3 ^, Q9 p) A( q( J1 E
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 N q2 u) }# f0 QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ J/ Q+ ~0 b2 Z L& O) q2 K' W
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 O' b- d, H8 b! x0 r9 }! ]% s1 H
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& r) I5 h; a1 ?- D( x+ PDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 s }/ N! R; D2 A, |% KDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( O# X* O' r9 P
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ f9 v' K: K9 O
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 o) {8 s h* U" t) B- I% ^% r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ p, Q" P2 j# S8 Q. qDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ h( @; |' p" Y$ a# B" \& B( rDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; j+ B, ^- S# U4 q8 R1 o6 w# ~Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 p% e2 B6 C6 F! y3 e& |, U# ?
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: {2 D3 g4 L% t/ }, b$ ?9 T8 \% d0 ?' R8 n
/* override diags mask for selected modules */
7 R# B0 t0 E. G$ bxdc.useModule('xdc.runtime.Main');- M+ y, d9 U6 v9 k' \
Diags.setMaskMeta(; x w: {+ t z7 q* Y& R
"xdc.runtime.Main",
5 R& Q( K4 ^ h4 F* O. U Diags.ENTRY | Diags.EXIT | Diags.INFO,/ S' R: e4 F4 O
Diags.RUNTIME_ON
0 ]) @0 f* [+ r; j# ~9 Q1 [);
7 _+ V% d1 ?2 z [0 Y5 ^6 h6 J) G4 j+ U
var Registry = xdc.useModule('xdc.runtime.Registry');
3 @. L l1 S% k3 B0 L v" zRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ M- n8 ~, [. s, f9 d, s4 I
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 x' U! L3 v/ g0 L& n; W: MRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
: D) e$ N4 U9 E, y& r! f% `Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* i* X5 z/ w6 J9 j9 X! N+ Y
0 C/ k- O; Q) J
/* create a logger instance */
9 d: ]/ q1 }4 U8 Tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" N. O4 B6 b' t# _9 Pvar loggerBufP = new LoggerBuf.Params();
# J& ^1 {0 ~3 e! C, j0 |7 jloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 e k$ Q4 O! d3 [loggerBufP.bufType = LoggerBuf.BufType_FIXED;# h' w d9 s3 q& Y
' M) Z2 P/ ?: p! ~var appLogger = LoggerBuf.create(loggerBufP);1 ? i! E; p# D5 h: h& G
appLogger.instance.name = "AppLog_Core1";4 F) c) U& K) l, m' m! P( O* ?
Defaults.common$.logger = appLogger;
% Q; H; p6 \; R* m, G4 kMemory.defaultHeapSize = 0x8192;
7 g$ v5 D2 x* A# Y5 d" o9 x& |( qIdle.idleFxns[0] = "&LEDStatus";1 I1 u. m- l$ }6 r R4 ]+ ~
Cache.initSize.l2Size = Cache.L2Size_32K;, s4 n( J, s: Q
" J- [7 t: u6 O6 \# \ W9 h
|
|