|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 }1 B! Y' B1 q# n4 D# n3 p3 U& n
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. I5 }+ t* y4 K7 J8 }+ ]( t(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) V8 s& U% S" k1 j* n: X4 N( B
: r1 R7 R6 F) h) Q$ o y是不是需要在DSP.CFG中进行配置- i" N% G, ?! c8 ]5 ]4 i
我现在的配置为5 h3 N- B x% r) S" Q0 ~1 ~
/ [9 X9 g# L1 N4 F% z x
/*! B* G4 n, V( F/ d6 o" |
* ======== Operating System Configuration ========
- v' g8 ?) J: s( Y# T */
! G) N# P# Y0 O* w( c# G/ n2 l2 A/ r. \
/* no rts heap */
5 ^/ Z% G6 w- c1 E* t0 i7 M! N6 OProgram.heap = 0;% Z" f( m4 r' L3 _8 {
Program.argSize = 100; /* minimum size */
# c, t: D' \) d: Z# U' k! I/ N) uProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) O9 c" L* `1 A# |, h- w3 M$ y8 d( B& i& |/ z" \6 A+ D
/* create a default heap */
c, G% d* X" U. j/ Dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 {: \! s/ G2 W( a) K0 d* E' H6 S- y9 V
var heapMemParams = new HeapMem.Params();
$ F: f' x) q# {8 v& u3 \heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 a9 ~2 i' y1 Q2 X% j9 E/ Q8 G4 l D
var Memory = xdc.useModule('xdc.runtime.Memory');" v1 B1 |3 _$ E* d0 `7 x8 P$ d. S
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 ]- f. D2 ~# E& }
6 J, x' w4 x0 y/* configure System module */
4 c. s3 z7 i0 E; p7 ~ |8 Hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
% u" P$ P& @6 _1 i* nSysMin.bufSize = 0x1000;$ M9 d! K( r4 D1 v
SysMin.flushAtExit = false;+ R/ l k4 R- ~0 k& P
9 H) k( }; T3 n, vvar System = xdc.useModule('xdc.runtime.System');
6 ?( y% e; L4 g0 o8 X, ESystem.SupportProxy = SysMin;
( ~4 n: B- P, L/ u' S, T7 I1 C6 U' Z# f% g! Q) c
/* configure SysBios to use the lower half of Timer 1 */* s9 m/ F% a$ D
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) R+ V- }, d( e7 _: R0 Q, C6 h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 z7 `3 G1 R' O; y8 n) A
Timer.timerSettings[1].master = true;2 _. U6 h, w! ?( V8 g
Timer.defaultHalf = Timer.Half_LOWER;
5 q! q1 v6 @: n, {8 vClock.timerId = 1;+ y4 |* g3 B; D
. P; X: z/ [2 p9 u1 m/ c
4 S J A+ z( k( o
/*
7 o8 x7 w- @! i * ======== Miscellaneous Configuration ========1 x2 N! P U; {+ E' K2 L6 O; s1 U
*/
! y! u. A5 C" y" K4 z+ s* \3 |. M4 V) y; Y
/* set default diags mask */1 l8 V* [( y# y( X |
var Diags = xdc.useModule('xdc.runtime.Diags');" J T5 }9 E- c$ G9 ^6 J" g4 m
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' O5 }) \0 s& h) d0 t7 ]! E# J& i
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 K. o, A8 r$ L! l* y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 I! m' F9 G9 \5 sDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;, q0 @, G! B9 F
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 a* a9 |9 c2 A, hDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, t1 w0 W. r' A) T7 X
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ B9 j" J+ k# G, `/ }4 _2 L! e) T
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 A7 w5 ]8 L) t5 R+ W, R7 GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! G( F! Z+ R* Q; g6 k4 ?+ V3 \Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 ~# ~% }4 r: a2 fDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 P" ^- R, ~( l; q) ^
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; a, F- Q! K# P6 C+ Q! F+ Y4 b8 {
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 o: V3 m8 _6 ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% S6 g# h( | {" K8 D. i& C4 HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 _7 P5 F% W& Z* d# H
8 b; s3 I! y- X$ v, z
/* override diags mask for selected modules */$ d6 N S8 ^; A6 Z& w
xdc.useModule('xdc.runtime.Main');
' N8 W2 V7 Y1 yDiags.setMaskMeta($ E1 T) c5 O: R
"xdc.runtime.Main",
* C0 V. e7 |1 U$ [ Diags.ENTRY | Diags.EXIT | Diags.INFO,, ~$ R6 D) Q3 r9 X( _- a7 ~$ t
Diags.RUNTIME_ON& Q, m+ B6 ]+ k6 J- {1 C' j, Z
);
) b, _# Y1 \* L; i) |
/ m! l% J' F3 r, z8 @9 `6 Zvar Registry = xdc.useModule('xdc.runtime.Registry');
+ L3 ]7 B3 p, z* kRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( v/ |3 U" Y8 {% Y' LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;* f- g; h+ L& |$ l K5 y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;$ D+ a0 M! [7 T9 K5 E1 T$ D
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ N2 U9 t4 p6 W- k w8 h G5 l+ n! o0 u$ ~/ ]9 Y; _
/* create a logger instance */9 m, \5 z+ G8 p# @: ^$ A
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 u9 y/ E* p3 s" ~
var loggerBufP = new LoggerBuf.Params();6 e( k, @* X8 D2 f
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% ?1 w. ~- Y2 F7 BloggerBufP.bufType = LoggerBuf.BufType_FIXED;
# G" y0 L# Z' y6 T4 Z( ~* j- ?1 } ~/ e3 G0 h
var appLogger = LoggerBuf.create(loggerBufP);7 A, m* C. e5 V
appLogger.instance.name = "AppLog_Core1";
v! ]" e3 H4 s# S( {( w4 N" yDefaults.common$.logger = appLogger;& V& s P U' B' z
Memory.defaultHeapSize = 0x8192;
0 j: I6 I& D. t1 N/ f' z) hIdle.idleFxns[0] = "&LEDStatus";
; G3 H' G) G( u% H4 NCache.initSize.l2Size = Cache.L2Size_32K;9 _' X, k+ N% f# `$ j
^" V9 l$ O0 ]
|
|