|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' \: I4 h% Q; U% i. J D) k3 L) d, \$ }
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, U! u2 k- U# @% A(不过疑惑的是,为何单独DSP仿真就没有问题呢?) r5 w3 G3 G6 ]: [" X
" e, C- g$ B( Y, A- U
是不是需要在DSP.CFG中进行配置
' q, S* q9 A3 u6 ^- c! `我现在的配置为) T' d9 @$ G C \) u, V! o2 M
& P4 }/ ]1 e6 x
/*
- x* ~; O2 r3 }5 C2 |) c * ======== Operating System Configuration ========: c) ~! E2 B/ Q. V, r' U+ ^' j
*/! I b5 m* ^- Y% F- [
. h( E/ j+ I1 n; d0 g/* no rts heap */
: ]# B; D, ]% c0 h: O8 N8 Y5 EProgram.heap = 0;
4 V0 u2 `8 G6 R) ~& v+ j5 L" l; v8 ~! } hProgram.argSize = 100; /* minimum size */% B* d4 j$ @1 K5 X9 l7 C: F
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! T* c1 Y8 g& J1 w1 k
# Z b, y D* e: p
/* create a default heap */
" T1 E! e/ E$ m1 Wvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+ T, T# b* u" k; t, @. E( ^: Z, hvar heapMemParams = new HeapMem.Params();0 U3 ?. q2 ^" f& v6 ]+ F
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 g8 L. g3 |' ]7 s" J5 d
" V7 n% M8 ^$ ^: A+ c
var Memory = xdc.useModule('xdc.runtime.Memory');3 q8 N& v9 e4 i
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 v& v7 ^4 d$ l% [# H- E3 \+ C% L
* P6 z! o3 I2 W5 Y
/* configure System module */$ |1 y( \4 v7 _2 ]5 M
var SysMin = xdc.useModule('xdc.runtime.SysMin');8 g6 N1 z* K) B; }6 D; O
SysMin.bufSize = 0x1000;5 ~$ q- K; |4 |: Z
SysMin.flushAtExit = false;. g4 o) p, W' n
! {5 f3 g, ]: u/ H
var System = xdc.useModule('xdc.runtime.System');
0 u/ D" i3 j5 l0 {! k( nSystem.SupportProxy = SysMin;
! n* _+ y6 \7 o6 R+ T" H/ A1 p& D3 I1 x, @1 c7 I
/* configure SysBios to use the lower half of Timer 1 */
2 e; X2 a* I/ L9 z+ M# Yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. A6 N8 L" M0 W; {: E1 Ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
, x1 I# C } f: ~/ V# m" mTimer.timerSettings[1].master = true;
, `. N# A# P1 s) TTimer.defaultHalf = Timer.Half_LOWER;: u, s( T" T) \( B' n
Clock.timerId = 1;$ {8 L+ F5 k9 ?8 a e9 k
0 A' v1 T' B0 Q/ u# h+ n8 z' K5 Q7 s$ h$ i3 ]& E9 x
/** O; B7 @! {9 S% s' Z
* ======== Miscellaneous Configuration ========8 `5 G6 `4 N- n6 ?0 q+ }5 c
*/
8 K; d+ ]; I% r5 Q1 x+ x& {, a* X8 i1 J; b. G" c7 U
/* set default diags mask */# M, A( B4 }% h6 q, Z7 T
var Diags = xdc.useModule('xdc.runtime.Diags');
0 U m' g$ s4 s9 |* q7 \var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ D7 \3 D) w: x8 ?) v# \
7 ?0 ]6 S7 V' r" YDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' g% u, B' K0 v% R) e. F$ j8 rDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;. J7 b* r3 u: J' K( d: u, _
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. G; j! Z( N# G2 o4 }& d) @6 _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# D6 R2 n( i s* `Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- `3 ^ Q6 _3 p% E/ vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON; J" T- }- z2 g4 ?7 p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; i, Q( \. K: X0 R7 R
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 _: R9 U* s( E% N, Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ W# E5 @5 F* x, |* u+ v U9 y7 w7 U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" z- X# }/ ^: T/ m" \& QDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 ?. C7 ^# v5 o4 F0 F" x# z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 _0 X: z) F0 b! `; b7 J7 a* ]# jDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 M' T6 ]/ P1 M/ O* M
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, f( M8 n2 L$ l5 a( o9 y$ @! x
& E& n* Z& E7 }1 _5 n/* override diags mask for selected modules */
+ |3 S N: W" {8 W* H; B2 x8 ~xdc.useModule('xdc.runtime.Main');5 k. j4 p+ L, ~' q
Diags.setMaskMeta(- M! w. {& \" }4 `* f) A
"xdc.runtime.Main",
5 K+ |2 o( |# Z7 r! B Z$ z$ c, `) W Diags.ENTRY | Diags.EXIT | Diags.INFO,' `. y9 Y8 R+ q9 Y3 R( P3 J
Diags.RUNTIME_ON; E+ x1 l$ [' ^. f3 M8 v& W4 q
);. A6 t+ _5 `- [- |
/ n+ G5 k% B+ n2 _7 c
var Registry = xdc.useModule('xdc.runtime.Registry');9 n! Q. C- V' ?/ ^, J4 R. e+ L
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. u9 z' Q m2 X$ cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ q; S3 s" k/ R# f$ b8 i% h! wRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 T9 `- s: s5 z. d- v- z, [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) Q; h) Y* N+ V
2 y# b7 ^7 p! r% }/* create a logger instance */2 T# v+ [9 _. s: T# X7 [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ |5 y: j4 ?# Y4 wvar loggerBufP = new LoggerBuf.Params();
) m3 Q: ~. a7 E+ }; k0 N- i/ CloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 s1 ~3 z( Q/ r1 \loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 D. M* F* _$ l5 U( n) e* `5 o
A5 V; @2 p9 qvar appLogger = LoggerBuf.create(loggerBufP); V9 X+ k: s0 C) e0 [
appLogger.instance.name = "AppLog_Core1";
, ]$ n9 j% Q: ~) EDefaults.common$.logger = appLogger;
' c9 [: P* j+ v3 t; mMemory.defaultHeapSize = 0x8192; ) T/ [( u- c/ S; F1 a
Idle.idleFxns[0] = "&LEDStatus";% P J. ]0 \% \: d$ n0 [& j9 F
Cache.initSize.l2Size = Cache.L2Size_32K;
" k& C2 S: k4 d$ |7 g, P/ P7 X, B" h6 T% i0 u7 Q F1 u# |
|
|