|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& `- P) C( `) R9 f$ s2 U4 P5 |. R
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- R6 R3 b* V& [1 |8 z( a6 q) m$ ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?); E( n$ a( c) T/ X, k7 y
8 Z2 S# h) ]7 E! F' Y0 H8 a是不是需要在DSP.CFG中进行配置
/ X& K+ q' @7 o: Y我现在的配置为2 Q3 \8 E% @) x+ `& b
9 T N2 k; x: A/ ] n5 ~/*/ q% t$ x' _. f8 j6 p
* ======== Operating System Configuration ========" Q$ F# C* v8 Z& V/ k
*/( l% L# B" w4 P1 r7 z. x
, B8 r4 O/ k# e$ {# ~) [
/* no rts heap */. e9 P+ C. t) n2 V+ \8 g7 O' f8 ~5 \9 j
Program.heap = 0;
# o6 v8 K/ W7 n, ?; |Program.argSize = 100; /* minimum size */9 j; ~! z8 O5 G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- ^; J9 [3 i T
, j/ a" {/ ]9 e: N9 L. k
/* create a default heap */
1 C* a0 s6 i! Z+ ^2 e2 D0 Vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 G; T' d& ~. S( L( z2 e; ~' r$ Y
var heapMemParams = new HeapMem.Params();; n1 p; S+ l5 i+ B1 c
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
( O: h6 O; U* D) B+ X9 }9 k
! M) @; _% v& B3 c$ _var Memory = xdc.useModule('xdc.runtime.Memory');
6 V+ y( Z* E3 p0 n$ \/ eMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ }9 `; m, }0 L, {: p5 A$ F, q% m" h1 ]( G% x3 C& P
/* configure System module */ j! b: h6 l, U2 }1 P. ^
var SysMin = xdc.useModule('xdc.runtime.SysMin');9 N' u m$ d5 ^2 Z( s
SysMin.bufSize = 0x1000;' s6 i( W: K9 ?, c+ @
SysMin.flushAtExit = false;, [5 J3 J# i5 f! k+ G# [
0 O* b- D7 L& v2 Ivar System = xdc.useModule('xdc.runtime.System');
# r! y- l0 I5 S' o J' DSystem.SupportProxy = SysMin;
" z3 _( K8 l) j) a) Z8 w
" l) A: }) s, ?( j n/ E( ^/* configure SysBios to use the lower half of Timer 1 */: o& R% v, T$ u
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& T( ~: a- |, Q! fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
, s6 t6 P6 Q1 Q1 j" QTimer.timerSettings[1].master = true;
8 M3 T3 ^' s4 n% j* y( R4 ATimer.defaultHalf = Timer.Half_LOWER;# C' z7 m+ w1 A: r
Clock.timerId = 1;# R& \9 O- f# [# ?
6 j7 j, ]; f+ i7 l& h- V0 U/ L0 i
# Q! a" M7 C, M! E8 j1 p/*$ e5 P3 ~: ^& P9 I2 Y
* ======== Miscellaneous Configuration ========
; M6 M4 r7 U n- T! x4 I- i: I */
6 P! [+ f8 Q3 H; V. l, {5 y
# V) e- o6 C& e5 V" x/* set default diags mask */+ V( q" O5 x' V
var Diags = xdc.useModule('xdc.runtime.Diags');5 t3 U! Q! f3 w4 C) o# `* m! w6 w) O
var Defaults = xdc.useModule('xdc.runtime.Defaults');( I" j! ?0 u p5 w7 R
+ i6 n9 i5 X9 Z
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" J2 I8 q1 a" p: y! g V
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 v* h- \: A3 l0 KDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! Y: w% y- Y7 V, I! m9 \* ZDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* J" W* Y: W# _; [, a+ d5 b. x
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 h- P. N g+ k3 Q/ i5 ^
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% x8 Y1 }4 c, {1 |1 YDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" u4 s i; Q$ u) v3 ]; BDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 G+ V. q/ h- c( c2 I6 l7 }Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) ~) {5 {- ?' g bDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% n; o% j+ d+ N! z% [. y8 F, E* LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ B) o# @& G5 D* K- aDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: L+ z: B. a, JDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ |/ _: `0 C! a# j7 QDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: d: ^8 x- F; G* L0 Q
7 h; [/ v$ Z' @: ^! m/* override diags mask for selected modules */3 s L$ u4 [8 G* o. E) {7 a0 J7 `
xdc.useModule('xdc.runtime.Main');
4 d# t- l$ _, _Diags.setMaskMeta(: a# w2 w; h9 h" ~5 c
"xdc.runtime.Main",
1 \( w D' r. g Diags.ENTRY | Diags.EXIT | Diags.INFO,+ h1 F- l7 @2 }% T4 L7 J* V( F: a
Diags.RUNTIME_ON @- N0 a8 @ q
);
7 @. x- x9 ]0 T8 V0 q" J
, n. s& o+ R v2 G0 k' cvar Registry = xdc.useModule('xdc.runtime.Registry');( ?" |# ?. M' m8 g+ D$ g4 X2 }
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; \4 r- k2 B# Z% Q- q& f7 CRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 `# O3 z8 u( B7 @0 kRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;, f- K. _2 j; R& V3 ^+ J
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ ?; f- h5 {" H% z# H4 V, ?0 w: U) b l+ R
/* create a logger instance */8 f& M- P' r2 Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 Q. p x3 E3 G Avar loggerBufP = new LoggerBuf.Params();
: Y' ~- J, n- Z8 cloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% c# V& O3 W% mloggerBufP.bufType = LoggerBuf.BufType_FIXED;/ f/ _) {0 D3 y8 _! Q) Z
8 C) `. U4 m2 T* i! v0 ~
var appLogger = LoggerBuf.create(loggerBufP);5 D4 b- A! b! \8 ?2 m' Y
appLogger.instance.name = "AppLog_Core1";
% q& ^" [2 \( ^9 `3 W4 PDefaults.common$.logger = appLogger;! x# \7 x% s, |- k/ V
Memory.defaultHeapSize = 0x8192; ' {; L' j) q8 P' {, ?6 u$ b ?
Idle.idleFxns[0] = "&LEDStatus";
" Y# E. Y) q4 RCache.initSize.l2Size = Cache.L2Size_32K;$ l6 Q! _& V2 `0 y# V. D' N
# V, p% v# W" [6 ?) k% s |
|