|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 F8 l( v$ w6 x& l5 ` Y$ T
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 c5 h1 @0 J q1 q$ H Q9 N% l(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 w3 G2 E0 {% ]! h5 d# Q& o+ U6 s+ X3 @+ o
是不是需要在DSP.CFG中进行配置- q3 h9 f5 G$ I& o( m
我现在的配置为
* \6 J: T, M6 t9 E% e! |& E9 L8 H6 c4 S
/*
; s, }6 Q$ S+ z \ * ======== Operating System Configuration ========
! c6 E+ W1 ]& L */
4 c6 Y9 q5 \7 v" s) @3 i
% U7 r4 E$ _6 d9 R9 l/* no rts heap */
& A$ p4 d8 B) c& n& VProgram.heap = 0;
* w2 k" Z$ U. |/ P" s3 MProgram.argSize = 100; /* minimum size */- \8 K* A# u3 V9 @- l# N. |3 G. B
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% G2 N+ l7 l- I% z6 D4 u4 q$ d! c2 u3 f
/* create a default heap */
$ b- O5 f; q* X' ?var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ \# G) F( C9 Z; [6 { W" Z* wvar heapMemParams = new HeapMem.Params();
" |$ F0 I+ ]+ O7 D o9 mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大6 W& Q# r- n# _" ~1 |( F
$ ?! |. U7 v$ k$ wvar Memory = xdc.useModule('xdc.runtime.Memory');
% z4 e# v! S8 I; {2 K4 X! v4 KMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" |" I7 D9 {# j' O1 ^8 a
, I* X+ t& U: p, z
/* configure System module */
' A( i( d' v f6 ?3 wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
/ R! f5 K- |$ q& @SysMin.bufSize = 0x1000;% n2 y! y* e( m- ?8 V2 v. y: z
SysMin.flushAtExit = false;! T( E u7 V* a' I( v- X
) u2 [! q, j; G W' [) cvar System = xdc.useModule('xdc.runtime.System');) E+ z X/ `2 {+ g8 j! Q6 Z9 i& F
System.SupportProxy = SysMin;. B& K- o- J* m K" e0 n, |
& w$ T4 D) A; ?) S$ r
/* configure SysBios to use the lower half of Timer 1 */8 L, F2 j3 R6 }6 C! i: G
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* Q( p9 _$ m X1 F" Z* [, Mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
& s8 r0 r. e+ X2 D% ^' V5 z" }Timer.timerSettings[1].master = true;& R+ X5 W7 E u" H x, [) s/ k7 s1 j
Timer.defaultHalf = Timer.Half_LOWER;# B2 R) l$ Q# m" J6 e
Clock.timerId = 1;
- m5 }( F$ B' L" v7 P' d5 h( t! u- [& q1 z: j1 ? [ f8 V; S. _
1 m# |3 w% j5 D; E
/*
. J( I! @( n9 | * ======== Miscellaneous Configuration ========3 k/ o; P C, s: h# \
*/( B. i8 c- ~% ]! U \2 F1 D
" {5 q$ ~- [/ N/* set default diags mask */% W5 H2 P% f% e" W1 `- ?0 M
var Diags = xdc.useModule('xdc.runtime.Diags');8 ~- J$ B% b# H0 B5 }2 x! Q" T
var Defaults = xdc.useModule('xdc.runtime.Defaults');2 E: A; n( R$ D; E" F0 e: r
+ N6 q# N* x# T/ lDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ R& I( @ q2 F0 i4 D
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ f, r- m) q7 |' ]) b+ ]1 o' |Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! ~: {& P# o3 G6 ~Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% P+ s `( C0 N" D+ a' t7 h
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 w+ B( \ D! _+ jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;! T7 |: ]3 v; C8 A# X7 P @0 p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 M8 @+ S* {& S$ g: O
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 ~' H" V$ e3 Q3 G! N6 }- F& G
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% f! u) Q. {" b6 G4 s) s0 E
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. U- ^( d4 C$ B4 u2 }Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 v' l* P1 F/ I1 r" l9 cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( t# o W* I& b8 G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
" c p* }, k8 ~2 W4 A/ KDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" q" b+ d+ l& h' g9 M* C2 _ O6 j/ v; y: R
/* override diags mask for selected modules */
0 Z) |6 C( y c6 W5 Vxdc.useModule('xdc.runtime.Main');
8 B7 z" F- L- W$ y; R( JDiags.setMaskMeta(
0 V9 c1 o7 h# `+ f8 C9 }( R "xdc.runtime.Main",$ L6 y+ |) v! W/ t9 x% ^
Diags.ENTRY | Diags.EXIT | Diags.INFO,( P5 s4 K( U4 j Y1 g
Diags.RUNTIME_ON* O R- `; a. J
);, p$ g5 R- O3 y- o; k9 n
0 P# R5 Q! l4 b' @. d" T
var Registry = xdc.useModule('xdc.runtime.Registry');
; @. z6 D8 {* wRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) W" E6 J6 [) E' }8 y3 V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- ^; R3 \- {7 O7 q* JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 Z8 q7 A2 u" D/ ?Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 \# X0 |* z# S! s/ m7 ?# h" P& N+ M
/* create a logger instance */, @4 F3 v. k2 D# f6 m4 W& v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" C- o9 ?" Q2 n( r @; ~7 dvar loggerBufP = new LoggerBuf.Params();
( ^4 C$ r* X/ U+ U3 J' j, c) PloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) m3 P: a. z1 u/ R& ~; g/ C% }
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
, g7 F- N" V- }! ^1 a
6 U, ?) O4 p: u; V6 B6 dvar appLogger = LoggerBuf.create(loggerBufP);
( q3 ^% I3 Y+ ~6 Q+ BappLogger.instance.name = "AppLog_Core1";+ C8 J' @" y, w* d- {* T9 i
Defaults.common$.logger = appLogger;
# a' h% D. R1 m3 tMemory.defaultHeapSize = 0x8192;
3 S) E! ]( [) T+ e8 UIdle.idleFxns[0] = "&LEDStatus";4 d* Y- r3 C' k' q
Cache.initSize.l2Size = Cache.L2Size_32K; u" S; v( H! l. |: p6 A
4 N' H8 E3 Z7 Z# C
|
|