|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, B$ l; g6 x% b+ M2 i( I4 T
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 L( k; q' z4 B
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) ?0 l; ^: h- i% W8 ?
3 O! }1 g' e. R+ S& c是不是需要在DSP.CFG中进行配置$ U) k0 L' @6 t9 w
我现在的配置为
) [1 q! N. S$ G( _3 U* B, c, B8 n! D" o' X
/*
5 Z5 X# M* y% p6 ^" O: ~! ~2 K: a * ======== Operating System Configuration ========6 I* m2 }; N0 O4 o; p4 O2 |4 B7 A; l
*/8 o/ d6 l. M7 [' }
' C/ ?+ k; T% [0 d/* no rts heap */
/ q# a% A" d' @; NProgram.heap = 0; n0 z3 ` s$ O, z. n8 y2 A4 i S4 E
Program.argSize = 100; /* minimum size */) Z% ]1 o- h. o5 {
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! u7 h7 l! U+ |6 n; Y. G* k) b a7 e7 N- C- c/ O
/* create a default heap */
! z% E9 i, @, }5 h" G }7 Y: ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 ]. O I( I3 k$ b& n- ~; V: x
var heapMemParams = new HeapMem.Params();
; S& Y4 D b& g+ p7 L" W) vheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 D' o* m- @0 T" s5 j) a# n7 H. Q3 ] S
var Memory = xdc.useModule('xdc.runtime.Memory');/ e3 ^. t. f- A6 Y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ [# ^0 f0 R5 I
; H$ }# S) d; |
/* configure System module */
" I3 e3 `/ r+ G: ?var SysMin = xdc.useModule('xdc.runtime.SysMin');) c* a# h- R+ L2 |+ h" B0 h9 }
SysMin.bufSize = 0x1000;# F- A2 H# B: O% a" p- j
SysMin.flushAtExit = false;
: E2 K/ I; [( q) e! R N4 d/ b7 K; M& O; B
var System = xdc.useModule('xdc.runtime.System');
* R" ]( `2 w2 N7 z: QSystem.SupportProxy = SysMin;
" P1 ?& ]' s1 s3 G4 u0 R2 U) Z( D" M% w
/* configure SysBios to use the lower half of Timer 1 */
( ^ G* t1 g" v6 ?6 w& nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ j0 f# m# H4 Tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');* o2 }# A0 L; V. v4 v9 M
Timer.timerSettings[1].master = true;3 j6 c' { U( a; Y9 G5 t
Timer.defaultHalf = Timer.Half_LOWER;/ Z( a0 h% A6 \) j5 ^' Q
Clock.timerId = 1;/ I }3 s* a7 H7 t2 C# |6 |
& G9 }: K. D5 e. L3 s
' V+ j) ~$ Y- v) X. r
/*
: {+ Z$ I3 x6 F/ t0 `: a7 k * ======== Miscellaneous Configuration ========
" F( P2 i. |6 E4 f- }( G( k */
+ `1 P/ ^3 m- Q4 J; D7 E
8 w9 k3 T* _. }6 p/* set default diags mask */. _$ ?. _5 B* m$ Q6 R+ a: s
var Diags = xdc.useModule('xdc.runtime.Diags');
7 y- k C3 v; G% N% T' L& q7 Wvar Defaults = xdc.useModule('xdc.runtime.Defaults');6 o- o S; h. m. v( S8 a
' l% ^2 H! y! i& ]1 M. I& fDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* \0 y% x* I1 W z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
c/ J* B# w8 n) ]7 T. D$ m2 V4 h) aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;) U3 z: G& a3 G& A3 h
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 R6 C" u- t2 u( e# J5 e p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( D: Y3 a" A2 q- v4 D
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 j/ c& \$ h/ [
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; _' {: K) M4 F3 Z* [
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; K7 w: y* W% Y! eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;3 | p) _% i* h6 C/ @% n" A
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: C% H' `& m, E7 g4 X
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ Q* G) D1 B: |+ FDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 s* [; m+ B5 ^- ~- t$ G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 V8 f3 R* u* N( _4 gDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& Q. [% B/ ?" Y1 a' B% m; H J" f
$ e1 I( j- k' p: U# o7 @7 b5 C: K
/* override diags mask for selected modules */
% {& ^7 z7 Z0 k% C. e% Cxdc.useModule('xdc.runtime.Main');
3 G7 a( G! @! t4 `$ y, K! }" ]/ T3 ^Diags.setMaskMeta(7 y9 p) M! W8 p% ]; Q+ f8 p; t
"xdc.runtime.Main",
% c, R0 b9 y6 { W7 o" l6 ^ Diags.ENTRY | Diags.EXIT | Diags.INFO,
( |4 f6 w) o( h) ]: r Diags.RUNTIME_ON" t5 y& G/ r o
);( L- i0 o' E7 |
- U8 j+ A9 n5 l) o. S) m7 uvar Registry = xdc.useModule('xdc.runtime.Registry');% a! L: ?/ z8 o' J6 h6 r
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;8 m% H! i# I0 W
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 ^: `: U& r7 Z4 |6 O% H
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# Y- _/ N& a* B0 ~7 L4 m MRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;% K* g$ _/ x9 O' B& S5 L5 Z" ^, b
* i% {" @, L2 T' n1 A$ l" o/ f' a. n/* create a logger instance */" w0 ^# Z$ b+ y# e* P, y1 W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& [* q; y! O" u6 y# _% F9 b( N
var loggerBufP = new LoggerBuf.Params();
- y; z O# T1 _4 p( n6 w; B0 TloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */0 Y( Z6 ^6 {3 q3 X
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
i5 U2 V: C m% u- O& U7 i+ g3 q, S( _- H$ ?
var appLogger = LoggerBuf.create(loggerBufP);
2 _- O! j2 V, X0 s* A( NappLogger.instance.name = "AppLog_Core1";
: Y: _! l: {# \7 s6 t1 dDefaults.common$.logger = appLogger;
, a4 v7 |- ]- hMemory.defaultHeapSize = 0x8192;
6 {) a2 a3 L F) ~* ~1 X& GIdle.idleFxns[0] = "&LEDStatus";- @& C- ?" N& v+ B- p
Cache.initSize.l2Size = Cache.L2Size_32K;4 {* b4 q2 \: H+ M$ A# Z9 P+ j
- O, \0 @8 K9 X
|
|