|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 `/ H( r7 L; K8 p' ?我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) X7 y, G, ^5 N6 z. h
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# Y) j, j# O+ X( J3 `; l
8 L7 }$ ]- J' y' {, [: T+ h, w, y是不是需要在DSP.CFG中进行配置
( M3 F1 _" J& f5 b7 A$ w我现在的配置为
2 l- E8 T0 |. n$ u* b" Q5 `
: F! N' z! X3 n; Y/*
, s8 ^8 |3 L4 P3 s: ^9 b * ======== Operating System Configuration ========
1 r3 v1 x; Q* {& w) S: H; g/ e# j */
5 [. N& ]. U; _/ I( B( L! z+ ]0 V3 Y9 S
/* no rts heap */* ~' ]8 @; t2 d( z* K+ n; K, I
Program.heap = 0;! j2 `, E* P' I1 x: R
Program.argSize = 100; /* minimum size */
8 X3 z; o$ o2 y5 @" j1 j& ?Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
9 Y k( D0 z8 |; z2 o- x! j9 V9 L# j4 i
/* create a default heap */
, D( L" Y9 _* r& a9 J& {var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
: s1 _& n6 \; ?+ Vvar heapMemParams = new HeapMem.Params();5 a+ w1 {7 |; h: Q5 V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ i p" d; ~. e$ ]6 B: c
) d# n) C. {1 zvar Memory = xdc.useModule('xdc.runtime.Memory'); V( z+ [8 u$ X/ V, s
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* v" K3 y( s7 l v2 [( h4 {! R
) S; T0 H d, W) ^! Y& {4 o1 I
/* configure System module */# ]8 d( w% O- k5 r4 `& g6 z
var SysMin = xdc.useModule('xdc.runtime.SysMin');
: M3 Y0 _+ E. v/ U! Y3 ]SysMin.bufSize = 0x1000; Z+ ]0 M( g, j# y( ?# B
SysMin.flushAtExit = false;- i- V5 r4 p! u( w( E, t- z2 v
2 d* I$ F8 c9 F0 h
var System = xdc.useModule('xdc.runtime.System');$ d8 R4 Y' K. c' T
System.SupportProxy = SysMin;
4 Q2 P2 Y* I6 X- A4 {0 L' k1 W1 Q; }) h
/* configure SysBios to use the lower half of Timer 1 */; {3 ^' p# K8 g' g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 M8 K1 D `. a# W4 ^var Clock = xdc.useModule('ti.sysbios.knl.Clock');' [0 y0 g# ]- i. Z# ~
Timer.timerSettings[1].master = true;
' a* f. ]: j7 O/ O& ?5 N) O* hTimer.defaultHalf = Timer.Half_LOWER; o. ]/ G" F3 ?# y0 x; c( V. m
Clock.timerId = 1;
7 O4 r0 D$ b% O) E$ O( J- u! a6 J( ~ y$ F) i
* m& B% e: }/ g) V# F4 H
/*
% U3 M; |; y7 | q- }5 Q2 ~6 @3 ~ * ======== Miscellaneous Configuration ========) v' x2 c, N* T- Q; F& B
*/
+ H% W$ v9 e* l4 \3 G1 b3 @, D; Q8 ~& [0 r8 ?
/* set default diags mask */) D! s, q, c" c; ]3 I
var Diags = xdc.useModule('xdc.runtime.Diags');
' W9 f! I8 I* V! K3 p4 Ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
5 e! T G# E# `, C8 S o" u3 T: O! V2 H4 o& ~2 b, l! M# G# B8 Q- L: ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ Y- A. y$ q) z |
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ }" d# O4 O x7 j2 A6 x, b1 v- H3 ^6 xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 F( l# L$ e+ `! R. _' m! j3 m
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 {- K' C& q, ]1 W' ]
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# M+ }1 `9 T8 V) f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: p- a4 g; W8 D$ CDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 e! \8 ~6 ~; n" d8 S9 wDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% T# c: c! }2 U% j; ^/ F: z9 }Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 L+ l1 q+ ?$ F$ ^- bDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 q, T! ^! d- i9 L- T5 T* B
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) J8 A) A6 V5 P8 \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; j4 R3 w- ?1 M( J+ g' f$ T
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ L+ V: y# Z6 g3 n
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 \0 y( W* [* j
/ \1 R0 N0 @' i* m* s1 \/* override diags mask for selected modules */
4 P% j9 h; l# M, q9 _- d f+ Nxdc.useModule('xdc.runtime.Main');3 e9 _' `! e) L9 A9 L
Diags.setMaskMeta(
" t: w, b) `, p) k$ q "xdc.runtime.Main",
+ Y; m( X4 y- | G- B i0 V Diags.ENTRY | Diags.EXIT | Diags.INFO,
) ]& b6 b# G x n e& } Diags.RUNTIME_ON! t* ^/ b- Q2 f( J% X# w
);
3 R* e. |6 U H3 I& q* T v0 R- T2 o7 h) f
var Registry = xdc.useModule('xdc.runtime.Registry');1 f, K& o! B l1 ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; ?4 a# s. N9 @* }" s/ o, r1 m
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& _6 ?7 g8 b3 a' gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;2 j" s, k" x+ L; C# \
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; q, q8 W# e' y* t- g
7 ^6 v/ {& F$ ?2 ?/* create a logger instance */1 \7 i) g# E( W( |
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, h0 }2 M6 }+ t# o4 _
var loggerBufP = new LoggerBuf.Params();2 V/ [! ]4 j- M5 b; ?! `2 a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
X; Y1 \1 U, h2 A) FloggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 O- _0 V" }' A2 t6 S+ X" P( @; W5 I6 w3 V+ l
var appLogger = LoggerBuf.create(loggerBufP);
" j* w- k. s/ C- c8 b9 P. oappLogger.instance.name = "AppLog_Core1";: t& t0 h# M7 b" G9 o- @4 Z, D+ `
Defaults.common$.logger = appLogger;
4 j: _- v% N$ {" H* IMemory.defaultHeapSize = 0x8192;
3 ^( O+ J# o8 B- hIdle.idleFxns[0] = "&LEDStatus";
0 ]" X5 }: N6 L$ g% P" w, KCache.initSize.l2Size = Cache.L2Size_32K;
$ p. q5 p. u% Q
! X6 M' ^% X4 X7 O3 T/ I( Y; U |
|