|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 `9 i) h$ T* M! G+ W7 k3 L+ H7 L- w" E& f
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! H7 {% t; R3 ?# Y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 a$ {% B9 ]! s$ f" E
o% e3 z& z# J! J) H( l是不是需要在DSP.CFG中进行配置
9 M( e0 Y1 A' A* z我现在的配置为
. |" C/ W2 n! m2 H
5 K. {6 V4 l. l6 \9 [7 Q4 P1 ~+ Z: w6 h/*9 s' {3 u! Q$ z" ~6 r5 r
* ======== Operating System Configuration ========7 h+ @+ [8 G0 v0 ?
*/1 Y( \ x r2 S
/ ~8 b, ]( X% A. C, D/* no rts heap */! j# J/ i9 c+ m% b h
Program.heap = 0;
: O( C5 K! d; Q4 o( ~. S" d# iProgram.argSize = 100; /* minimum size */( k: o1 J. v0 X' j0 z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 U* I4 g M9 s& f) d* S
W+ \' K0 D% Z$ p/* create a default heap */
; E, n8 a( D) Wvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 P7 C2 y& e4 V9 u6 S& {
var heapMemParams = new HeapMem.Params();
& ?3 u( u& u+ e4 E, X3 \! m' z* ?heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: g& r% d% U2 E. S$ t
! W! J. [; K+ K- y. x$ v$ Kvar Memory = xdc.useModule('xdc.runtime.Memory');6 j9 O. N# {& ?# Q+ g
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. i* X# u7 f( \: U. U( b0 l! P# R' q2 y/ d
/* configure System module */- X1 w. ?. l# P3 R$ C; G
var SysMin = xdc.useModule('xdc.runtime.SysMin');
& W, q) l4 f$ h7 Q. f! e9 dSysMin.bufSize = 0x1000;
4 Y) @: w3 o0 c( vSysMin.flushAtExit = false;+ l- D: r. x" L0 a1 V
1 D4 F- N" o$ p- n5 R; xvar System = xdc.useModule('xdc.runtime.System');* `* O4 {( { Y
System.SupportProxy = SysMin;0 W( ]" z* E) x9 R( Q& G2 x
. G/ b" O" e8 V2 K/* configure SysBios to use the lower half of Timer 1 */
& p4 @% x- X9 B, m6 Z- Ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% \4 M0 l4 p. A0 v, M1 k' b/ I
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
. |! O$ x$ q' g7 N3 T! s2 z" MTimer.timerSettings[1].master = true;
" j- S2 }5 k/ Z7 eTimer.defaultHalf = Timer.Half_LOWER;
! `9 C2 a3 s6 L. {9 ?% gClock.timerId = 1;
& y F$ q9 B% z
8 ]8 l" X1 z% ^4 f- J# u; B0 I+ [& g
/*
7 o; g. r6 w% x * ======== Miscellaneous Configuration ========' M1 C& c+ H& C4 Q" X
*/
8 j) b3 ], P* [ I; z
2 _& q& J6 A* g+ o0 U* s) j$ S/* set default diags mask */
) L9 Z' j6 \7 ivar Diags = xdc.useModule('xdc.runtime.Diags');8 r: p, c0 v5 t5 ~% s9 @* S* b# Y3 N
var Defaults = xdc.useModule('xdc.runtime.Defaults');: Y% h( Y% j, }2 L2 n+ i8 O
# T5 }$ L Q) d, B0 a
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
S) o% N) w: l8 M/ X0 m8 wDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' i! y/ q% {4 n
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, J0 B. ~9 r# f0 \3 VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* j# f) o8 K8 x2 q% e0 B& fDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% I$ J7 u7 o3 \: F/ e& g8 r( f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 J% @5 S- d2 C6 ~Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: w( `2 `" F; MDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& M. b% b, c& f+ R" H) I+ TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" A+ U/ O1 R8 k- P2 i" v
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( d, T5 \/ x$ W3 Y+ p3 |Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" J) i* q ^! WDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 P# T+ }9 X! j; c" }: ^) U9 M
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 ~ H, m3 a/ S% bDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
# _; T2 D% ^- s* P8 C' r7 x q1 H4 F0 P- n
/* override diags mask for selected modules */
1 n% _0 L8 v) nxdc.useModule('xdc.runtime.Main');
! R9 q6 P) h3 ^7 e% x5 k# NDiags.setMaskMeta(5 n8 s* b- R& n) e# ]
"xdc.runtime.Main",: r \: l0 ~: }* p S4 S! E) X9 m4 e
Diags.ENTRY | Diags.EXIT | Diags.INFO,; k1 C1 h: u" M$ w& A) t) h# A
Diags.RUNTIME_ON9 H% y, k: x1 h. [2 i( L6 S5 Z i
);" S/ h( C; U1 ~! S# i; n
+ ?4 O/ c6 W7 j/ ]& D5 H3 Ivar Registry = xdc.useModule('xdc.runtime.Registry'); w( |% u! d+ h0 n6 i
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 A7 U5 m! t! P3 W' Q/ ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) X5 O, j% A4 @, M- y. u# r1 W/ FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 }. q- p' O! s8 s% K0 o- kRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;: i; Q" Y4 ?$ t9 ]* i5 H& `
. _7 F% {8 [- P& Y/* create a logger instance */
! J) w( W$ d' P* F* `. j- O7 tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" S$ X5 Z1 o x$ D( t3 E$ K
var loggerBufP = new LoggerBuf.Params();
& \' d5 n/ z+ n$ V! z+ HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" y6 C+ p4 c- e: {loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 Y) [1 T+ u2 p) W6 k: u
- o c6 L7 M( a4 |' Fvar appLogger = LoggerBuf.create(loggerBufP);
! }- r8 |" i G, XappLogger.instance.name = "AppLog_Core1";
( c7 K0 ^, U1 E* u4 bDefaults.common$.logger = appLogger;+ b/ S. I- s3 D/ `0 R2 |
Memory.defaultHeapSize = 0x8192;
2 B4 e& b, p0 h& E5 v! F& p* ]Idle.idleFxns[0] = "&LEDStatus";
# U1 a- K, {6 ^3 D. @5 j7 ZCache.initSize.l2Size = Cache.L2Size_32K;
# v! t6 g6 v+ [6 Q, l: g4 n
9 H! S4 L4 n9 s5 ~ |
|