|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* Q# W6 M6 o0 u+ M6 E% M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 Q/ j [1 g* c2 ~3 I5 P(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ n# q( d6 q( e" J3 [
3 k, ~# M! q# S+ y7 M0 `
是不是需要在DSP.CFG中进行配置
1 A) |. K; B9 u+ E) N我现在的配置为
" y9 l9 R( |6 H8 U6 J6 u2 M# a( I# V' Y1 [2 v# |) @# o
/*" m( z3 [% \5 O5 V; L# |
* ======== Operating System Configuration ========- p0 k) q, ^1 v& l- m" z1 o
*/6 x" j$ \( T/ y, b
: t' s# S7 a! ?2 k( y) p. B
/* no rts heap */8 j( a0 A+ K( W; r6 G3 T( H
Program.heap = 0;* ^$ e# ]6 o9 W( i$ I$ H% D7 v: ~
Program.argSize = 100; /* minimum size */
8 y j: t2 X7 I) w8 XProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大& V1 N0 N# M7 x) ?& n
; y, {: n7 f5 W/ L
/* create a default heap */
5 W' p' y: ~6 P' h9 ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 K# D, [0 T: G6 \7 T# m- Y& d8 l4 V% P
var heapMemParams = new HeapMem.Params();
- q* r9 W T3 N1 n* AheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& _4 t! j! H9 k: b! E, W
8 @! G/ h5 K# K; H: u) }var Memory = xdc.useModule('xdc.runtime.Memory');
9 r6 B) A, |0 QMemory.defaultHeapInstance = HeapMem.create(heapMemParams);. K; X8 g+ A9 ~+ }+ P \: ^
, A4 Z: h9 H0 n+ t7 [* k# l3 ?
/* configure System module */
5 c: F! v6 ^# _! b3 M3 ?var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ v; [7 R" J' D9 h# M5 g ASysMin.bufSize = 0x1000;/ U' W+ D* M6 ?/ ^: T
SysMin.flushAtExit = false;) L& s( k/ G! F; J# k+ I0 r
, w( S# V, n- A% l1 P
var System = xdc.useModule('xdc.runtime.System');
1 F, Z3 T; O( }' hSystem.SupportProxy = SysMin;2 i! b, I) A- d% ~
V: q; d6 R6 I0 s1 V7 a1 _% q' j
/* configure SysBios to use the lower half of Timer 1 */
, ]# K" p, D' `2 v% L7 k# fvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 L+ t* l8 R9 gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');% L" T, p/ E4 E7 _: s p$ d& M
Timer.timerSettings[1].master = true;, T( P" ?0 s$ P& y1 G! B
Timer.defaultHalf = Timer.Half_LOWER;; U4 T4 L) E$ G: x
Clock.timerId = 1;- v9 v7 ]5 o* C3 w+ t
: ]; Y- n9 F" U. L1 L6 Q3 a1 ~" y& U7 D# F% {# e) Y
/*
1 X6 r( t6 W! i6 C4 _ A * ======== Miscellaneous Configuration ========
$ R* h! h) a! u6 r5 Y */7 W8 G7 H/ y- n- d$ F8 m1 ?. \
5 F4 |2 @7 @& z3 g: C+ J3 p$ d4 _/* set default diags mask */
8 {' S9 j% [, u2 ]var Diags = xdc.useModule('xdc.runtime.Diags');
: B6 V) ?. ^/ K, g8 k) u/ F/ {var Defaults = xdc.useModule('xdc.runtime.Defaults');6 p) J0 K5 Q" P# R
- [3 p7 T8 Y. _; h9 v! a
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 S3 ^: T- P6 D7 l' N! f V/ gDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( i' Y9 `3 Q" R3 p& ~/ X
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 [# `) _. d" S5 g
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; W% `' F* l9 e/ n+ }+ Z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 }. W3 D1 T0 O4 n( _) B
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 B$ T+ e) P# u1 C2 R. bDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& ^1 j, m+ y* w. SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 h. n9 I, T( C8 bDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( K% ~1 F" D# C3 C: LDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: x k9 e. b4 Q w" F/ e$ y: Q% A- hDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;$ M: X) I" H( M! ~) I
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* A4 L6 ?3 P6 y* b
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;" U* T: P! l2 q# Y! X$ F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ [: W' r' F, z; @. j4 k0 P" S
X5 `4 m, J n7 W* D8 }" z( Y/ J
/* override diags mask for selected modules */- ?' s0 A5 @. K& e' v+ f
xdc.useModule('xdc.runtime.Main');
5 F2 F, e, |7 ]/ WDiags.setMaskMeta(
& U+ N, [7 K2 _4 J "xdc.runtime.Main",
8 I ^3 P" m) R! C Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 D) u( I9 ^( j9 g7 O0 ~0 D Diags.RUNTIME_ON/ G k1 H9 z3 p( P% w! p. K
);9 i4 g' |( t' W" N" ?
- R ^+ T/ r9 ?# D, \' p/ c/ ^7 x
var Registry = xdc.useModule('xdc.runtime.Registry');
# Q# E) B; |/ A; b! U; H |1 pRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 ~+ N9 H* e6 T% }& d7 h
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;; p* q: K5 I# x$ l' x& h, z' W) F
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- V% g5 L8 d' P' _& y) o Y- G
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 D! R' U) V6 e) t8 m- `- U& D* G
( M" e1 V4 _; o8 M$ Q9 E4 ^! Z/* create a logger instance */
, @1 K4 t8 n# f" A; lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; e% i* H7 U. q/ Y E9 avar loggerBufP = new LoggerBuf.Params();
) \; W! g" C; n" sloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: g! b, p! `) ^! G, P5 `, W* z3 ZloggerBufP.bufType = LoggerBuf.BufType_FIXED;
. H/ G9 N. y2 r) A$ R$ I5 j% G- h* }5 V' i. N- ~
var appLogger = LoggerBuf.create(loggerBufP);% K, ~; V1 y' ]; [
appLogger.instance.name = "AppLog_Core1";
9 y5 X) ~' _$ y1 ^* `* o4 ^Defaults.common$.logger = appLogger;& @& P, Q2 t- y8 R# V" {
Memory.defaultHeapSize = 0x8192;
% c8 G0 U* M6 r y2 b- Z1 tIdle.idleFxns[0] = "&LEDStatus";
" ~8 L# d, d$ S. z$ hCache.initSize.l2Size = Cache.L2Size_32K;
( p0 T# u, g, W, F' R
: J: J& M# E& w, i& r& m" c$ F6 ^ |
|