|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ @. ?# E1 j" I& r( R7 f我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: E/ @- x4 r! `7 `(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' d! |4 f6 h! r6 S
7 k) ]2 }8 i4 j% l# Q! ]" L1 }是不是需要在DSP.CFG中进行配置: E' b1 h& f- x% K; G/ B
我现在的配置为7 f( E8 u& T5 T$ j5 |" s
! S2 f; b4 g9 T% c/*3 h. y9 P3 p* T! d/ P! U1 i' n ?. _
* ======== Operating System Configuration ========9 q7 B& m5 o9 t
*/
S! ?% f1 G, E/ V: _' b: F7 U' A; X
/* no rts heap */% Z7 S7 h8 z% [! ]; I( b- X& K* c6 i
Program.heap = 0;+ b7 M' q8 N' M4 f7 X3 K2 f4 f
Program.argSize = 100; /* minimum size */& P' Y' w7 A; `4 M2 |
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 y/ M% H. C }9 }) B' D7 U+ o+ e
6 m/ A; o1 I+ v9 Z$ o' F
/* create a default heap */
5 T+ K. Q' U# G; l% o( ~, ]6 dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 F# W* [% T; _" Nvar heapMemParams = new HeapMem.Params();
( R0 G$ w5 Y$ A' s" b7 A) cheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. W: j/ G+ J$ c( e! O* B8 Q5 F, `8 a4 f* s* _7 g
var Memory = xdc.useModule('xdc.runtime.Memory');
! c$ q0 u; ]4 T3 U7 u+ |Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
+ r) @0 r' g# y* L2 V% s" j
: z2 T/ y+ K) @- Q* z/ m! Y$ Y/* configure System module *// G$ q2 m: e' }. s+ ?' K# v
var SysMin = xdc.useModule('xdc.runtime.SysMin');0 G% U' z2 q% v" R( u+ O
SysMin.bufSize = 0x1000;/ X1 U4 E7 o& Q/ v
SysMin.flushAtExit = false;% l Z' _- i8 p T
& M% A3 w5 @& n y4 [3 ~* Q8 m8 svar System = xdc.useModule('xdc.runtime.System');
5 q7 H F* H$ [* I E, cSystem.SupportProxy = SysMin;& N% X1 Z" Y2 N0 F: t% M
* I& p0 Y P. Z" O8 \& x, ~, ^; D/* configure SysBios to use the lower half of Timer 1 */3 `1 i! h# }- U6 x
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' j! Y) U8 N! W# P- T# cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
; g$ r) k* K( V/ H6 I4 HTimer.timerSettings[1].master = true;
6 l4 }+ i) X1 s* \Timer.defaultHalf = Timer.Half_LOWER;
) V- C* `: h+ z7 R) M1 ~! i' ]Clock.timerId = 1;
0 z) |9 U3 K& ?# M
* I2 A' u0 [/ H' P0 w7 @
; _8 j" k2 M" i( n- K/*& v* ]# R! L' A. L. d* H' N, I |
* ======== Miscellaneous Configuration ========( H; b1 b) M, {# N5 l4 ?: N1 M. S
*/
$ P! M' I% r' _/ E$ E& q: i
. A% a0 M' u3 u2 g/ J/* set default diags mask */
9 L; G# F8 y2 l6 W2 O7 ]var Diags = xdc.useModule('xdc.runtime.Diags');( c+ P# g2 _6 F4 K$ I5 a9 [5 {) w
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 o. k, @2 |) f' u* z4 J9 i. N: X D* E
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% X Y. \7 v; R Q4 ?; ]8 ~
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) h5 ^# U& Q& ?) B3 Y$ r! o
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" b. B5 u0 c. X! w; D F3 w" T
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ O* X5 j& m4 _* f/ l o; [Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, M" A8 n' e/ @8 o1 Z* [Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 l4 n4 E! z! f8 y4 P/ `
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
i; b1 v/ _5 B' L9 Z& ~Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 I" @3 `( _5 pDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
: _2 s, ^8 I. Y+ p* [/ \; z. x# RDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! f+ ^! U& Z7 I$ q: `) F4 ]# j4 `Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, P. M: _0 K( k2 cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; I( ]4 x' k& r$ s8 Q) H4 e" t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% g7 j* u0 W, _' [" G
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( x& a( q' u: [: l5 f
* W8 F/ |2 K& ?: W" G& |* c/ R! s9 o
/* override diags mask for selected modules */
q p# d. B$ ]1 Wxdc.useModule('xdc.runtime.Main');; K1 J) i7 B) B# \5 o
Diags.setMaskMeta(
* H5 R# m4 o: k# E- }2 i "xdc.runtime.Main",
9 p9 Y" O5 o H2 a. B Diags.ENTRY | Diags.EXIT | Diags.INFO,3 @- w/ V E7 ?
Diags.RUNTIME_ON
$ m' i& ?3 c8 j/ d8 i; H* F6 M);
6 p. ~7 ] b# ^
9 i# T+ ]& A: }6 Z: H% kvar Registry = xdc.useModule('xdc.runtime.Registry');
* n1 ]: J" j0 v' ?Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;' K/ B1 N) H- }) U: E2 p
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 |* A7 B* |7 I
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;+ Q4 S- h* x$ V1 o
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
V: q4 l& Z! E, \' @. o$ [) h& s' b- \( V: E9 E U
/* create a logger instance */. [- n0 B& S5 D) L& l, d2 y$ e4 D
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% z; ? Q. e9 I* ?( U, K4 evar loggerBufP = new LoggerBuf.Params();
1 x3 O0 J# p- X5 z; \ }8 u/ u* o0 ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( M" Y4 k6 \3 u# aloggerBufP.bufType = LoggerBuf.BufType_FIXED;
: A4 K4 z0 T7 C; z) [* F; V& Z$ u4 M) }5 ` a( T6 ]
var appLogger = LoggerBuf.create(loggerBufP);
* |- V4 _- L2 |$ U6 n, N' U- ~4 NappLogger.instance.name = "AppLog_Core1";" e$ N& N l9 e3 A/ r/ _
Defaults.common$.logger = appLogger;
( V$ C! `; K- RMemory.defaultHeapSize = 0x8192; ( D! R7 K; Y5 n3 R
Idle.idleFxns[0] = "&LEDStatus";
) c I$ r3 c! G" ^9 E0 rCache.initSize.l2Size = Cache.L2Size_32K;
% E; ~6 U3 O& Y5 i q: ]9 i! j7 y G) `2 K0 u4 r
|
|