|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; X, P3 ]5 \1 ]- T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, H2 o T% Z* m(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' ^7 h9 d j" n# g' ]" I# i
5 u+ u* E: d# n9 K! i是不是需要在DSP.CFG中进行配置
8 i. t' x# x$ w9 M0 W. ~我现在的配置为
, q; d4 [' W" a2 F) k2 ^
1 E s* q/ ^0 G2 e& P$ v4 R' t0 M" a& |/*4 Y; f: S; H, G* e0 n3 {
* ======== Operating System Configuration ========3 F; M3 E+ k) j/ Z
*/# `8 @6 r* M; K! B; @9 f
" X! Y: N4 ?$ S$ n/* no rts heap */6 w- Y+ M7 i) O, Q* l1 N
Program.heap = 0;7 d& B* d8 o1 Q5 L
Program.argSize = 100; /* minimum size */- C5 G! B, T; r- r' w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大 r" S; f; R4 H4 o
, z* K3 R I- w" {" v6 k6 W( o/ O/* create a default heap */7 E0 H- g% H- T! Q( H$ n+ e
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# t& x# e, w3 H# k$ a5 _var heapMemParams = new HeapMem.Params();
- _( X# O) P9 v$ e6 B5 W5 x. xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( g$ A3 Z. }/ ]! v
1 r/ X" ]/ E3 v; h9 G; d9 Avar Memory = xdc.useModule('xdc.runtime.Memory');
/ B L+ L) p8 p0 p8 Q+ [7 Y$ RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);. G' d. S! S* o
4 u/ u9 U5 i$ Y2 b; {6 f- z% a" Q
/* configure System module */
. z% k) f U! O& ~var SysMin = xdc.useModule('xdc.runtime.SysMin');* w) s7 L k3 h( W7 n
SysMin.bufSize = 0x1000;
9 B2 j+ o( [5 j% j& M9 L5 zSysMin.flushAtExit = false;
! t6 K- g4 _0 Q
2 R& E% E* z+ w7 Nvar System = xdc.useModule('xdc.runtime.System');
' L o0 e$ w2 v, ?1 W$ gSystem.SupportProxy = SysMin;, D( ]$ Y" _+ b" n% l I
y5 }* d# o4 j6 E9 h
/* configure SysBios to use the lower half of Timer 1 */; v; [: ]! ]; v1 P- g+ i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 \ [3 d( D Xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');! W4 r$ a4 k5 e# p" o1 K0 ]+ U7 c
Timer.timerSettings[1].master = true;3 p# ~: O% x- y/ o
Timer.defaultHalf = Timer.Half_LOWER;, Z# H3 N& ]/ L( k
Clock.timerId = 1;' B; x8 `7 S* K. e
' c+ S2 b6 I. W9 O& K( E* R$ T% |4 u* U- p
( ]9 H. w. H5 v0 C/*8 Z0 R8 q k8 ?
* ======== Miscellaneous Configuration ========# G9 d3 J1 k' j5 J7 I; O
*/6 L5 f/ d5 I. u8 R& }! Z
" d# q- E4 @- k, x, `# t( Z( x" q5 g( i
/* set default diags mask */
- X. {* w. D* ^7 o! ?var Diags = xdc.useModule('xdc.runtime.Diags');4 q- D. w c. a9 T4 U" _% {
var Defaults = xdc.useModule('xdc.runtime.Defaults');3 G& @! Y4 S# a/ }
) s; M3 m: D9 z5 i3 h& @. }Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" s: }( S% J& E9 M+ j5 U# w
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# L' z1 S# N, A9 f5 q) H2 |. EDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 |% j G* Q8 n! w+ H% j, j4 m
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( }$ a8 f& ?, e1 V: k4 Q! J
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
0 K$ [$ i* ~4 ]/ {$ |8 V5 }3 S! ZDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- h. Z) n! S; l. E1 T# SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 l0 P2 z* p: i' d( @7 }Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 ^) K" T$ S1 M! o( q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) ]' u" x' z9 F u0 o1 uDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) a! S* }' n1 ~3 D
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# S. g N1 }' ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 j) g3 H" H9 N8 F8 Y3 DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;# F5 F7 d+ {( i+ ~& X
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) ` {; j# ]) w" x C$ h* T
, L/ Z& u7 P! d7 n( J- e" _" h
/* override diags mask for selected modules */1 a9 @" `4 ~4 A, v4 l: c
xdc.useModule('xdc.runtime.Main');5 n+ i }, r* c; T* Z: q$ o8 K
Diags.setMaskMeta(- Z; b' j6 f# R9 F' o
"xdc.runtime.Main",4 b( R' G8 q* c9 k9 W) r
Diags.ENTRY | Diags.EXIT | Diags.INFO,
! W* k* @. y6 `; e% A Diags.RUNTIME_ON3 U. D1 F7 f4 G& I$ w- G1 o
);( N8 |" C" x. i- J6 C2 w! P+ V
# @7 B% t& K9 H
var Registry = xdc.useModule('xdc.runtime.Registry');
" Y; M c5 x( H7 p2 MRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 g0 C; L% j* \! W( {9 i) ]9 k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 x, W, ?8 N! v; c* z* u1 X7 I: RRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
- |7 B8 _/ P' M$ U, @: r3 m+ }# l; @2 [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 ?. \# L6 _; d; j. U' I# L
U! t* o' I: O+ f, ]/* create a logger instance */
3 q @/ ]. t% H- u$ M5 Svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ P8 m8 Z" \ m! B5 x# C6 w P2 K1 i
var loggerBufP = new LoggerBuf.Params();; b$ r" [- F# u
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" g$ O- ^2 |4 q& P/ G% e4 R1 J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' n! \$ x: a, ~3 z6 G5 w; d& k. [$ f" k+ t1 v, k: D' n+ \9 o$ l
var appLogger = LoggerBuf.create(loggerBufP);
+ h' V4 p# U* A5 K. D' o5 dappLogger.instance.name = "AppLog_Core1";+ x' T; A7 c' A
Defaults.common$.logger = appLogger;
! k" q4 h7 n$ u% TMemory.defaultHeapSize = 0x8192; 5 O" q& C( M+ B. q
Idle.idleFxns[0] = "&LEDStatus";
& \" c8 d3 U% Q! PCache.initSize.l2Size = Cache.L2Size_32K;+ c; X! J! @5 N0 x! T3 y+ N) n: s
0 ^7 B; \1 s& i8 E |
|