|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, P) e2 k6 K0 H" z; j! e
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: m5 `) }+ D; S7 X- `( d) B* C(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 m* X+ d# \. V4 q2 _
: i" k6 H& T+ y, y- h9 z是不是需要在DSP.CFG中进行配置3 r" B* R+ f+ G% M7 P: Z
我现在的配置为 H% G% V& V/ b% t$ F5 z8 U
+ m6 j5 u' E, D! u/*
% L; c( t$ a5 F* w3 K * ======== Operating System Configuration ========
% c% h3 O% Z2 \* z3 s! w */% Z8 x) I/ {; L/ @! x, n
/ ~8 D }/ g0 u/ R9 d0 e9 k/* no rts heap */
* T/ z8 |8 Y, ~+ m, \3 LProgram.heap = 0;2 m6 R# Q, V' |9 Y9 }6 K8 Y4 u) o9 f" |
Program.argSize = 100; /* minimum size */6 J. U' o" M( Q" |! K
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大) y' F% ]! b4 D" g5 `. c$ }
$ @ ~& A! {" m3 @7 |& {1 S N
/* create a default heap */" W! O3 U, C. J; ]5 w1 e
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 p3 h6 @0 h6 p$ s$ S
var heapMemParams = new HeapMem.Params();
! A1 \5 I j6 i2 B; U4 p. CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 J9 \$ l1 L# i( Z( ~5 O# ] A; ~! C6 R4 j5 U; Z8 [
var Memory = xdc.useModule('xdc.runtime.Memory');
9 g0 `$ {$ U w6 T1 ?: aMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
! W5 C+ d2 c/ ~! W; L: w' P. X+ x! Z% @, I5 J& g+ ~; G _3 Z
/* configure System module */1 V* y' Z. ~4 o7 v+ d1 d) |; h. ^
var SysMin = xdc.useModule('xdc.runtime.SysMin');& e1 X R7 r5 D# c
SysMin.bufSize = 0x1000;' Z0 Q6 f: }& X
SysMin.flushAtExit = false;
% l5 I; ?* q( Q o/ J! M" ?7 k3 X1 Y% n. f) |6 P
var System = xdc.useModule('xdc.runtime.System');5 y, A4 R& Z l8 R
System.SupportProxy = SysMin;$ d1 o( }0 w6 w7 D/ D& P8 Z8 n6 `2 K% V
$ J) u) V. [2 I7 ^$ Q2 K/* configure SysBios to use the lower half of Timer 1 */
4 G; l+ U% d6 a& V' {7 K& lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! o2 L, H2 d9 k0 K# f( ^+ s: u
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' ~9 B: y7 r4 K& G( G$ wTimer.timerSettings[1].master = true;, o! F9 B3 z* E% m
Timer.defaultHalf = Timer.Half_LOWER;
& P1 n; E7 b% Y5 TClock.timerId = 1;( B8 b4 o7 Q3 I" j) D
" D9 }7 u; U$ i# X) B/ ^( ~
# k8 D4 U! { _& H0 T+ E/*
* k) e; K" p) |7 `& E- u* Z * ======== Miscellaneous Configuration ========8 @6 n! `! h. ~+ x' f
*/
% C/ I: n* r# C( \! j& r: ?+ G: U6 y7 d1 g t6 G6 ~& Y
/* set default diags mask */# l, D* I5 ~* i6 g7 d
var Diags = xdc.useModule('xdc.runtime.Diags');# k9 @: V( _5 l x8 K
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; R/ w) h- _* R- E6 p# f9 t; y3 C% r# Y
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 f0 @$ c2 z* N1 e2 U5 eDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 o# f" m6 b/ N* S g X" n7 kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# R9 _3 S' Y* |Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 S- a3 J: R/ m4 s% o$ @$ a* W
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 X: ~" U2 Y& C8 q6 A# K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;) [/ B% D' l- n3 m G
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 P2 Y6 w* V! G1 `Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: |: t8 m0 ]" w& V! u- C9 E# RDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! W2 e0 D( \3 o7 o- GDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ n0 d7 }0 f! ^7 d8 m; E( rDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( {: D. H+ I9 iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 @- O4 u2 ]/ W. F0 hDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;% _) h1 ~- F* T2 W4 T
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* i0 T* ~8 X o5 c0 I2 {
# O U% [) y% d& `
/* override diags mask for selected modules */) H! T1 e/ H3 M5 F! g, v- K& r
xdc.useModule('xdc.runtime.Main');: Y- T- b) Y1 q4 [$ \; G; x/ h7 w! e
Diags.setMaskMeta(2 H. x4 D8 d4 B
"xdc.runtime.Main",
" |- t# b# X7 B8 j7 L" c8 K! b; i Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 q1 h2 @$ e" N( d' e- j Diags.RUNTIME_ON
) O' V5 U* e& H( [( i);
( R% Q( ^2 z1 f6 ?# C/ ]- Z: L) w% f4 S: {
var Registry = xdc.useModule('xdc.runtime.Registry');
" ~9 |* ^- q+ h8 R) k6 e% }Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' J! [6 {* `: IRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;) d) K! a7 h) f4 s, U, R
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& j" |. {- R' p0 ^! u. c! Q$ FRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 v& }/ a5 ?" a- [4 b- D) I( o
- c/ e8 a3 B% D$ [: Q& o' H+ W/* create a logger instance */
2 q# \7 m( q5 l# @' { @) D2 Bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 Q+ ?) Q) O d
var loggerBufP = new LoggerBuf.Params();- V+ e* j# o# Q6 v2 @: O* U. `
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: S6 e; A+ f) B6 O# l6 x2 C, z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" g0 J0 m- x, x* R- I/ V- ]- |
" b( y3 p3 U- }9 evar appLogger = LoggerBuf.create(loggerBufP);
8 U0 U) ?" n5 BappLogger.instance.name = "AppLog_Core1";
/ {; @. _4 [2 QDefaults.common$.logger = appLogger;
+ M& ~$ U8 K4 ~8 eMemory.defaultHeapSize = 0x8192;
/ N; [$ y) q; u/ z7 t, ?Idle.idleFxns[0] = "&LEDStatus";
8 G/ N# D- H5 [% I7 F9 k8 }9 @# \# pCache.initSize.l2Size = Cache.L2Size_32K;( l6 @2 w- D1 y c) n
3 N/ b( K+ x7 U: m |
|