|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 g9 a* j8 P) t1 }$ y* u# p
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& B2 y, C6 _/ Q2 ^8 j6 ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 Q7 q5 s5 S6 F: x+ ]
8 i( P! K% @& f# d/ h* c5 U0 e5 ~
是不是需要在DSP.CFG中进行配置
& p) x0 c; r& v: H" U' C f我现在的配置为
5 ~3 h- f0 {7 d- ?( I3 N; {* f8 {# M' C7 ^
/*9 T4 G. {# U8 G, M! j
* ======== Operating System Configuration ========
. g+ ^ T+ W: E0 g8 q) L( |5 M' I */& U, B0 G$ r6 `2 {
7 P3 `" Z+ z: q1 ^0 s# r6 `6 Y/* no rts heap */8 s8 a4 O3 ?( f
Program.heap = 0;* ]2 C6 V# ]; T& x6 E( i! Y
Program.argSize = 100; /* minimum size */: E( k4 p* U1 I
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! v$ P x" Y# j8 _2 Q6 o" p) C/ Y$ Z3 D) k% `
/* create a default heap */
9 X3 d# a' ?" ]( ]* }' d4 wvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 l! d* B$ Z1 I* I E& ^var heapMemParams = new HeapMem.Params();
; V* D5 X* z/ c6 x3 T- s! B8 H, FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ [, V u. L) g5 z2 ^/ f/ I4 {: p
7 Q& R5 T8 S' L2 M( Avar Memory = xdc.useModule('xdc.runtime.Memory');
9 W8 [! n2 W# V! E7 a7 pMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 L) q" X% A% ^- {9 S/ w; w
% ?1 \. x# u. a1 Q/* configure System module */
& e) J7 E) n3 J! Ivar SysMin = xdc.useModule('xdc.runtime.SysMin');& E- F. d J2 z+ \$ H w
SysMin.bufSize = 0x1000;
$ w' n$ J4 _ bSysMin.flushAtExit = false;; c) k4 W: h; o9 c( g; r
( u+ l6 C, Z$ L
var System = xdc.useModule('xdc.runtime.System');
9 X4 F7 }$ N. CSystem.SupportProxy = SysMin;: U3 ^, t1 z& \1 L1 Z3 N
& K! H$ a) Y5 m' d9 v1 l/* configure SysBios to use the lower half of Timer 1 */
5 Y% K: h8 h+ o# N; }var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 ^7 ~2 |' Z$ E( x: xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 d* ~2 O' t* ^
Timer.timerSettings[1].master = true;
+ }: L& k, ]9 d4 `% c+ zTimer.defaultHalf = Timer.Half_LOWER;6 U- S: F7 f1 [8 J% |
Clock.timerId = 1;
: M* K, H6 L/ v8 R- `3 r P/ ^# b* _* p( l7 ] c
: J0 L/ o+ A5 o4 x$ M
/*
4 q- z) b7 ?0 ] * ======== Miscellaneous Configuration ========
3 \' o( P1 w( y: X7 [0 R5 ` */2 l9 l, N5 b2 l7 Q, x
& D9 w4 X" R1 Z7 r2 t: U/* set default diags mask */# s/ @$ e9 O, p1 }( v6 M
var Diags = xdc.useModule('xdc.runtime.Diags');
3 c8 r7 Y8 [9 r. nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
9 F7 J% v3 P# }- ]- h, y. C$ H) Y
/ G% V" E7 ~& s" y8 l* YDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ E/ t7 `) h9 I( u" l4 M$ w1 b$ Y6 d
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; ]0 v, A: Q# J" FDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! V2 y6 g. g+ z; p8 X+ F
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 x( e& K3 g5 YDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
. y: ~% p7 B1 ]! `# U5 EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: X# d& I8 m0 y9 ^1 J+ G7 W8 h1 a: uDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! M6 o: E; q: ]! _0 X2 qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: o8 g W: e1 {2 @
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ U7 O& r! Q$ ?0 V. `. i/ e- U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;# T) [5 T) @1 F* ^4 m! G0 c( M3 K
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# l: T* ~9 y- J ^& V
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
d A. D8 p5 \( z# [4 K( xDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; ]& s5 R' V$ W" N* |, U1 bDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 b5 Z- X. `, e! x7 D. k/ ~5 V% K @
/* override diags mask for selected modules */+ ?# p8 }1 c2 {) N- B3 V
xdc.useModule('xdc.runtime.Main');+ G* S" C" w1 a7 `: a) r0 O
Diags.setMaskMeta(
( n3 {* h3 Z& ]5 W4 K' Q$ j "xdc.runtime.Main",% o, @+ i: `, y8 L/ U' A3 g
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% g) U1 o8 K7 S2 H Diags.RUNTIME_ON8 O+ m! R" }/ f1 ?7 ?& a
);
/ g+ x: s0 s# U2 x7 ?$ X5 C* d$ L" _ p/ K8 y9 @: g+ {
var Registry = xdc.useModule('xdc.runtime.Registry');
( j, K7 |3 v* ` v% n" s6 RRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ U! \ c5 k5 `+ \
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, ]( D) @9 F7 _% z( m# P
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;! T. v- H' V# \+ i" ?
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: _: \8 f. I( p& u5 m2 Y' R- m
& X4 d& B- d& R: Z9 l% `' B* a
/* create a logger instance */8 L: n, d7 s9 P0 T
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( O9 V, t9 ~8 B+ H% tvar loggerBufP = new LoggerBuf.Params();9 h0 }8 j$ x) e2 C- V
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! R% @5 S" v, Z1 U+ n: A
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 Q w& H+ L$ U' U+ p$ A2 b- H- C+ j7 |# O6 q7 C
var appLogger = LoggerBuf.create(loggerBufP);
# p. t# c- m- z! h k. w6 NappLogger.instance.name = "AppLog_Core1";% i+ m2 E2 c+ \2 ~- N
Defaults.common$.logger = appLogger;
. ~4 Q& O$ e7 |# p. m# [* {0 D+ fMemory.defaultHeapSize = 0x8192;
5 B H" ^+ c( V8 m8 {* t7 oIdle.idleFxns[0] = "&LEDStatus";
8 ^8 t- @" f/ ^4 q$ e4 O# ZCache.initSize.l2Size = Cache.L2Size_32K;
# C& j" Z0 Z, c/ U, |" e! D0 y0 d4 b" Q) l5 ^) H! W& w, o
|
|