|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& n$ V) R+ k3 s) _3 G5 v
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. c. ] B& G' y7 U, _. G: U/ s(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ E* Y) o/ I/ n9 n# s- I+ |
; Y/ T5 V& t }! u2 g$ U. Y6 t是不是需要在DSP.CFG中进行配置+ p5 w, K; ~; J. F" R! K% V! }
我现在的配置为& `- R0 X G. b4 Q+ e
! K' `" d0 x5 ?8 ]9 p3 Q q/*
8 W& W# l8 T6 @6 W7 V, K * ======== Operating System Configuration ========6 }0 I* O$ r% Q: S' U1 Q* N
*/' }+ D* k, I- z$ `- ?) u+ t8 S( ?
& _% h% s* A7 Q1 |
/* no rts heap */
0 H% P! u5 I: a# T+ Y# ]Program.heap = 0;3 j: C9 A0 J2 ^+ }
Program.argSize = 100; /* minimum size */
: q1 Q% s8 ~' k1 w6 OProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ x) i# h$ ^! I7 r4 R/ l
+ J' C+ B0 x% u1 D, d$ w/* create a default heap */0 V2 X3 f& n: l3 _
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 w% c% h+ F& v" T" `; }, `
var heapMemParams = new HeapMem.Params();
7 W4 G7 E+ I0 [& j* J# k ~/ [heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# O3 m! \4 \ s! J5 J
7 V! [& }( }9 h& l% d8 O
var Memory = xdc.useModule('xdc.runtime.Memory');
- t. T0 t( H b( zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ h$ O% [% q( s0 {( ?: I% {
6 d5 ]/ N0 e: h- i/* configure System module */$ a- _1 U. r% B `9 O
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 o" ]" O" o; u/ P/ S9 h
SysMin.bufSize = 0x1000;" F+ C* q! W& ?" x1 t
SysMin.flushAtExit = false;
3 ?/ k. d: R* c$ y( N
$ s3 q$ T5 q# J( f& \var System = xdc.useModule('xdc.runtime.System');3 r: {8 l! x7 C' d
System.SupportProxy = SysMin;2 [8 J5 O! u7 g* G% T
8 X: S5 V' A0 V8 c/* configure SysBios to use the lower half of Timer 1 */3 }* {. o3 E9 @: R% S0 F5 t
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ v9 x7 v6 ]" V; x* F7 v/ qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');6 B' x3 {6 p" v" J* d. y9 ?
Timer.timerSettings[1].master = true;
8 O1 M5 Q+ ?4 i+ u# z) i# R0 X1 MTimer.defaultHalf = Timer.Half_LOWER;
) Y4 g8 k. m' PClock.timerId = 1;
$ L4 [" |! G/ A: z
K3 h; a8 u( w
3 L8 [0 e& ]) s% \: ~0 H. S/*
# [, e5 r8 I9 \: h ` * ======== Miscellaneous Configuration ========$ d* m' ? K5 F C9 ^4 A& U4 _
*/
' k" V& i# R$ ]4 g3 I& J2 _9 G
4 t3 s! v3 z) h; {" ~; J/ l: w- {/* set default diags mask */% U" v1 h" d' `
var Diags = xdc.useModule('xdc.runtime.Diags');, @! C8 u# J+ v0 g5 u
var Defaults = xdc.useModule('xdc.runtime.Defaults');
5 z' q5 L* q6 l0 n+ O$ |0 J0 K0 M W% r, N$ C
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 R2 Y" V3 c4 p! o" e# ]# s
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;. e4 l! E3 g y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. H2 I( Q( e* z$ G4 \) p1 N
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: X) b# L$ x* {) LDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; `* E/ V: X: {4 q* \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ h+ {$ G3 T4 Z- iDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" {' @2 g0 ~, f- O/ M% s4 A- c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* M0 V# P+ {) j
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 t+ D% K6 H$ a+ w- r7 b, o' {& lDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* }) j3 j. I/ s4 p+ k0 C P( k. z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) P7 e7 c7 d* P% d/ d
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 x+ b" A5 o6 S( { p
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 E, A' y! A* M, S9 T/ F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" Y4 n0 k L* j! y: h. R" f
8 R4 o1 ?( g$ X
/* override diags mask for selected modules */' }- i: d1 I3 r9 y2 p
xdc.useModule('xdc.runtime.Main');; F# @; u. a* M- b8 N; c. B; h
Diags.setMaskMeta(
8 {) d5 r* R* } "xdc.runtime.Main",, q# x7 u3 b; k" T
Diags.ENTRY | Diags.EXIT | Diags.INFO,0 C; Q( }6 l# v- J/ m1 n, C3 V
Diags.RUNTIME_ON. s3 z8 Z4 {. n* w/ Z4 B! N
);
4 d6 E% p& _" f9 j, C/ z
/ W7 U, @9 U- ovar Registry = xdc.useModule('xdc.runtime.Registry');
8 E/ A9 ?6 G% x3 D3 m5 bRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# Q/ V3 T/ u# }. j; {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ l) c% r5 D P7 X3 O9 PRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
: |' S/ G* Q- n/ [7 ~7 ERegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 m; Q/ {7 {" n9 o
* I! [4 Z+ O; ^/ P
/* create a logger instance */; l4 b5 J, y1 v6 Z6 J
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 v2 s8 X6 y2 N. S3 t0 Evar loggerBufP = new LoggerBuf.Params();! g' S, l5 C8 p/ h8 i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& k9 t/ {! m, S! N5 ~8 _5 q. H$ j* v* A
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 n( O- W' h6 \2 w$ y R
) S; v: ]0 u( b6 A* N
var appLogger = LoggerBuf.create(loggerBufP);
" ]4 C3 A9 R$ B# o7 T0 VappLogger.instance.name = "AppLog_Core1";9 \6 b* B1 C) d6 b- F% X
Defaults.common$.logger = appLogger;
8 w7 a6 v( b& @% tMemory.defaultHeapSize = 0x8192; 4 X: U# q9 x( r7 n! z7 x* X
Idle.idleFxns[0] = "&LEDStatus";, h" ? B5 x1 E7 j
Cache.initSize.l2Size = Cache.L2Size_32K;: H3 x7 E8 W, h' Z
# \3 m! Y- ~ J& v; I |
|