|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ K, X6 m- t( |8 z: J& u* P% F0 ]
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- A& o/ \" \( @0 J8 t0 |) W4 b
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 X. v, y2 r8 u
) E- c, [: a' _/ T0 b# t是不是需要在DSP.CFG中进行配置
3 Q( s( K% q. u. R9 e我现在的配置为
6 q0 a. g; J+ W; V4 Q/ ]8 A: i
/*
- G J( ^ c9 Q/ I9 q, f * ======== Operating System Configuration ========+ x3 z! g7 Z$ d' R# u
*/ Z- ]! o2 Y$ V' v6 A8 p" E
. z8 }& c9 m: m( y) c( i2 ]/* no rts heap */' k7 M2 U# C% R8 A! h# Z
Program.heap = 0;- H% s& |7 H+ n& F7 i v4 w0 J
Program.argSize = 100; /* minimum size */
/ \4 Q/ q- K. v- Q- j5 yProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' L& a! y# }1 A! v* t
, C' Q; f# f O# y+ [/* create a default heap */
$ G% q( b6 Q0 e% Z$ N! K2 J! {1 ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 y" B2 q( [: N1 ?+ ?
var heapMemParams = new HeapMem.Params();. o; Q1 I- a# f/ _7 V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 b8 g, a; U) Z. ^ @5 x
; b& P3 Q1 l7 k# \: i: C
var Memory = xdc.useModule('xdc.runtime.Memory');2 t5 x0 C$ J) l6 w
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
; j# b u& z$ M! Y% D8 a- R* K m) o! l8 A" X$ {9 A% a
/* configure System module */
/ H' R0 c Q Z% t7 _- J* j5 [, v8 \var SysMin = xdc.useModule('xdc.runtime.SysMin');
: o6 b( o# c" lSysMin.bufSize = 0x1000;
, @8 H5 r- s1 L( e7 ] YSysMin.flushAtExit = false;
9 X, K' R- e0 M9 C. k S7 C; R6 _, L! w/ k9 t& E! G! o% B( J
var System = xdc.useModule('xdc.runtime.System');
) e+ _2 p* q5 N. y* p+ P; VSystem.SupportProxy = SysMin;
7 t, B; Z& O5 k3 _3 g
, _ n. Q [, |/ U! n/* configure SysBios to use the lower half of Timer 1 */
5 Z7 L/ H1 v# ]/ r# N; Z. zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 n2 ~2 L( Y* I- ^6 M' a% Yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 r2 r6 V$ F$ @5 {Timer.timerSettings[1].master = true;
! [4 `- e: X7 K( _: ]& TTimer.defaultHalf = Timer.Half_LOWER;
: B2 m4 [8 l- y% v7 e, ^3 ]" uClock.timerId = 1;& E3 S! }! d- W
% j. \* O8 f) A7 J, X, V( ^- o u+ V! g, ]4 P+ }7 p
/*
2 S" W( A7 J5 g& Q$ }$ ]# O9 { * ======== Miscellaneous Configuration ========% w! i2 i! e6 b) W9 _, D
*/
9 p& D$ C; I; }8 m
" r! f& ?+ R8 x3 d. I/* set default diags mask */0 p0 N: q, Z9 R7 R U
var Diags = xdc.useModule('xdc.runtime.Diags');
0 {$ V+ l$ R8 \3 `6 lvar Defaults = xdc.useModule('xdc.runtime.Defaults');: |5 B1 _4 S$ `4 K! n
) }8 G( M( q; c6 {7 u0 p, _9 t, aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 u( S u& c2 E# A$ `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 N1 V* z0 H) s) N5 d qDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 F0 m& |: [" D, F: e/ ?* XDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& D$ q" F9 a8 A" u0 t: s" [3 U
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' T, r7 h$ t! g+ U. d/ r; C
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;) P; L3 S4 L$ h8 F7 L
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
; ^+ g+ U0 F" F6 C8 h: Q6 iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- T, L& o) l q ^2 }
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;* X( E- ^+ p& L" U5 J; X( r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 g1 e/ I$ E" y/ T# HDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 ~$ ~6 D, d0 x6 n0 R
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( p( r0 A5 Y# G/ X7 b. x- H: L6 [
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& N5 |$ v U8 X6 {Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ u( S. Q8 P$ |: [
! ^' M) a* E, ^/* override diags mask for selected modules */$ X' I( ]% M1 I3 _/ L( ^6 X
xdc.useModule('xdc.runtime.Main');0 N( g- n' ?4 f( S
Diags.setMaskMeta(- v; I% Q' c3 L
"xdc.runtime.Main",
# g. |! r. K% ?* F Diags.ENTRY | Diags.EXIT | Diags.INFO,
; b# N+ d" l$ V2 C Diags.RUNTIME_ON `' N; A ~& D6 d5 d
);
2 z* j1 l* c2 o3 i; A& A
! S8 ?2 Z% l, K: e* q) b! f/ Dvar Registry = xdc.useModule('xdc.runtime.Registry');
$ Q D1 {; g! E0 M! E0 @Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- o6 `; y, I" G0 y- w5 Z$ SRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ L8 u2 M- y( w9 @9 y- }& |0 m" n: H% V
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;$ E- C4 c. E; y* r: M. q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 {- p M2 X2 Q3 }! T- s9 k4 v) [ D
/* create a logger instance */8 x/ N7 G+ J# W: F
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# [0 T# {) ?0 m9 x& t
var loggerBufP = new LoggerBuf.Params();4 ~, K. d. X) P. @* x7 t1 C
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
T3 K; k5 `- c+ {) b- y- v) ~loggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 M5 f7 g( K2 U. a6 @. P% u1 f1 W. m* ]! s
var appLogger = LoggerBuf.create(loggerBufP);
& s% t0 C! P3 h' |1 \appLogger.instance.name = "AppLog_Core1";9 p% b3 Y% T6 l; n h4 E
Defaults.common$.logger = appLogger;
* }( v/ l4 ]" G4 v% }7 ^5 ^Memory.defaultHeapSize = 0x8192;
, k; c+ r; W" _1 o! H8 MIdle.idleFxns[0] = "&LEDStatus";+ |/ l, z' }* ]8 q5 l/ ]
Cache.initSize.l2Size = Cache.L2Size_32K;
. k E7 |' k5 A% w$ d+ }, d( r
# x7 N$ ?# ]$ u0 _6 ^# t0 \ |
|