|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( K/ f0 t9 O/ U; q- ]- F5 A
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 C3 e+ G9 o. b, d( Q2 S7 G(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 z) G+ X+ Z# z* d: Q8 l2 H0 T
( c) @. i/ o$ I; b是不是需要在DSP.CFG中进行配置
) \; m+ `8 }: Y2 j# n2 e2 A1 {& \我现在的配置为) Q( u- E+ W; c5 q) m
: H- u" ?7 _+ \6 i+ @
/*
) K! O( t7 R1 p& s- s) K( N6 W * ======== Operating System Configuration ========& h$ y% F& @0 V y: E- V$ X
*/1 J* {5 Q7 k) _* [" ]/ f! r. T
" C1 v- |' a6 J; W. C
/* no rts heap */+ D+ E! t0 l1 B; W+ e
Program.heap = 0;7 Z0 R2 ~5 x1 z' L* z
Program.argSize = 100; /* minimum size */
* e& Y# f+ C: i0 A, ?! NProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大! N0 D8 m' {& z W+ C$ |/ {3 O
# V D* n( }3 ~7 |% s/* create a default heap */
7 {! t; b2 s6 \0 s' { K% nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 R( U- Z* [5 Lvar heapMemParams = new HeapMem.Params();
' c! ? o" }* |* F: JheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) Y7 q. j! S9 N2 x9 ~$ X" w* y/ M; @* f7 t& u
var Memory = xdc.useModule('xdc.runtime.Memory');
0 |; P. K- j7 U, f+ D/ ? ~3 k! XMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
+ v6 l8 _4 f+ g, h* {/ O) \9 E- a2 x+ F2 ]
/* configure System module */
0 c K: F4 z9 [- d7 N% z4 ovar SysMin = xdc.useModule('xdc.runtime.SysMin'); j) t! P+ {3 v/ B* S
SysMin.bufSize = 0x1000;
# H% c4 I" T: {$ g( j: I+ tSysMin.flushAtExit = false;
# T% l+ ~8 A. y/ x
, |* U$ `! R6 V. \var System = xdc.useModule('xdc.runtime.System');. _8 f# E1 T$ j
System.SupportProxy = SysMin;
; g7 i0 U: F) T7 z
; M: Y8 ?" L$ i9 n# l/* configure SysBios to use the lower half of Timer 1 */
. Z3 ?: S$ R: Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');6 F+ W2 }$ C1 a+ v3 P
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% G8 P/ W$ h, b- e/ [
Timer.timerSettings[1].master = true;
& E: I1 L8 `& B# j3 ~- lTimer.defaultHalf = Timer.Half_LOWER;
2 ~ C" X' \+ V1 f) R' F5 G4 R% TClock.timerId = 1;
$ h. I, l& H2 A" V( U0 H; A2 H2 E- H$ w( \$ u# u) l) u: {
0 `! b* q5 F4 Y
/*6 J2 I/ \7 G$ k- t1 o
* ======== Miscellaneous Configuration ========
' q% W( R' }1 N0 Z6 h */& b( V! {0 Q2 Q4 s6 _8 i
R7 W: x$ m r7 ~6 t/* set default diags mask */
+ ?+ Y4 Q$ E, D. Fvar Diags = xdc.useModule('xdc.runtime.Diags');7 X' g7 g5 e1 G3 ~% O
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 x! z [( ]5 q1 f, |$ ~- |5 P" O- U6 h" R1 R
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 \9 E' |4 ^& ~. W2 f2 C% }
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 g1 P' p$ X" B: y" P. D/ g
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ J8 S, x! f0 K9 m
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 G0 \: w/ Z) z. p% e1 N3 m+ b& s
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ h8 ^2 f4 i3 g- a9 x4 R; h
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 x0 J6 _/ Y( I4 `
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 b& C# @7 p9 LDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ ?3 B/ \/ [, s7 S
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 _) h+ h" J1 Y2 `5 O
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 D2 O+ @1 R; r9 R; h. o8 |
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 Z5 | J# G; c; b. d
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( d. I! y2 j$ Z* v& gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;" c' f9 i' P( {4 o+ e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# }% ?0 l4 ]1 G
- z( m9 D4 g! ]/ C2 E0 A3 b
/* override diags mask for selected modules */
7 \- ~5 A U7 s. J ~* j: Yxdc.useModule('xdc.runtime.Main');
( B$ N$ e5 J! t" @& k0 M, @Diags.setMaskMeta(" }& m& k' x7 G# p/ b# W
"xdc.runtime.Main",
8 A- p0 R2 |: r/ c" j' W& i Diags.ENTRY | Diags.EXIT | Diags.INFO,
% q' h7 {2 B" O/ W Diags.RUNTIME_ON
/ Y) C- @; h+ |* O" v/ ?' Q);
' p7 R" E V$ C8 H5 s: v- |2 u. j* H) t
var Registry = xdc.useModule('xdc.runtime.Registry');
6 ^7 p0 y9 I* p& ~( \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 N, c2 X8 P% o3 B( {! h
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" P% U5 o) c5 Q1 _8 P
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
) z/ O0 `9 |: Y8 d' pRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF; Z% m1 @- n7 B+ X2 ` A
3 g b& e9 `2 [% o/* create a logger instance */
% g& s+ G0 `+ \, L# w$ ~( avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 v) H& L5 U. l* E+ ^1 t0 U% [
var loggerBufP = new LoggerBuf.Params();7 b* Q4 W9 `# O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */0 H% L. [% g* B7 M
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
& ^1 \- j2 b! W# b7 [
% M; O( \2 A# D. m8 W. Y2 ~var appLogger = LoggerBuf.create(loggerBufP);" r& e+ c6 f) \7 S. e9 p
appLogger.instance.name = "AppLog_Core1";
# k* V; K3 n `7 z1 {; ]8 \Defaults.common$.logger = appLogger;% N% ^5 g0 Z' j7 n" O/ x4 @
Memory.defaultHeapSize = 0x8192;
4 \9 g. A9 G8 Q$ l* K9 J$ ]# hIdle.idleFxns[0] = "&LEDStatus";
0 l* V2 }7 ]3 fCache.initSize.l2Size = Cache.L2Size_32K;' z! i$ j* g- o' m6 N' `% {/ s4 i* ]
" @5 w* S3 T1 X) L# J
|
|