|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; A0 P0 s7 A3 F% z/ B我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' ]' K. d0 R# ], b8 f(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- Y0 S6 }* A+ Z2 X% \& s" k
" u/ }! A" y; }
是不是需要在DSP.CFG中进行配置
+ a; a) `7 ?/ {/ b/ G, L我现在的配置为
# Y2 k+ d2 [6 C+ ^9 V7 }6 v$ K0 E/ Z6 F5 E$ I. S
/*
- P/ p8 h, l9 r) n$ Z! }: N9 Q F * ======== Operating System Configuration ========0 o* c. ^/ X$ t& ?1 s7 ~9 y
*/1 A |4 W1 [ E
5 U' }1 ~4 h1 C, @5 V/* no rts heap */: \ j2 K' j L0 G$ A( L
Program.heap = 0;
) [+ `) b# V2 X2 y6 k- HProgram.argSize = 100; /* minimum size */
7 c) G) H; E O9 tProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大* {: T$ l+ `4 G% k
# s* a B$ n, m
/* create a default heap */
5 U; q e& x, t; N q* @# `var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# D* `( K- C y9 b1 [
var heapMemParams = new HeapMem.Params();. Q8 \/ G) B5 {9 a p& X
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! j9 e0 O6 \) {- }% V' W2 Q
8 G! r, v* ~" ^4 n/ C' Evar Memory = xdc.useModule('xdc.runtime.Memory');: |6 q$ `* s8 C Q% n* u
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 b/ I, Z' A1 J/ r h. \ N1 M
( b0 C- N9 A6 x$ e2 K- A* w* Z/* configure System module */
% {* {6 G" x# a- u+ r- kvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; {; K, O h: v+ B4 VSysMin.bufSize = 0x1000;* D$ {" ^9 W7 o# K8 P' l
SysMin.flushAtExit = false;! }2 h) C# J: O0 ?! e
! a/ r# W5 Q% M
var System = xdc.useModule('xdc.runtime.System');# D' ^, f0 P! o; d" [
System.SupportProxy = SysMin;5 }3 X, Q( l+ m6 ?0 Z& ?$ k
/ z4 X8 F& w0 Z: ~8 ~% R' o/* configure SysBios to use the lower half of Timer 1 */
8 ^: O4 H: U7 ~! l) p Z) `) ]& Yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ B6 g. C' w c4 B# dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
& w, B5 V' A6 {Timer.timerSettings[1].master = true;) S6 f, J7 ~* w/ U; w: f/ P( H' J; j
Timer.defaultHalf = Timer.Half_LOWER;3 s6 p1 I# t/ s3 o) _& n7 {6 [# @3 v% U l
Clock.timerId = 1;
- ]& G- `) A+ y3 F
* ^: d5 m6 Z: G- Z2 J7 a4 ^% f2 }5 |: e; y# K3 B0 t
/*) d2 I" l M `# ?/ ?$ O8 B
* ======== Miscellaneous Configuration ========) k1 x/ S+ j# M% V; S% Q
*/
; D8 w1 Y5 E$ l3 U; B0 Y4 _; @" d: I
# S) i( x& j! ?$ L& b6 c5 W/* set default diags mask */
2 M! U+ p. N- a% uvar Diags = xdc.useModule('xdc.runtime.Diags');" l$ h" h+ |$ y4 q! @7 l. N
var Defaults = xdc.useModule('xdc.runtime.Defaults');3 z/ [8 J. e# \
) i( y1 n7 a9 D. ODefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ \5 q/ _0 ~3 c Q# V; @- U
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 B( r0 w0 P4 N1 G8 Q2 a/ q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& i9 P* Z* |: e% n' v2 dDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' X! M) W, ?; a
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( f1 j+ h6 h7 p& e, I% O
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ i0 y2 J- `* I, u: d7 V+ m, d$ I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
z" q, t7 _; A5 |' B7 sDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 w; o9 w9 I2 A6 m `/ Y2 kDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 p+ |5 V7 ^6 M# V" k/ O: {" t2 iDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* V5 h* z; n7 Q V) I: V. L* Y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 T- p: Y: ^* {" ~5 s% X6 u' MDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. R8 Q. {9 g3 L4 {' t0 g5 N
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- h$ L" E }1 j7 T* ]Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% C1 M. |5 q" E; U7 R
& z w0 j$ Q6 w3 s9 m/* override diags mask for selected modules */1 o2 ~ A% }6 h$ c9 j+ ^5 ]& F
xdc.useModule('xdc.runtime.Main');4 k% ?/ r, W3 P6 r, P) C6 u
Diags.setMaskMeta(
0 j0 o7 |. g7 E! L9 Y' f ? "xdc.runtime.Main",' Z8 h/ D9 R4 n5 o5 P8 `
Diags.ENTRY | Diags.EXIT | Diags.INFO,( c; h. o4 f5 M! c4 q% G/ J# z; M* J
Diags.RUNTIME_ON
% b. H! J$ j! N/ E' o);. E8 l+ t- d1 I6 f. S" r# ~
' S y J! Z$ o/ h; y [var Registry = xdc.useModule('xdc.runtime.Registry');: ^5 j7 L+ [( k7 }* t% g- f' C
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# h+ G& F$ X/ DRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF; |* q/ d6 A6 Y F8 S
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 |( \+ o+ G4 v3 a# F
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ g7 {. r3 R. V
. L9 b" \, r( M G' I/* create a logger instance */
, W& U! b& l0 C1 Svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* }* G s. |% u1 }% F2 {4 [) b9 H
var loggerBufP = new LoggerBuf.Params();5 q4 } D3 i8 S
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" [7 Z6 d/ Z. h/ E) E3 Z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 w! T! C, N0 w2 w
+ i; ?0 @/ F; V& N: yvar appLogger = LoggerBuf.create(loggerBufP);
- T! Z! a( l$ e& vappLogger.instance.name = "AppLog_Core1";
7 u) t e4 T" P% V9 [9 UDefaults.common$.logger = appLogger;* M, u, `: x; h! Z0 p. _3 B3 Z
Memory.defaultHeapSize = 0x8192; 1 @* A+ |& u# `
Idle.idleFxns[0] = "&LEDStatus";2 e/ m9 O+ x: A; k3 [
Cache.initSize.l2Size = Cache.L2Size_32K;
* N1 p2 }5 _. H
: p4 h+ [) B3 m- s0 P |
|