|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) H0 J; @' T; E6 K; I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% {- |! d5 l9 d2 m$ w! V6 s0 C(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- H% ~% t; D8 b, r) K8 o$ V0 \* }5 v8 d; c
是不是需要在DSP.CFG中进行配置2 H1 R& f1 }5 g. J$ L6 r
我现在的配置为$ v) V3 ~$ a7 y) l- A; o9 [
% w7 E3 n% A) E- T% x* K/*
* w+ F& e Z4 ?' D * ======== Operating System Configuration ========
/ W, k4 y V2 `; }3 b */
6 d6 K1 _; k" [) U! o5 [( i" ^" S7 M
! _& @0 E# T4 b( |( s& c/* no rts heap */
9 r& }4 T5 v" |6 g. R9 XProgram.heap = 0;1 K. O9 l: y2 ^' x
Program.argSize = 100; /* minimum size */
5 C! \% W: G9 E5 o6 H& CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大- c F1 K* n# `4 u( h6 ~
( ]! w6 p! z# a. ~9 y/* create a default heap */0 U7 g2 t: ^1 U
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# g0 T0 q- B: @2 i1 V6 X t& X
var heapMemParams = new HeapMem.Params();
3 ~; l4 v% y3 G7 E! Z( NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& V$ l! S4 J/ ]+ P" Z6 E. ~, i% S# F
, i$ t9 B. ?, b! b) |
var Memory = xdc.useModule('xdc.runtime.Memory');5 [" R0 |, H! M& E- x8 u! _
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- w4 ]7 M; d1 z! Y
5 j3 [# f( |+ s* Y% d/* configure System module */
& N3 x* m& y! evar SysMin = xdc.useModule('xdc.runtime.SysMin');
- s: ^7 A9 R0 _7 uSysMin.bufSize = 0x1000;
. Z" w. P2 i- BSysMin.flushAtExit = false;
7 L1 V6 x' y" F7 s7 |
9 f% E T. f3 f; ovar System = xdc.useModule('xdc.runtime.System');8 [/ _ i* j' _0 q9 o4 W* e$ F' k/ p/ S
System.SupportProxy = SysMin;9 w! S$ @1 `7 F% `/ C( ^4 r3 o
- s0 k4 r6 P" g1 I
/* configure SysBios to use the lower half of Timer 1 */( [3 N2 l1 F/ Q/ Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! F3 V1 j( B2 Y, v: C" g bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');' `/ N# K! z& l7 @2 h, g* f8 c( M. H
Timer.timerSettings[1].master = true;
7 R$ x: r2 w9 u5 ITimer.defaultHalf = Timer.Half_LOWER;
! I0 W7 P8 V# oClock.timerId = 1;8 j3 ~" _( o% q0 F& p6 t s6 T3 }
% b" O# d9 Y7 f( W' R: y9 F9 i
; [$ f$ f- @+ M; V9 B/*4 ]( E6 |; \4 B- P( i
* ======== Miscellaneous Configuration ======== X, C; ]* C0 k& q" ^1 U
*/+ O9 \3 o- G- u3 L5 G- M
% x* @8 K. L- l" ^
/* set default diags mask */& O8 a4 P( J. K% j" K) V
var Diags = xdc.useModule('xdc.runtime.Diags');
. ~1 s) M5 ^& B. v$ v& K# Dvar Defaults = xdc.useModule('xdc.runtime.Defaults');: d( q, _5 X# v
; p1 c }9 b* U+ v$ w [/ Q' JDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ h! G6 F9 E1 K3 }1 C1 S; i4 wDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" l( ^: _- c: x; F* E: B
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 W& W! ~; A8 R: C
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! C3 Q) S- {5 Y% P
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 Y- J$ d) W# w9 JDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 ~, l3 a! d9 u, p0 Z& m! Z$ j
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 l7 f3 S3 w! F
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 K" Q# Q; Z( K: A3 `' S/ f( N6 E2 Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( j9 e9 e( X! a7 j, NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF; B. z( L" o* u9 M
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* L# b* D W, ?/ |$ ?# T; i5 Q9 B
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! [* z' d( h; B# D$ y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. Y5 Q }& M' l: [' j0 V+ q6 h1 qDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& v, v! @% k/ _3 O/ G
" R6 D, P4 H: L* ^9 }/* override diags mask for selected modules */
# Q+ v4 d/ L) O# H) W2 hxdc.useModule('xdc.runtime.Main');
: ?5 T1 v: F6 \( B" ^4 `Diags.setMaskMeta(3 l7 |, c5 ]8 u$ k; l! Z& ]
"xdc.runtime.Main",
, i7 J. t& o; y: P+ _. N Diags.ENTRY | Diags.EXIT | Diags.INFO,
) o5 f+ R9 h, p; u M) P2 A Diags.RUNTIME_ON4 P% R) a4 Z9 e
);
. M, G; }( \* x9 d# D* @/ ^" r0 H- |; G+ j% A
var Registry = xdc.useModule('xdc.runtime.Registry');
6 l: y2 T/ e; j) c% lRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" B* z* s. e0 {# T: A) fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;. [+ P% j" R2 Y8 y; K% \* b
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 w6 t! A# F( v; IRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' @7 z. M T% }! K- } h" Q7 p9 F& A2 l, S2 V
/* create a logger instance */0 \2 e+ Q7 V! K- Z+ G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. K4 u4 W+ ^7 A0 L1 n# h4 h5 u
var loggerBufP = new LoggerBuf.Params();9 f% V& O( e! k% G, n4 c9 B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// d! k+ \! i* v) @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
& p9 P- d2 H) D4 _; V Z/ g- ^: r5 U: U
var appLogger = LoggerBuf.create(loggerBufP);
0 E+ o" e/ p: l! NappLogger.instance.name = "AppLog_Core1";" C2 w: {! i# u" q* L
Defaults.common$.logger = appLogger;. l4 {% q4 j( g5 J z! H1 K. q
Memory.defaultHeapSize = 0x8192; ! I9 d" W: q4 h6 [- H ]2 K; y! V
Idle.idleFxns[0] = "&LEDStatus";
$ b2 {8 e2 W ? SCache.initSize.l2Size = Cache.L2Size_32K;! n% c) }6 X& Y. k' H% [( g7 w5 M; @
Y& K3 p- r7 F5 z5 c/ Q |
|