|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ X8 k7 z9 Q" l6 } k: ?* V3 N
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ L- t8 }6 z1 p; Z! ~' i8 V7 O# `(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# k# }5 H+ a; l7 k9 U/ s' ?
$ N! e3 \+ B' R是不是需要在DSP.CFG中进行配置/ [. d- n" Q* u$ q* ?7 V
我现在的配置为8 w4 P, e J ]9 {: F
: a. T# T& z9 v1 f1 a% G
/*
- @5 J+ J9 z7 I8 t- F0 k0 ^ * ======== Operating System Configuration ========8 S0 U+ a' C6 i7 X. L% l- w+ P
*/
$ w' a$ e7 |5 r* J5 L' ^3 Y# D+ H2 Z3 i2 H
/* no rts heap */
" N9 {( u. l& x3 _Program.heap = 0;
; W+ O& y8 c6 H. d- `# Q, mProgram.argSize = 100; /* minimum size */1 E* ^) m8 N7 I8 b1 }
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大8 a) \( C; e2 s7 {5 _
9 [" R- A7 }9 s0 p7 Y- L& Y/* create a default heap */
6 k3 C0 h1 c5 r; F, kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 H9 Z2 |5 Z# q* a0 ]: A) mvar heapMemParams = new HeapMem.Params();6 ]( p# i# W2 S Z+ e \8 S" u+ S
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' `) T" v7 l! m
- o- b& z. i/ t5 m" A* ?var Memory = xdc.useModule('xdc.runtime.Memory');
1 M Y6 k# ?, W1 _& _Memory.defaultHeapInstance = HeapMem.create(heapMemParams);0 L" y2 N9 J7 U+ l9 j& |, J/ T7 W$ @
+ O! l. a$ _( F. ?* C. F
/* configure System module */4 H* V+ J/ S/ T# G/ U
var SysMin = xdc.useModule('xdc.runtime.SysMin');
7 h) ?' ~. b. h# ]$ u- M8 VSysMin.bufSize = 0x1000;. K. _& M c: G) g- l G
SysMin.flushAtExit = false;4 ^5 C+ f0 `: y" I. y# J) S. l4 C
! o" v1 \: z. h4 j# O4 nvar System = xdc.useModule('xdc.runtime.System');
5 N# W/ X0 w3 [. q" kSystem.SupportProxy = SysMin;% c& N. a$ `0 l7 y3 `% G! i* N m
: O: b1 Z _/ h: @# x/* configure SysBios to use the lower half of Timer 1 */; {' A3 E& ~. E, e; {
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' x/ ^* A( }2 L. c. ~6 Mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');" ?& z0 ~+ |0 `# A
Timer.timerSettings[1].master = true;
; c" D }% [7 p; n" H8 x* C# x% QTimer.defaultHalf = Timer.Half_LOWER;
4 N z- n6 i; ^% SClock.timerId = 1;
6 i' x" y3 F! I4 T' {, v O/ }% D4 l" D, k# i/ j! x
3 q- ^6 Z5 E; s w- g3 m# u/*5 K. j; h1 \2 W0 Y# r
* ======== Miscellaneous Configuration ========! \6 {' v9 N# u% D( o& e
*/
+ f. d% `/ j8 z* y$ k9 B5 n- H7 p8 I2 f* A( u
/* set default diags mask */$ O( {) B" P" s1 c, @
var Diags = xdc.useModule('xdc.runtime.Diags');6 B: [9 x& n, X/ K7 _& n
var Defaults = xdc.useModule('xdc.runtime.Defaults');
9 K+ x$ F/ ?0 F/ x3 u
# r9 w8 j1 ]6 F* O5 T/ W3 r( p" E1 NDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ s3 ], I" s' p; B* s5 A" i
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 c# _8 y" c. iDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 J; l2 B6 O+ e5 G: c& e
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. M2 z8 |, I$ l5 q7 x* Q! T. F, E
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 P: |0 M8 ]6 Q" }4 N+ l9 }* U
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 e1 U) I+ `5 e/ E
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 `- k" f5 b q+ v' [4 c/ T' v
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 a, [4 I& X! {. P6 e" O- H- q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF; K/ M2 ?+ L" N, W8 l0 S/ k' Y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- J: u' T E: ~! HDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 Q: M" K; [' b0 i9 F9 t; J0 x5 ^
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 s3 a1 @# }8 `8 P; XDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;# i. i, {0 Q" \) e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 o0 ` d- W0 H- A5 U: |5 ?
$ ]* W* y: |4 n6 W8 x3 l/* override diags mask for selected modules */
9 a6 b) ^, E. g2 fxdc.useModule('xdc.runtime.Main');
& J8 @" X& s0 r: ~1 b4 KDiags.setMaskMeta(- N: N p+ G n: n6 |6 L0 _8 C4 p
"xdc.runtime.Main",
# b' o# A5 t1 L- H2 H Diags.ENTRY | Diags.EXIT | Diags.INFO,4 S [& d" c( `' p
Diags.RUNTIME_ON
+ ]4 j9 T: ]' k$ R7 m( ^: o);* u8 V- u9 p( H+ I3 S& k' ~. k
6 {$ N5 b, I! W+ H! p! v) L. s! t
var Registry = xdc.useModule('xdc.runtime.Registry');% J' S1 h) w" D- \6 t
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& \6 d) y2 K. O& }; iRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 x$ j- d B& t" D% {8 ERegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 v' m/ o3 w# ~$ Y, h, uRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ @5 U( h5 A |3 K0 d* {6 q
$ B) A5 M" {3 z* i1 V/* create a logger instance */7 B, E% E/ Q9 o9 \7 w
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); D! J4 U* T! {) @0 h7 _! l3 D
var loggerBufP = new LoggerBuf.Params();3 |5 p" P& S a) U
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- u6 D; q) N4 I& i/ YloggerBufP.bufType = LoggerBuf.BufType_FIXED;
! I% d3 r' M! u. e( F$ N# M" i
var appLogger = LoggerBuf.create(loggerBufP);
3 e3 r1 f! {# q I' [appLogger.instance.name = "AppLog_Core1";
) Y. e; B2 W* B/ ~Defaults.common$.logger = appLogger; A- G/ m9 W8 F$ `5 R0 R& B
Memory.defaultHeapSize = 0x8192; 1 i% u$ ^- b5 ]. I
Idle.idleFxns[0] = "&LEDStatus";
) P, W* Y* U6 u" Y7 P& y% lCache.initSize.l2Size = Cache.L2Size_32K;
7 S0 t6 D5 K, n+ \# C1 M& n$ \0 R% z% @0 v; ^/ t Y, j% U
|
|