|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ B9 t' h0 u. n我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. T4 o/ C" `) }1 j5 J# F+ @
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 Q( k0 |8 W- W, Z5 L5 a3 C2 i
, |. z$ C5 i3 i6 S( O是不是需要在DSP.CFG中进行配置
. U i; F: t& D0 P! X. P我现在的配置为( B) ]1 K. h4 P- ]$ R; Q
! |. x0 G& s1 S# G6 k
/*. n+ o0 W! Z- r( J7 a
* ======== Operating System Configuration ========6 M$ K+ f6 Z/ ]5 y( B; }
*/
, o) o0 w6 r2 H# S
& H( O; e" T7 R: x/* no rts heap */. S/ x2 H& r* N& R4 L
Program.heap = 0;1 K, ?4 v1 [4 N/ Q2 ~
Program.argSize = 100; /* minimum size */* |9 {+ M' ?. x6 c
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 z; a$ P7 Y( Y+ X9 L/ t7 ]0 z8 U n: z* [$ T! v( `7 G+ R% [
/* create a default heap */
/ W( ]4 P; _' B% n2 {- \' o3 mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 b2 @/ j& D' P* a
var heapMemParams = new HeapMem.Params();$ T& Q5 y7 g) n
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 @) U- e+ ~+ Q5 F/ r% \) V' A' p+ @) B! ]. t' r' g& Y1 U) H
var Memory = xdc.useModule('xdc.runtime.Memory');6 N6 x5 t" `, E- X1 O0 a$ @
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& k, ]2 q C7 y6 u/ ^6 d4 f% v
5 U8 l, o y4 ], ?: m9 A1 _/* configure System module */
& F& }! F6 i* L& J& `9 Avar SysMin = xdc.useModule('xdc.runtime.SysMin');$ v2 W Q7 @- l+ L' g7 a
SysMin.bufSize = 0x1000;
7 m4 }( [ A" z0 |8 V; q4 U3 JSysMin.flushAtExit = false;
* {5 p/ N/ W3 B: E% h0 T" Z" B9 t
var System = xdc.useModule('xdc.runtime.System');
9 F) I" y" F& [0 @! |System.SupportProxy = SysMin;
) H; s4 g6 O+ } G [3 r
6 j% s- b1 B! Z) z) {/* configure SysBios to use the lower half of Timer 1 */
. s7 e. s2 L7 W, }var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ G! q$ k- p9 V2 I* [2 h4 c
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 u/ {/ h0 o5 e1 WTimer.timerSettings[1].master = true;" o1 d6 V: x r) x1 p
Timer.defaultHalf = Timer.Half_LOWER;
* e/ B$ E D5 p9 i# z. GClock.timerId = 1;; s) n5 T4 }+ Z" ^; b* \9 |
: i; R$ W' e# ?8 ]& y4 m# d. W, X: w8 P9 K6 r4 }( A; X
/*4 x. F$ J) H2 W1 a7 R
* ======== Miscellaneous Configuration ========, }3 @" Q& ~. r+ f1 K7 k0 {
*/
2 W* i( ^* |0 i1 i @ g B
0 V: N/ X# t2 p% ?1 l' ]/* set default diags mask */$ h! p$ b% c. s6 T4 C2 H! J9 g& a
var Diags = xdc.useModule('xdc.runtime.Diags');3 _0 E( C3 v& @( O4 H
var Defaults = xdc.useModule('xdc.runtime.Defaults');; z$ X0 g: e% A# A& n
' ~& }: ~8 _# w: i& t- N3 l9 KDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) B, c. P4 V: p) p$ a5 f9 CDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 j( W% ]- f3 ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; v9 C1 R2 V9 ~; f& K) h/ V
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ ] B7 U* {" k( u; mDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; r2 s( a8 E! B& S6 O% RDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ s. ~+ W* V) @/ ^+ b; O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ P+ z P2 V" m4 R; Z6 N
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 M$ x' ~$ ~, L! H( U
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 g3 a: e/ \: ?, T% |1 h: v3 YDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! d9 [9 G/ Y& i& G) q( c
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, P! g5 I [- ~7 g6 gDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" @2 W$ f; o* Z- B8 ~Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 d9 w5 K, w7 R h
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 B, p: J: \/ }
( D6 r6 v8 x: M7 d2 [/* override diags mask for selected modules *// {5 s# t, W1 Q( a, \8 V! O3 V
xdc.useModule('xdc.runtime.Main');2 M/ s( h7 R% E( s
Diags.setMaskMeta(
8 \0 |% w: k* I( @ "xdc.runtime.Main",
4 u- c c' L% _. y Diags.ENTRY | Diags.EXIT | Diags.INFO,! F7 i- x5 M- g4 a, G1 |
Diags.RUNTIME_ON
q; Z: \2 |* V! F. }1 H) W);
2 Q; z9 f. i0 V- ]& H5 Q' d M( b
$ e K8 s! X: B8 e, y4 ?var Registry = xdc.useModule('xdc.runtime.Registry');
. g! y+ X1 U W$ z, nRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: x# L+ R+ e4 C1 U P j( I/ H, k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 ^. C4 w$ @9 H; b, `3 y; P2 b( m
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# W8 T0 E1 q1 |0 |; Q! {& ?Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' j( ?) j! g. y. t0 o; H
6 |: A( h. R8 G/ ^/ y; C/* create a logger instance */
5 o- n4 i( Q, M1 z; d* c% [ Mvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ j2 z* U1 j9 j2 ^
var loggerBufP = new LoggerBuf.Params();( o1 O) v8 ]1 B, S7 d" |) }
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
]# m1 ]1 [) @' `5 D2 e RloggerBufP.bufType = LoggerBuf.BufType_FIXED;
- Z0 F8 d& j6 [4 i. _" _7 X: K
5 n/ {; f& k; M) k* b P, Tvar appLogger = LoggerBuf.create(loggerBufP);
4 I0 y- t! X; ZappLogger.instance.name = "AppLog_Core1";' }9 n# y/ c: _* \
Defaults.common$.logger = appLogger;+ f# T, L$ m( r" \/ w2 K6 Y
Memory.defaultHeapSize = 0x8192;
! c* x" q# `$ F- p. Y! _: ~Idle.idleFxns[0] = "&LEDStatus";3 Y9 `) `6 n; G1 p/ }
Cache.initSize.l2Size = Cache.L2Size_32K;. J) `3 Q0 x- W! k
+ f4 I* K* b, @# d* u
|
|