|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. _& ], ]0 [$ G5 L. H: Q. F& R) M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: B# G& B) G" q) _(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) o2 m% s0 ]7 x0 P; \0 J( j2 T$ k! z2 v
是不是需要在DSP.CFG中进行配置
) [2 S3 b$ i! p* S' L我现在的配置为
, z* j) N0 t) g9 ]/ n) @7 w4 {) _4 F% c T9 X! Y9 H6 a8 I7 P
/*
0 P! c1 R* G6 ^6 E * ======== Operating System Configuration ========% h! W1 n6 B. n1 V$ B1 {; N
*/
- }! u* }" T7 e% z! }, z. a5 N4 @9 L
& S* K. _7 Z4 n, @2 e/* no rts heap */4 w( U7 H1 u9 r9 R
Program.heap = 0;
% u* x) y( `! w( e, e* K0 {1 o5 ~Program.argSize = 100; /* minimum size */
( [. z9 D5 ]8 C3 Z' }- CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大) A& J6 a2 E: y5 n+ X6 Z) T% b# z. H d
9 A# v! b8 p0 q4 L* \
/* create a default heap */
, L" l. E6 B6 g1 R6 |5 ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 I4 Y' y/ G- d* Tvar heapMemParams = new HeapMem.Params();8 W+ y3 R1 s0 O+ a5 I
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 N/ l" n/ _3 w0 i8 n3 N2 Q3 @
$ @0 m+ e. q9 A1 X
var Memory = xdc.useModule('xdc.runtime.Memory');9 n7 s2 {" B: O- Z* {
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 `/ C& w# k( ]4 `
+ G+ {2 [' n' d/* configure System module */+ ?, _* w' o0 H, O
var SysMin = xdc.useModule('xdc.runtime.SysMin');1 {: r9 \9 g6 A5 W) v& C9 h0 a+ o+ X
SysMin.bufSize = 0x1000;0 w5 t) P: Y7 [" l4 J2 }
SysMin.flushAtExit = false;
/ o6 h' }4 Y" u& D& ^
+ a" H" U! J5 i) U$ W \var System = xdc.useModule('xdc.runtime.System');5 D+ w$ i0 o L" u3 @ ]4 O
System.SupportProxy = SysMin;
0 {' c n/ }7 z. v: M X1 Q) t1 x1 C2 x2 c" j
/* configure SysBios to use the lower half of Timer 1 */
3 a9 ?; \& r3 P) W1 }+ Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& |% i0 M! f) D
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' A2 z1 X q) kTimer.timerSettings[1].master = true; G u8 G$ D/ o% L
Timer.defaultHalf = Timer.Half_LOWER;: I5 L; D# n# C% \. \
Clock.timerId = 1;! b& O: H+ o1 ?& L
' A- M. |1 j+ M f
1 h" E6 R8 [! v/ h! \/ _1 |$ x% P1 u/*
2 v2 z0 p/ f( ~1 |3 u& ~/ O * ======== Miscellaneous Configuration ========
6 W2 W( D1 d* F! V( Y N% a */1 [2 S, E1 Y$ S
' w* k9 z. g5 ~* R* h, Y8 `/* set default diags mask */
5 T3 e3 Q |$ B+ T, Evar Diags = xdc.useModule('xdc.runtime.Diags');
! l* i, Y) c- @# Q: L: `var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ p I8 i) A* r$ x7 B* F, f7 c9 K( C/ t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% C1 c$ G8 q \
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( V$ l9 u$ n. O+ j$ \' aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
`) I/ ?8 }( @ jDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ J0 I; C; c: e, RDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; v* s: F5 |" K2 A- S/ K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% l) U: _. |( X( H" R
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ R8 b; p- m1 c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* Q# v0 e) L: f- z/ w0 i5 _$ F2 ^Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! ~4 F' i) z: `+ C$ x$ H
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( C. a* Q- [7 O5 F
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 T" b! `( h5 f) B" ?
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. J! G+ \+ J0 A# u! kDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ l; _# ^, I' H) [# Z) k* {. ~5 k
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% B+ X8 b% v& d& w; k/ W0 q
6 p6 {) b) Z' z% g; c# }/* override diags mask for selected modules */; E) } V p& Y5 @- d$ ^
xdc.useModule('xdc.runtime.Main');
W/ |) a# U, rDiags.setMaskMeta(2 p m* g, Z# t l0 A% {
"xdc.runtime.Main",
9 d8 ~7 ~; }( x8 j) C; g) r( @ Diags.ENTRY | Diags.EXIT | Diags.INFO,
. _! \0 a- a* z+ ]+ H Diags.RUNTIME_ON1 p% }& t' D+ h; x; N
);
. ^2 X( U/ {/ Z5 N$ B
* T# P/ C- R. e, v* S0 J: R; ovar Registry = xdc.useModule('xdc.runtime.Registry');
7 ~9 y, j) F U5 k( s: P4 `Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 @% `' t& h5 I* Z, oRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 _9 `0 g* E; B9 B+ T3 v5 ZRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. ?( I5 ~7 P$ J: `2 ?2 E
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
4 V1 o3 x9 D [, z; t/ z
. v4 Z$ F7 L3 j) n" o/* create a logger instance */7 e/ Y: j1 [) {) m% @, V8 r4 N6 ~& V( a
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' ^+ @$ _: u8 U$ k% L7 o# Q
var loggerBufP = new LoggerBuf.Params();
8 `! ~, j3 k0 o( C5 a4 _loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' D5 h V+ ], Z" F5 ~2 V
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 L U' L) u( p; d$ q9 N" d( L0 d* D% W
var appLogger = LoggerBuf.create(loggerBufP);
- q7 r4 q% q/ bappLogger.instance.name = "AppLog_Core1";
7 O; i! D0 m- ODefaults.common$.logger = appLogger;- p, \/ U( p* n0 [4 _% L3 v' {9 x7 C
Memory.defaultHeapSize = 0x8192;
( S/ {, V( z; H1 tIdle.idleFxns[0] = "&LEDStatus";
+ E; C1 k' T8 m4 }4 YCache.initSize.l2Size = Cache.L2Size_32K;
4 |0 n1 w. F z$ U
- ^8 n/ t! D0 Y7 f |
|