|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 e+ f5 ?# X2 z) | E$ o l我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: h) U! d. W3 h0 B+ M* X$ y
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 @* Z4 z/ ^5 w
, U$ i2 N% x i" H# R7 c. V* w0 g是不是需要在DSP.CFG中进行配置
K' Q. N3 ], S2 i' s2 V$ w我现在的配置为
; F2 W4 {4 i) f' w9 `
8 U8 T9 e- }/ V/* M9 h' n8 p/ U/ p g8 O' K9 n
* ======== Operating System Configuration ========
+ Y( P4 N, R1 l */
& C/ `0 I: W# i7 M$ |6 R" p; t9 {2 X! Z# ?9 f9 y
/* no rts heap */
2 L- b$ G- m2 JProgram.heap = 0;
2 q" Y3 x1 Y; uProgram.argSize = 100; /* minimum size */
/ |( c! ^$ ^9 qProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 c, M3 V* G U! `. B
9 W( F; |& v' k/* create a default heap */2 v% ~* ^; V1 Y1 X
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; X- z) U* w J' U, q0 u
var heapMemParams = new HeapMem.Params();/ H5 r& I- @0 h4 S$ K$ r5 J- {3 G
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) B& H5 `$ M3 X$ e; a9 i& z
$ R- g+ z' b) |& @
var Memory = xdc.useModule('xdc.runtime.Memory');% ?! o# Y5 U2 L- f w- x8 I- v
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);8 A, g: C' @) c6 z" m x3 Q; A. S
4 ~ J& _5 w' t/* configure System module */9 i1 b+ A9 S: H; h
var SysMin = xdc.useModule('xdc.runtime.SysMin');
* _0 O m \& |5 s+ _2 y; s9 D6 pSysMin.bufSize = 0x1000;
) {0 D, ^0 X/ TSysMin.flushAtExit = false;
9 d9 n, F# p. o9 g x
0 D5 z3 b3 ]* Y4 O9 u, T; Uvar System = xdc.useModule('xdc.runtime.System');7 p4 \4 l! x1 \# c
System.SupportProxy = SysMin;# i: q' {: {( ~
: ~1 `, P. i8 u8 Z
/* configure SysBios to use the lower half of Timer 1 */! P' Z9 t) |) m
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 p, t( A1 \1 r" A6 ?& yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');' B& z. y t3 K' v+ `
Timer.timerSettings[1].master = true;
& r' e" r& c) l9 KTimer.defaultHalf = Timer.Half_LOWER;/ W7 R+ a3 [2 M" f7 x0 n0 J
Clock.timerId = 1;# T# C4 O- q3 t, ? a
: c" T5 F: N- D( ?5 I/ l( I; k9 G, v5 I" q: ]6 ]8 g0 O
/*
3 G$ T( o- w% q) O( `' b * ======== Miscellaneous Configuration ========) `6 C9 a) L- \* w9 g$ z& i7 w; Z3 p7 @
*/$ p: {& T) H' m$ v' K# D
5 B' u- p1 _* n6 A9 o% z
/* set default diags mask */, W+ z$ Q/ ^" V# @4 T$ C
var Diags = xdc.useModule('xdc.runtime.Diags');
# f& n1 Y+ c3 q* A8 ~var Defaults = xdc.useModule('xdc.runtime.Defaults');2 ^7 j2 e5 U) Y( ~! ]
8 z. ?: _; T$ O0 c& QDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) j' J p9 m, }- q: EDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' [/ O* U$ i7 t1 U4 l4 zDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 z- W# o5 t* d- e$ `: u, {# X9 [1 lDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// [) d& p/ Y; A$ }9 P& v2 h/ h' @
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' X% E# ]" d+ [Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ T' o: u5 Z! U1 f% ZDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 V! n- O6 @, x# }" R; {+ [Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( w& o4 C, @' v/ @0 o2 H7 ~0 k9 L
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& m0 F- X6 U2 W E# H) i0 wDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! Y6 k; Y/ z! o$ T2 |
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& V$ e* n" P0 E9 |, I: LDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* E$ q \% m# ?: D4 X0 E; `* g8 pDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
7 F' H' W. K1 r8 D# l SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
) p1 A0 Z. T9 k) P E/ ~: q
* Y# }# l% O2 c. K$ G/* override diags mask for selected modules */
7 }* l7 Y" V* Y; n% s: cxdc.useModule('xdc.runtime.Main');
5 m3 R/ Y# o" Z9 cDiags.setMaskMeta(5 c0 j1 ?+ H3 R
"xdc.runtime.Main",+ t* u- i1 m/ ~$ P
Diags.ENTRY | Diags.EXIT | Diags.INFO,& [" N1 E8 _4 Y- D' S+ K" [
Diags.RUNTIME_ON& m+ ?/ S; @) i* g: P0 ?
);# K( {7 K# r2 a* }7 D9 J' r; ~
5 W6 t2 d8 E9 T
var Registry = xdc.useModule('xdc.runtime.Registry');7 X- N U6 F& y+ O; K( z6 P
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) g2 t6 @9 W9 R, w; o& X2 `Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 I# Y7 g# g# \7 h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 C' L) U1 E6 c: _1 S
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 l$ ` f9 b8 B/ [
3 W' |+ ^7 j5 B3 E9 H! J
/* create a logger instance */2 q- }8 E* b6 E0 f( [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# I4 s4 K5 _) o( \) @
var loggerBufP = new LoggerBuf.Params();
+ V( S0 s3 q: p7 ^6 g AloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 _- Z7 o6 c& r* i5 P( F j. ]8 f
loggerBufP.bufType = LoggerBuf.BufType_FIXED;, x5 j9 m, i$ L% `0 K% L
9 p6 I: e/ Z: zvar appLogger = LoggerBuf.create(loggerBufP);
9 P- v K l3 |6 {appLogger.instance.name = "AppLog_Core1";3 g; ?5 o& z" s& R: [6 {! m' ?
Defaults.common$.logger = appLogger;: J; y$ r" ]0 b! V
Memory.defaultHeapSize = 0x8192;
# L# Z+ _. `" Q- K) ^Idle.idleFxns[0] = "&LEDStatus";
( K; B& H0 v& }/ n/ @) vCache.initSize.l2Size = Cache.L2Size_32K;
; l0 s* Z; J! {( ^+ X' e1 i. s4 b; n. ]' V3 ? X# n* t' S
|
|