|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 Z m$ z8 G9 a8 k4 J
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& S$ E `8 g0 d M
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 w- e, v+ F' X" _8 p0 `7 r- _/ w
8 w9 c5 ?/ v, `* O- { e, V是不是需要在DSP.CFG中进行配置" ` k- j. i& q2 J! L) h
我现在的配置为5 c1 s0 J, P! H- ?
) u4 V9 h$ I9 O s% ^/*% l9 H% }) c! w) W8 |* R
* ======== Operating System Configuration ========$ A! V2 X7 H5 v; t9 R
*/
7 A! v# y: p. P- }; h( [
; n2 O# M/ u% p+ g/* no rts heap */
, V+ j; H$ I5 gProgram.heap = 0;6 ?1 y2 C/ h3 }
Program.argSize = 100; /* minimum size */
/ R& }$ p2 l: T' z @. y/ }0 b* {* N* OProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( [3 y5 }& ]! J/ }% Z" y m x8 Q: u8 u b1 C8 @5 F
/* create a default heap */7 X' Y, e( |# Q) w& |
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ f+ c1 |3 D( h& w2 ], V
var heapMemParams = new HeapMem.Params();, U, j+ P, q; q( u2 M
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* U" j8 _& v/ U4 \4 W) c; Z8 W* k
/ i5 Y( L& s% V5 E$ R# U; qvar Memory = xdc.useModule('xdc.runtime.Memory');- R0 ^9 b: P9 y+ S4 h( h
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 h0 ^$ D$ B6 L- u- Y1 L( o8 M9 T4 e8 ]6 v; n
/* configure System module */+ u: M+ P" A5 f1 L
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 ~- v3 j8 V) s6 j6 D. u: b7 GSysMin.bufSize = 0x1000;
4 ]- q& N, J5 c( F) A" FSysMin.flushAtExit = false;
) |$ K% l( M% Z }5 m' M% N9 `0 Q( l+ q; W8 |. A
var System = xdc.useModule('xdc.runtime.System'); @% x( a9 A- \8 j9 p0 c
System.SupportProxy = SysMin;
% u9 H- F( H! T; A1 l3 E* O v" p0 J W' G; i) [
/* configure SysBios to use the lower half of Timer 1 */
& o* Y; [) B7 z3 e: L0 Uvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( A7 j J' A4 a7 j! o7 o/ h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, b9 O, ?7 `. D, L( ]3 x' ITimer.timerSettings[1].master = true;
( x- Z) v( c* l7 b& nTimer.defaultHalf = Timer.Half_LOWER;
& ~, w8 E. Y+ D8 E! e: WClock.timerId = 1;
7 ^# a! K$ `5 d Z' B
c8 b& k1 O: F1 C9 ?! f8 `, B, h
+ q$ T1 L! Q9 r9 M/ P& L0 Q/*" ]; K- w8 q. F5 G1 p7 E
* ======== Miscellaneous Configuration ========/ ~8 X6 K; c7 p4 M- N6 \: t/ F
*/" }" n/ E# f) ]
* k! _: @7 W2 u) T/ Y* x/* set default diags mask */. A6 ]8 u4 G1 |' m7 F" ^$ T
var Diags = xdc.useModule('xdc.runtime.Diags');* b) B5 s8 q& ^3 |
var Defaults = xdc.useModule('xdc.runtime.Defaults');; h6 L: \6 l3 @5 [
# d; p/ J$ E i) E
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 N' h3 r2 g7 Q5 q! i% m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 Q! M) q7 ^/ a0 ~- ?; p- L/ h' rDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" \5 {/ ~3 u! V% dDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ C0 x) G7 o- ]5 l- ?8 w: Y7 L
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" x$ X6 u1 m8 z- e& UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;' v$ s1 S+ y9 v, `9 Q W9 H8 o8 s
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 z$ L; W: M/ q) UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( Q1 p( W$ x( `- k; Q! J
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' B0 I5 v5 j! j: e" A1 Z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: c" M) O- j' {# `9 |7 ~Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 P7 v- c' G3 b. H7 k# W2 t& CDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% j z# C: _5 b8 ?( V% a
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! L7 F' ?0 K' i
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 B: `* l- I! V+ y
6 e4 a0 H! } a, M, W" J/* override diags mask for selected modules */
" I3 d, T* E6 _: Hxdc.useModule('xdc.runtime.Main');9 `0 ^$ ]% K: I1 H3 M. }
Diags.setMaskMeta(! g: V% n% X$ {% C5 o' P$ ^8 L
"xdc.runtime.Main",
1 \0 b% Q) G. D4 N2 t Diags.ENTRY | Diags.EXIT | Diags.INFO,# a+ Y' Q2 \, W, S% i
Diags.RUNTIME_ON
3 ^% G6 `3 o Q1 y);
* Y& L7 z- d% a' e# t" ^+ u: G7 P- c/ a8 e' c! p5 v# e
var Registry = xdc.useModule('xdc.runtime.Registry');
# P; O5 K7 b1 g( [2 L8 ^ H6 p; QRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ R+ E# |. V+ h7 P) O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- L. y, I3 N' N2 _4 a7 I% C9 H1 LRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. r* G7 K3 k( h( P+ w) ?Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;! m% k5 ]7 H& a I
$ ~1 X6 s) \% K/* create a logger instance */5 n* ]$ ?+ G) G: b) `# }& q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; X( x+ j5 L* b) S. | m
var loggerBufP = new LoggerBuf.Params();
$ D' i5 z: G. w) S( T" GloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 O- _; r8 P0 G/ t2 a0 F) @! hloggerBufP.bufType = LoggerBuf.BufType_FIXED;8 u/ p: c& n' k% \# P- d& j
. L6 v1 W, u: h7 @7 k! {1 M5 I
var appLogger = LoggerBuf.create(loggerBufP);7 i p5 _! S2 s* y5 a8 A
appLogger.instance.name = "AppLog_Core1";
1 \3 k: f9 g4 @+ x$ yDefaults.common$.logger = appLogger;" B4 S7 t8 P4 E- \5 D) L/ o7 [0 {
Memory.defaultHeapSize = 0x8192;
$ l) P- [3 r' a, U) BIdle.idleFxns[0] = "&LEDStatus";
+ X4 }) Z( Z* o! q1 HCache.initSize.l2Size = Cache.L2Size_32K;( A/ Z* V2 c: u3 E) ]
4 D3 P0 V! T5 \' b$ c6 w
|
|