|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( L! p9 F$ ]1 w: ~: G& K. l% R我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ Y. j* Y8 d3 v) L9 ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?) T3 d9 ~5 c7 [6 V$ I9 j: s
: s# A; h$ R, P+ s O% F( t是不是需要在DSP.CFG中进行配置$ ]9 b) f% B9 Y
我现在的配置为, ~( s3 ^+ w$ x: E/ d- Y1 G
" J, v$ `- @% y, P, z% U) W/*
- B2 c ]7 R( @6 o$ Z0 { * ======== Operating System Configuration ========
0 Y$ A/ E, e6 g/ k. R. b */. I0 m' S, e; F
/ m. i6 f! U+ r" d1 ^ \) N/* no rts heap */- U" p n/ ~1 X3 ~7 i: H
Program.heap = 0;
8 O$ u, ~$ g0 x# c# R9 F- W" sProgram.argSize = 100; /* minimum size */, K' @7 V4 i; B* r! L: `1 H6 k1 w; [
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 V7 X9 d! z8 q, ?8 b) R
6 ~1 w" H+ N: i& X/* create a default heap */2 R# r8 V% Y; z2 x) N% v
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: A* H ~7 T6 t: M
var heapMemParams = new HeapMem.Params();% t: @9 z9 Q- k$ `& B
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% \: k! e5 f( c& I
% C& [8 s. H/ f" |$ _
var Memory = xdc.useModule('xdc.runtime.Memory');( ?3 m5 L5 w% M' y% R# B
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);8 o p" X9 l- ]( l9 v' p7 Z
- y5 _: n/ `5 h' c: F& L$ r/* configure System module */
0 \( { F7 G" K* f9 q0 ]) pvar SysMin = xdc.useModule('xdc.runtime.SysMin');- q( P' j' }9 y8 p1 c9 Q
SysMin.bufSize = 0x1000;
' Q; ^8 c- C# U( |( B6 ^" ]0 HSysMin.flushAtExit = false;
; g" V0 Y& _) {. D/ W" `
2 \& `' ^# P4 v$ J. x; w5 a+ v& dvar System = xdc.useModule('xdc.runtime.System');
; x0 K) d0 H& b/ i6 CSystem.SupportProxy = SysMin;
7 D) n7 O7 D% b" x: w( d+ a$ V
4 F- j: B# D& ~" Z/* configure SysBios to use the lower half of Timer 1 */# @' W8 ~+ X c7 ?8 W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 } z4 X5 v) L( f$ ~" u- j+ vvar Clock = xdc.useModule('ti.sysbios.knl.Clock'); e. Y$ Q8 I) ~6 L
Timer.timerSettings[1].master = true;4 `3 X4 N9 _6 \6 S3 S+ }4 ]! \, J
Timer.defaultHalf = Timer.Half_LOWER;" S9 h5 e" g6 W! P% ^
Clock.timerId = 1;
5 r m+ q) G7 z! Q
! e8 U7 W6 c# {; s1 M7 d; n! x& D% t: a$ e
/*& x1 I- {( q; E6 _
* ======== Miscellaneous Configuration ========
# w! H- [3 r/ Z+ q+ v0 P' E: j */
# T# \* m* S E9 H/ q) x
) R: }/ c1 b$ S* B% P2 c/* set default diags mask */
" L. N9 i0 a/ D o9 svar Diags = xdc.useModule('xdc.runtime.Diags');) o0 u) X, V5 _8 [% r
var Defaults = xdc.useModule('xdc.runtime.Defaults');4 h: y' z" L" b F
& t" b4 W& x# E' O: D7 u
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% u2 l( A7 l6 X; y5 o
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& K6 J* b" r; rDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 m+ m% [* v& C- F. B: T
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 _8 }+ ~$ ^: K7 F* a+ c( l
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* m' U( @/ x# \) z: J( O: f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- e* E. v% G5 m+ C: H! x
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* v3 k4 w: ^9 @! @# n4 M" XDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 q! F& }( d. y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. z2 r5 T: p8 P7 z K, HDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 n6 J* [, X4 ]- X B5 ]- u# ~
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;% Q/ y4 p4 u- V7 l3 R7 q
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: j* y2 W1 b( |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 M& n5 I* `7 n" m8 ` |# }4 QDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 o% b) N6 g+ r6 Q
7 v4 k0 q+ n: h* |/* override diags mask for selected modules */
# R4 C# Q, w9 @xdc.useModule('xdc.runtime.Main');
6 u i; j2 A+ g E2 y# SDiags.setMaskMeta(
3 W2 B# L# Y1 ]1 i9 X% b "xdc.runtime.Main",6 A4 ~8 I+ {( I' i
Diags.ENTRY | Diags.EXIT | Diags.INFO,
4 x' ?) w4 a+ o+ f Diags.RUNTIME_ON0 }& {8 o0 A- `' Q T3 `
);2 f$ m( ^! A. d$ P2 G
/ q; g8 ^" O1 K* `6 {5 d; v
var Registry = xdc.useModule('xdc.runtime.Registry');, A& e1 Q% M7 O* i8 E/ v
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# z8 }6 n; e# t5 _& v LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% t, k+ D$ V3 z h$ q! `Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 K8 X# f, W1 d" jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 `# |1 ~7 n* `& z/ s3 \5 p7 ^9 z5 T# ~. C9 b
/* create a logger instance */
* D9 f2 i3 ^' H: ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; |4 ~" G [( s0 z- w
var loggerBufP = new LoggerBuf.Params();# M8 N) I* c7 F0 H
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// l \7 d+ n0 t+ W- ]
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 S& K. x) G, n( O) Y
5 Y# ]+ `! i4 ^: F i& N+ f" }var appLogger = LoggerBuf.create(loggerBufP);
" `; k/ M" b& @) q. BappLogger.instance.name = "AppLog_Core1";9 a2 f( C: j, E/ x2 m6 O
Defaults.common$.logger = appLogger;3 A$ P- _) `0 k' z! z* c0 G
Memory.defaultHeapSize = 0x8192;
[8 x- y9 K2 c- w; Y4 S \Idle.idleFxns[0] = "&LEDStatus";
# }# l' z- y) B0 @$ ECache.initSize.l2Size = Cache.L2Size_32K;
# n4 v8 ] \+ T7 @, W4 M( r1 e, ~$ F9 X' M- y
|
|