|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 ?; ?6 C5 J/ R- q8 r5 S" N我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' X6 d# k( e+ u1 J8 N9 L, c(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" C( ~, R+ g; I0 t/ F6 H' v
1 T7 e5 S( Z( G是不是需要在DSP.CFG中进行配置+ g" G5 S" d/ B
我现在的配置为8 P, V8 s' o2 C2 z2 h! E
3 k' [5 c$ n. W5 S
/*
& L5 I1 @' Z0 p: a- S* t * ======== Operating System Configuration ========
) R" g3 M- h j1 T */
# q- A/ @* x' d! H8 Y3 x' a/ i* ` z& k. L' g, q
/* no rts heap */+ `# F+ B- r- X' v
Program.heap = 0;; g: L# @" N' C; p3 u! @8 h# H# E! k
Program.argSize = 100; /* minimum size */3 E7 }7 q# Z+ J4 h2 F3 G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ x4 f# B$ D2 z, `( B9 Z( x7 \1 I/ Y# p: c' W: m X
/* create a default heap */
$ v$ r6 h R* k$ J8 ^; D Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, d5 [; |% R0 |' l. t) b+ E6 E( j# Qvar heapMemParams = new HeapMem.Params();
& N9 Q7 q. \% C6 {% k9 Z+ N mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& r, r0 T1 m" i* ^ w- T1 m9 T# Q6 _0 D9 b- I
var Memory = xdc.useModule('xdc.runtime.Memory');
) B G6 u7 G% a" D$ K/ W R- S. EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 N$ X( V' Q$ w( n) O) i
6 V' n/ Y- t% F P! C/* configure System module */6 a' F4 G6 S3 O1 I
var SysMin = xdc.useModule('xdc.runtime.SysMin');
, b3 u3 s6 b/ \! E" s6 JSysMin.bufSize = 0x1000;: }# m* G( e8 F" d7 R5 s: [7 p0 O
SysMin.flushAtExit = false;. s; h: j% S5 Z. o1 H8 {
2 D, v3 e' ~. U: O7 [0 j
var System = xdc.useModule('xdc.runtime.System');
/ @1 B& ~6 v7 U7 |- Q/ x/ k jSystem.SupportProxy = SysMin;
: h4 M: x$ X. B7 f! [1 H- u+ N4 Y s
/* configure SysBios to use the lower half of Timer 1 */7 U6 B1 Y1 D1 _! I& r
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ @/ z3 x+ K @+ L# [. jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
: F3 Y& v+ w, iTimer.timerSettings[1].master = true;
& L/ P0 N$ Z6 \- W& ZTimer.defaultHalf = Timer.Half_LOWER;% R e. D: s" l
Clock.timerId = 1;* L* U) t% w& u* ?& p! x% u K
, V/ a, m% h8 O7 T; E
# t& l7 @9 F4 x/ j$ d9 {
/*
5 y3 ? j+ a5 |+ o * ======== Miscellaneous Configuration ========
h3 g6 g" d* _7 D+ g7 W0 _ */! R3 J+ V3 x' | e: p" q0 G
& w, f2 u( ?. g z6 u ]/* set default diags mask */ y2 b) Z- {) z- m9 l6 n
var Diags = xdc.useModule('xdc.runtime.Diags');
! y( }% ^( X) @5 U' @5 evar Defaults = xdc.useModule('xdc.runtime.Defaults');
9 |9 q9 a1 o- Q/ X5 z- s0 A6 |8 O5 \3 _8 ]2 F% |8 f e3 ~" ]
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 H& l: c5 ]. y1 tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) R7 \% c6 X" ^2 V6 zDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;& V! w- m6 ]0 r; S0 x+ |4 V
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* @( r4 k% ~& g* j& h: {
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 I5 k( ^5 V: {# g, ?$ l ODefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ k8 L) w* b: q8 b; mDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! D8 k/ i: E& p5 t X
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 b& r$ o, `/ S3 }' S: T
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 o- k) j5 k: f' L+ A" q& Y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 ]$ U2 a& n2 H, V& d( }: {% j- ]
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% m! ?1 z' R+ ~, W+ S9 _: JDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 Q0 `2 k* o# P" y) }- a& R
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; l8 t$ u2 q4 @( a7 WDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ ~9 v# K, w- b0 g6 O! r
: @% ?- D7 ]& M& ?, E/ N% y/* override diags mask for selected modules */5 I' @: b" a4 b8 A: h
xdc.useModule('xdc.runtime.Main');
6 U& q+ e. Q1 D c# @+ Y# DDiags.setMaskMeta(
8 O9 w& i. W! [( ^ y* R' o& v! } "xdc.runtime.Main",
) ]4 J- N5 q. J5 |5 |, d4 K Diags.ENTRY | Diags.EXIT | Diags.INFO,
- g6 ?4 b; k) K( {& D/ R% q9 u& q Diags.RUNTIME_ON
3 y( b; ~5 a9 q: D7 D);
7 L9 M$ t9 ? k9 Q, `( ^& l
2 P, E' E4 J. b% N) Z7 {var Registry = xdc.useModule('xdc.runtime.Registry');
: I' V+ l4 N! Q- @' _Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& P) y G1 f3 x/ u. wRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 I! [" ~# V4 b) x. `" r. A- x
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
) u$ }- Q1 ^' L O# M4 r2 g1 F5 YRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;: D- Z- x" ?$ _0 g8 g& d6 u
2 O2 P$ o6 L$ H+ e
/* create a logger instance */
5 h! z- J* _! N8 e/ Y$ evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 n) N8 T+ K8 ]- V: u6 j4 C' ?. K7 g
var loggerBufP = new LoggerBuf.Params();; K2 @% y, V, P4 Z- {3 L8 M& T! S2 H" Q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. S6 h5 s6 E/ Q' y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;0 }: \6 u# `( i; l. o
- `* p6 Q d0 ^- r
var appLogger = LoggerBuf.create(loggerBufP);- g/ |7 r3 _+ N: ?; V. [ y" p. B
appLogger.instance.name = "AppLog_Core1";
& S& @; H5 \1 [5 r2 G0 j YDefaults.common$.logger = appLogger;
/ ^7 l5 r6 W* X; A& U0 h, w KMemory.defaultHeapSize = 0x8192; + t; K+ b- `8 p1 j
Idle.idleFxns[0] = "&LEDStatus";( @7 I( L3 d) I* j" l u
Cache.initSize.l2Size = Cache.L2Size_32K;2 Y$ @9 D( {" f& d8 ?
2 ~6 i7 R$ l! G o% w6 ]$ f d
|
|