|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* Q, ~# _) Q! J2 L
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ P9 n4 D" {$ S" _8 N( ^$ X! t
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ x: b6 J- m" n; g; ]' P* ]. f4 N# ^
是不是需要在DSP.CFG中进行配置
+ W9 Q7 Q& e4 t. `; ~0 T8 z我现在的配置为
- ]( P6 s' o1 P/ ?1 t( B# e+ q- }8 v: m' d5 g
/*# W1 k% k- W: ~2 e9 q7 m& E
* ======== Operating System Configuration ========
" s. H% f/ @& k. M0 t$ i */
6 U* r: `) U4 }
0 t0 E; {8 c5 b. _/ v1 F/* no rts heap */
- {1 v- S/ g/ I9 }2 {# CProgram.heap = 0;
9 x9 r/ D) O& [ a. mProgram.argSize = 100; /* minimum size */
* M: d, ^( h( o7 G4 j* E4 ~8 SProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ D3 S9 z8 E5 s
1 Z: z# Y& q1 ?8 x8 p- y
/* create a default heap */9 x7 d1 P% ?; e+ M. r3 F
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ o, `6 z) I# ]: o% V
var heapMemParams = new HeapMem.Params();7 U" W9 Z7 ]% p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 { f2 \( u7 H$ j; v
. P) p, E' y- [. p' x& b
var Memory = xdc.useModule('xdc.runtime.Memory');
# ^4 c* b- ^, vMemory.defaultHeapInstance = HeapMem.create(heapMemParams);( W9 `, R% x! S1 O
4 ^6 V- S) D# i/ S" C D
/* configure System module */% |% n$ Q1 S) E9 x* f
var SysMin = xdc.useModule('xdc.runtime.SysMin');8 r* x7 @ v1 G# F2 l& M! c
SysMin.bufSize = 0x1000;0 y$ Q) C$ S* K v6 ], g: D- r2 Z
SysMin.flushAtExit = false;5 t6 q; V. l! B% J+ J7 |& h1 j v' r
8 w# h5 e0 N* ]var System = xdc.useModule('xdc.runtime.System');- i; ^2 j& q0 ]8 g) B; |
System.SupportProxy = SysMin;# K& J. D2 I5 K! i6 b
- ~8 i+ ]) s$ l( ]4 m
/* configure SysBios to use the lower half of Timer 1 */, W; o; H1 v3 W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 F. W! v2 M8 h9 H( Pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');7 W7 j2 o$ N: J( ?* W2 T
Timer.timerSettings[1].master = true;
* Z! R: g0 W; N& F" R9 z' k: \Timer.defaultHalf = Timer.Half_LOWER;$ ]( T: \+ e2 K+ Y3 X
Clock.timerId = 1;; z/ S8 Z# H1 ]% ?2 ?* Y! X
$ {. j- H( |( `6 h5 D" j: N
v) t+ d" m s# L- `9 G$ x/*
9 S0 u9 Q" A8 v$ `: p' Y * ======== Miscellaneous Configuration ======== @3 P6 L# Z6 u( @5 i. [9 S
*/7 g/ {9 r8 y9 B. Y
, S8 \( H& K& ^( @; Q* | n' e/* set default diags mask */
S6 ?3 p9 C# L8 Fvar Diags = xdc.useModule('xdc.runtime.Diags');
$ D+ f B T' _- u Ovar Defaults = xdc.useModule('xdc.runtime.Defaults');$ S8 e4 E7 ~) g4 w, o& h, I4 M
! y$ I4 G9 \) {6 @
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 h y1 [. l7 @( w5 n7 N2 D# NDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
* y0 v: F2 } o: n3 \Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" L ^, `) e8 K Z$ D8 r6 g
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 a1 o& L' E" m" C( K6 {7 G* b; jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; ^: G' w& c- D/ p1 S' j8 \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;, s) J& C; A3 P/ o/ s; C8 x8 n
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 `8 y, |7 T8 s2 u6 ?* gDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ L. T; R( Z# ]. h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% G; L- ~' ^1 G& g2 F
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( }6 k3 k# w* R+ ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; P3 i% r# Z5 U; F4 o' f( Z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, ^; K& L5 W( x# u
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! S4 x1 J: A" n9 y
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, l; i; K1 Q1 {. J! v8 U, U6 G! J9 _* ~# S
/* override diags mask for selected modules */$ E% j* R9 S0 z' D
xdc.useModule('xdc.runtime.Main');3 _ s1 M! u q% ^6 W/ n% R
Diags.setMaskMeta(
1 X" Z5 y* y6 U$ R# }6 e "xdc.runtime.Main",
, y+ k+ _/ w8 u3 s$ s Diags.ENTRY | Diags.EXIT | Diags.INFO,7 ^5 F0 }6 v0 f
Diags.RUNTIME_ON. K m& l$ e- U+ }& a
);
7 ~+ z# R. ]4 g2 s5 u9 _6 N) {' T! O+ D6 B3 e1 s+ y1 g* |/ r
var Registry = xdc.useModule('xdc.runtime.Registry'); F1 }8 \+ A0 {" o
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 v9 |* C: v& X& GRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ Y5 ?) n/ ]" S: u2 cRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;& p( A" P3 V3 ]3 ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;; ^5 i. m) d( I+ N# H/ @; ]
* n7 C$ _% b/ }3 [4 J/* create a logger instance *// S8 Y# b Y* ?5 X. ]
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" B- R. B/ d! C5 `& evar loggerBufP = new LoggerBuf.Params();3 y! k( K7 `* r4 c# X1 ?) u
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( o- X t; j" G C% z; A% m' rloggerBufP.bufType = LoggerBuf.BufType_FIXED;& H1 }& O2 G( R
1 s$ ]; K6 X' S' r1 K3 I
var appLogger = LoggerBuf.create(loggerBufP);
5 C8 `0 Q; s* r3 |appLogger.instance.name = "AppLog_Core1";0 Y7 y; K0 l$ a0 |1 }3 x
Defaults.common$.logger = appLogger;
) c% F Q, \5 @9 m6 U1 G3 r. rMemory.defaultHeapSize = 0x8192;
8 V' L, I) |2 H: iIdle.idleFxns[0] = "&LEDStatus";- b+ B& K e, f- j. \- t) i3 f- F0 }
Cache.initSize.l2Size = Cache.L2Size_32K;' T! f( m' a+ P' a/ {7 R" ^3 ]
: @0 K5 ]/ w4 ]& c" Z
|
|