|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: Y* E T! Q" a5 [4 o1 {% ?+ M6 Y
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 u7 Q. ?5 O* f5 E$ Y; U2 i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 y: r1 b z9 K3 |4 z) n" A9 A
1 W. W( N9 ~1 ?9 H% N. T. y9 x是不是需要在DSP.CFG中进行配置3 {: T8 s X; e) z
我现在的配置为
: e6 v- E6 h' R7 f7 G1 B2 @2 |$ _, S8 O k7 i) O$ t
/*9 n9 X. V6 l- e x: t; {
* ======== Operating System Configuration ========7 H, k4 S+ q, D/ p
*/% k7 O" o' h/ R# m3 }* K- d
7 }# s F7 o' S6 S6 @/ e. g/* no rts heap */
' t7 R2 T* N% h HProgram.heap = 0;
- y; C+ ?8 b1 l0 l" y! kProgram.argSize = 100; /* minimum size */
7 n) I3 \0 m# R, ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大: H! ~# G! n! E; ~0 J! m
3 ?4 _0 L& d' k6 M, M6 T0 m6 F6 ^/* create a default heap */
9 q' H! C( v2 J" T# \7 {var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 ~! B& o4 ?& o% Y! Zvar heapMemParams = new HeapMem.Params();; i5 U/ H% P% {( s2 v# A
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. V- p/ B2 ]) U3 R! e0 C2 G: W3 T
+ Z* r' N4 b. u0 l& l5 k8 tvar Memory = xdc.useModule('xdc.runtime.Memory');
! {* _9 K/ _: B* X( v+ bMemory.defaultHeapInstance = HeapMem.create(heapMemParams);& e) E6 y2 G/ R
4 e: N- _1 a4 G" d6 L/* configure System module */' L f/ I9 O( p# _9 I
var SysMin = xdc.useModule('xdc.runtime.SysMin');2 ^; l7 r( E' C4 z( S
SysMin.bufSize = 0x1000;, S. e$ u W) v
SysMin.flushAtExit = false;& Y* J: k7 X r2 F/ L' ], P
( J! a/ f) ]; x5 t; Ovar System = xdc.useModule('xdc.runtime.System');
+ x- h' T H# V2 H6 oSystem.SupportProxy = SysMin;8 c" L$ O$ G% R. U! c
2 H# N6 _4 a6 W+ l5 @! L) M/* configure SysBios to use the lower half of Timer 1 */ @& n. B- y. E: G( ^' }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# b" o7 A- x, I/ Y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
- S$ M1 [! r3 ?5 X9 g% }. MTimer.timerSettings[1].master = true;: q* u% b' s) g. d. F4 ~& K
Timer.defaultHalf = Timer.Half_LOWER;; N+ ^$ h- v- o
Clock.timerId = 1;
% T7 _: ]% @, |- ~
. |6 n( j- _5 b/ X, W7 n- K. R' a/ K' Z3 c7 h
/*
, @! g) q' A: j8 |5 Y * ======== Miscellaneous Configuration ========
+ Z$ K- x* a1 }* S+ `7 V6 ] */+ j" N! Z- k- }* |- {8 z
' B! ?& M6 O2 Z+ H4 r$ P% b& x/* set default diags mask */
$ l. o+ D8 |) s2 [var Diags = xdc.useModule('xdc.runtime.Diags');
) ~4 s# H- P5 f! i) f m- ^var Defaults = xdc.useModule('xdc.runtime.Defaults');) L5 a3 A* G& d3 [' C; |1 D0 ~. {6 k
( Y" o A8 C0 w! @- s4 E
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* D0 j1 p" c" u) h' k! O
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 ^* A' o! }9 RDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ Y/ W0 ~# L* E1 @; ?+ |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' M% w+ f0 b5 q& T
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 J& `( o" F0 FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 x" ^, l$ `/ H9 p; x N5 WDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. p0 J& Y+ d5 E: ]. C
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( o# p; c: F9 R4 C& X9 L
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 g* x. ~/ `" \7 S
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 U& K& F$ ]% T+ G& {1 S$ J
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 d9 A) v1 H @5 h! I( w) @$ ^8 ^
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ h4 T1 o; o& T6 gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ Q0 b& @; `4 v: SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 a4 U( {$ G; H6 k: R* L5 D5 G" ~# F* G
/* override diags mask for selected modules */
: W8 K2 \$ e% ?xdc.useModule('xdc.runtime.Main');
4 u, B7 F' e1 ~9 Y$ QDiags.setMaskMeta(
L; z6 \8 [" N! F! K "xdc.runtime.Main",
2 t; x* q$ @, b( g0 a Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 f& s6 p9 I5 e1 \) t$ E& P( h* q, D Diags.RUNTIME_ON
1 \& k8 z+ `$ b);
8 \, F7 c" Z. i, m' d8 a) o0 F, n9 t1 z% n
var Registry = xdc.useModule('xdc.runtime.Registry');
' G; e: Y1 f: l; yRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- e& a( `- {5 j4 C- X5 \4 B
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;- t( M* Y L2 A8 Y, j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;& f1 s9 S/ l" }4 I: ~: n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# K' j) e: i# s; e3 z
& }6 F' ^4 X- [0 k- U5 M" R% x
/* create a logger instance */" b( ^* ]: ~: w4 i' l2 r% x# _# d6 W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ w8 L) o! p) }( |
var loggerBufP = new LoggerBuf.Params();
9 X' s9 f% B( H' S* I9 uloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 Y. l* G% H A! A6 PloggerBufP.bufType = LoggerBuf.BufType_FIXED;. `! E7 c3 J. O# ]$ P
/ q4 o% M" X2 L1 p( c0 r0 j- U# O
var appLogger = LoggerBuf.create(loggerBufP);8 H& C1 G; X5 M
appLogger.instance.name = "AppLog_Core1";/ O8 }' v3 N: }: h y
Defaults.common$.logger = appLogger;) O7 ^7 p/ a% n, U3 o
Memory.defaultHeapSize = 0x8192; ! [2 j8 m$ ~ B
Idle.idleFxns[0] = "&LEDStatus";
) J/ p2 v9 b. U6 cCache.initSize.l2Size = Cache.L2Size_32K;8 b) M" Y$ ?/ g2 }
: v% [! N5 _2 K# i |
|