|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ h) j2 }1 J7 K4 a我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! u) m9 u. e& i( ]3 m6 s) S0 e
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ q5 a9 ?3 l" y
" M v0 S2 Q+ H( a ]
是不是需要在DSP.CFG中进行配置 w+ t* h* ^; _4 c& R+ R; s/ ]: U
我现在的配置为
2 T* Y1 J2 \- S8 D9 K( T& R' s B: k3 `" U$ Y9 S, k
/*3 i# o9 w2 `% \ D
* ======== Operating System Configuration ========4 }& K1 Y# ^3 g- _2 L' r0 v
*/; |- O6 J4 c: z0 h
; d$ a. Z3 [7 s% u" A
/* no rts heap */* ]" f9 U1 Y8 H, V2 a* i
Program.heap = 0;4 T0 c# ~" \; K: L( G* _+ p F$ L
Program.argSize = 100; /* minimum size */ P5 a7 l% m% F: j1 w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; k% h0 r7 r/ Z4 Y+ [2 W8 S: x- b6 V5 ?5 X! f
/* create a default heap */
4 z( a# Y. m/ k- H" m$ n" |/ bvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
: I& M/ @. T/ i6 {% {3 ovar heapMemParams = new HeapMem.Params();
1 E: D* A0 I2 n: \. t( h, y' ?heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: I, T& n U6 }) G- I* Q3 x4 [! |9 s
var Memory = xdc.useModule('xdc.runtime.Memory');) l6 y& B2 }% t/ ~
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
5 G* J2 N/ Q: n% Q; J( L9 y( v, l0 n* r. C+ J
/* configure System module */# Q. C; A6 V& D" d5 A6 f7 O
var SysMin = xdc.useModule('xdc.runtime.SysMin');' Q9 g, E, h% {0 E- y- O
SysMin.bufSize = 0x1000;
1 E7 ^- v* E8 w4 o0 ~3 jSysMin.flushAtExit = false;! }8 K' A* `/ s* b. D( ^9 a# J) q% r
# o6 @( ?! M9 V0 h
var System = xdc.useModule('xdc.runtime.System');& c( q9 F' F; u8 l
System.SupportProxy = SysMin;, O2 v% X! Y+ U x
5 h; u' l7 o8 w; i. ?1 Q
/* configure SysBios to use the lower half of Timer 1 */
7 z3 F+ x/ t! T1 Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. d0 q. a' |9 l! _var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! [4 _7 P) `/ _! u2 KTimer.timerSettings[1].master = true;
9 P% |) J; v5 U6 H" u; UTimer.defaultHalf = Timer.Half_LOWER;6 t" s* D3 X: w m5 `% z+ j
Clock.timerId = 1;
8 x/ N# G: z- ?' ]- n7 r4 U+ f5 E; ]& h* `8 U9 B! e" x! o6 N8 J2 P" E, m
$ n% k- m _, X4 r- z8 D/*/ y! l4 F, y7 m. C/ W6 n# F( x' M
* ======== Miscellaneous Configuration ========/ _# m' S' L; E# T% I7 Z* I- x5 I1 z
*/
- w( ? [. q! k! T: V& I/ W8 V( J- w5 h; T# i$ g5 J, A
/* set default diags mask */; R* h8 h l1 w1 H9 ~" ]
var Diags = xdc.useModule('xdc.runtime.Diags');
$ h+ d! q; C. A3 V# G, y! xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
1 s. P/ T/ ^3 s: N: p' N, [0 ^' [: K: O1 T& p" {" h4 L# y d9 ]2 e
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ j3 ~* Y" B& e8 x$ _4 RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; `$ m- d3 T: W. R
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: m7 K! L7 G7 Q- ~% b: \Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 M" m! ~* L2 w; p$ Q, N
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 ?, `: {2 a, H9 ?3 L
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! I. X: t! h) k! C$ j* O/ }8 JDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% O$ h. O9 b% o5 z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 |2 \# @! g/ h# p+ G# p; A% FDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 W9 a9 w$ Q$ ^! J. K$ A- EDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* v! H5 }, |% c* eDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# A% p) X2 J, G k: c: U9 NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, b2 F& m$ X6 e
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( Y" f. ~' C1 g" t2 H+ bDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 `! H) \( m; @: y
+ V' l; r" T, A" ?
/* override diags mask for selected modules */
- A" y1 {+ P' b I. x2 ?. [xdc.useModule('xdc.runtime.Main');$ c( U9 w/ e. C6 r4 W
Diags.setMaskMeta(
. P9 o9 z' p* N6 O- q1 C6 O "xdc.runtime.Main",
4 V/ C8 V; \( | Diags.ENTRY | Diags.EXIT | Diags.INFO,5 z7 \' _5 ~4 R" r, I7 c* X! C$ X
Diags.RUNTIME_ON
c& b; x- h- y5 A);
" F( H) E0 e5 c6 I& `: y& F
' v" J3 \3 m! d# q9 p- zvar Registry = xdc.useModule('xdc.runtime.Registry');0 T/ C4 B8 t0 k' [$ B* W8 t2 C5 ?
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# Y2 w& o/ H; A: g# D3 @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 r4 q( S9 q* ]/ hRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;, S" a, D" D+ @5 f+ X/ w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( V( G* U1 J+ N' T( k/ J
. S5 Q- x( E5 f8 `/* create a logger instance */( R) @+ c6 d. u+ A) }2 K$ b: J- n
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 G* a" v+ s! `* `
var loggerBufP = new LoggerBuf.Params();0 U" B" V# K- d. w0 a7 q6 S9 L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, X2 ]4 ?1 M" N2 z% u# ZloggerBufP.bufType = LoggerBuf.BufType_FIXED;4 B: O' L- u8 U. g: }" S4 }2 L
) S7 @1 N: C% i/ S1 J7 q: d! q+ qvar appLogger = LoggerBuf.create(loggerBufP);
. L1 K/ V* n4 a( r- S5 EappLogger.instance.name = "AppLog_Core1";" W% j5 n8 T: z$ P7 X' z
Defaults.common$.logger = appLogger;/ {7 r" z6 R4 S" d/ w" I
Memory.defaultHeapSize = 0x8192; ( a6 r8 t8 ]8 k4 x
Idle.idleFxns[0] = "&LEDStatus";
2 W, x0 k/ @; r% }- |4 QCache.initSize.l2Size = Cache.L2Size_32K;
I- o$ Q# e, T. |" W- T) ?3 @$ W4 V, [! b! w; q2 K, |( b. b
|
|