|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& ^8 B: c! K% u, u8 K/ Q9 U
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* c0 o0 w+ d4 Y2 o. u% S% O(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: z. y8 H) g( Y9 x! W/ q7 h1 Y" I7 c, `
是不是需要在DSP.CFG中进行配置# Q# x4 V' j. b' a8 X0 m8 D
我现在的配置为
8 ~0 D/ z( m6 Y
, q( |5 O& G" {# U! ?1 _2 [/*! h6 \1 x3 q6 B8 z
* ======== Operating System Configuration ========
/ ]8 Z) o' g) B+ N9 ?8 q */
1 C+ S6 E& @6 L) P ? B6 S% j1 y0 G) y: n8 ?
/* no rts heap */
" ~) D8 f, u M$ o) UProgram.heap = 0;+ v d5 g) _0 y9 s
Program.argSize = 100; /* minimum size */* t( w9 a' a8 H% u+ C
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 q; b( ?2 }" u" L+ B/ D% s8 s0 k/ n
/* create a default heap */
) c) G: d8 b) _4 w" K& ^: Avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+ d# v- t: \. ^, O4 a' K1 nvar heapMemParams = new HeapMem.Params();
3 C8 ]* @' q9 RheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* T- Z& |( S1 G) f) p% E/ N( N7 V3 U0 F
8 S& m: `! J; tvar Memory = xdc.useModule('xdc.runtime.Memory');2 J# V: U4 N8 ~4 ?5 x
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 n' O& F: Y7 T# ], C6 m; G
# F6 `7 h' W6 A4 a- g/* configure System module */: V9 r% Y1 Z6 ?1 u2 A
var SysMin = xdc.useModule('xdc.runtime.SysMin');& O. _. M, n/ Y5 `$ w$ Q I
SysMin.bufSize = 0x1000;7 l: Z; Q3 [) q2 Z- H9 ^
SysMin.flushAtExit = false;
" W: }1 Z ]- W/ n) k& V$ E: a0 H" B4 z; g$ I, m) D8 l( ^
var System = xdc.useModule('xdc.runtime.System');* u; G$ @$ ]0 }
System.SupportProxy = SysMin;! e8 \1 C6 |* j
6 y" P$ F8 w- u4 q3 ^
/* configure SysBios to use the lower half of Timer 1 */: F6 \" L, k0 `1 p& D) g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" q" a* S- [# O2 f% t; cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');: F4 ^0 m, S8 A1 ]: ?2 T
Timer.timerSettings[1].master = true;
' c' J0 H9 D& s5 RTimer.defaultHalf = Timer.Half_LOWER;7 I) Z; ^9 r5 m: a' l
Clock.timerId = 1;$ i2 F2 D& t) d4 g
+ r# v6 k* N( I& w) U4 A
( c4 _2 L6 K# u6 R& D/*
) L& ` F; c$ ~/ E9 ^" g: J * ======== Miscellaneous Configuration ========
: ]/ B' T) h8 i+ s: M */. Q/ z: }' [$ D- d
; _# p& X( O. ]' C/* set default diags mask */
9 j* X! H. P8 n" R- `( |var Diags = xdc.useModule('xdc.runtime.Diags');1 U/ ~$ J. `6 m- z
var Defaults = xdc.useModule('xdc.runtime.Defaults');% g4 x3 f6 d% ?
( l; J, E0 M7 [5 }$ a+ n
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! c/ q$ d) T- v+ m) p
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 l* w- b4 S4 d: b$ D9 A
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: U Q4 f7 o1 S: s, _6 d
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' @# c" B. _* ~6 ~' J
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- T& T( ?2 a: F$ m( ODefaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ T4 b3 w- L5 s' v( x$ e3 ]
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! F1 N( {0 S H" U5 a# ~9 ?! Q# A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 N3 I( P4 Y5 I- ~
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! j6 M: F0 H, I+ a2 [7 k. vDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 s# H% m8 }* Y a. I2 j! c! W; Z VDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ G/ K. Z! N( E( n0 U
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& s9 Q: g/ a$ z) a5 P% J4 f
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& S& R1 I) z# _* ?# o" }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, S. p) U5 U4 s8 @; v4 M3 i8 h
0 c+ {1 I6 K! y) \# a) ^/* override diags mask for selected modules */, z" r# y* A3 G
xdc.useModule('xdc.runtime.Main');
, X# Y1 d9 n2 f9 kDiags.setMaskMeta(
! ^. i( [' m' @5 E a- t "xdc.runtime.Main",
! n- v9 i$ Z. ?, ^ Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 r6 x' s) B" L X: | q; u$ w Diags.RUNTIME_ON% E7 `; j/ |" `: ^) _ Q
);
- ~, r3 M! d5 B; z
! v! _( S- O4 R2 {. j* pvar Registry = xdc.useModule('xdc.runtime.Registry'); U1 M$ O) Y9 K/ A' A- Z1 d
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 @5 U# m! l/ {6 n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* M5 \* |* X" V$ m# o8 j+ B* n c2 KRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
, N% u6 ~: ?( L3 r* y5 NRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF; f2 `$ Y( Z2 B& s! ]: Q! e% s
0 _- ?$ X9 i! c# f. `& J0 Z" ]2 ?
/* create a logger instance */2 _* D. n7 ^# p( k; K% q: [$ c
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ `1 }. H S3 \% a4 ]$ V, xvar loggerBufP = new LoggerBuf.Params();
% j* Q# k" j/ v- p! w E) d8 |0 UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 i) E9 t/ R6 h& l- K! v/ floggerBufP.bufType = LoggerBuf.BufType_FIXED;+ i. ]3 S0 z% Q
h6 e& ~/ N; ]# S! ~) c) ]5 evar appLogger = LoggerBuf.create(loggerBufP);- D3 `5 q7 {" s( _- F* B
appLogger.instance.name = "AppLog_Core1";
+ A1 f# g( s- f* ~3 `) `Defaults.common$.logger = appLogger;% z/ m% `1 I: _6 l2 P O
Memory.defaultHeapSize = 0x8192; 1 E/ M' H2 X4 |7 k/ I2 B
Idle.idleFxns[0] = "&LEDStatus";" H7 |7 b3 Y( i# N9 C) i6 G; F
Cache.initSize.l2Size = Cache.L2Size_32K;, U% ?6 H- M; Q) g* a8 D* g! j
! B! _4 E3 [, J" L
|
|