|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 e7 n5 m7 j: F; }) S: }, F3 k
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 s! X* i; w0 [! a; P# F4 v
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- c0 J& N& V: H
" q" k& j- a8 @0 u/ c) H! ^3 D是不是需要在DSP.CFG中进行配置. j1 [# B% }0 X+ M7 F
我现在的配置为
; x f* k5 \4 L2 j- @, s$ S
1 m8 X" Q* }+ G1 x; T0 F/*
9 C+ R; a& w; t7 E8 W. ` } * ======== Operating System Configuration ========
& }/ t) t) N% ~! A */0 |4 `; N/ o n( D: M: Y" j
2 Z' X/ T% y' @1 k4 T0 N" m/* no rts heap */2 @/ N/ a. e1 z
Program.heap = 0;
: Z% C2 G& B LProgram.argSize = 100; /* minimum size */& B# @0 @( O! }( ~% }0 G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* R% g, e* ]3 s# e' a" `
, ?5 e, A. J3 L+ W' G E/* create a default heap */
+ m+ E* R6 |/ q3 ~3 Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
: F( D2 H6 v; {6 Qvar heapMemParams = new HeapMem.Params();
" Y5 r: P$ J6 L# xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ O: U O+ l! O3 {; `5 e7 f; F/ s z. i, O$ j8 N4 @0 h
var Memory = xdc.useModule('xdc.runtime.Memory');6 q) x, z1 l% A, z/ d1 r' V
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);5 J8 d- ~1 G" f
' D( I5 G: {* f. W, n4 \6 O+ X
/* configure System module */
/ F) \8 [1 Y- q0 ^0 ~5 ~, T. Q6 Uvar SysMin = xdc.useModule('xdc.runtime.SysMin');
3 e, o1 m( z7 H9 NSysMin.bufSize = 0x1000;
# a( i( w( _; {; r1 BSysMin.flushAtExit = false;
5 V; g% j+ ~* i/ [4 D) ~7 r& L' F. h) E4 V
var System = xdc.useModule('xdc.runtime.System');
% t! b! ~3 F" D8 R4 `6 b' ESystem.SupportProxy = SysMin;
# W G/ |1 t6 X9 I6 p x# k! A; e; s2 q: W3 {* c2 Z2 K$ P7 S/ |
/* configure SysBios to use the lower half of Timer 1 */0 Z+ g, I5 w; s8 b
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 L3 M+ ^ W( T# L9 C9 ~
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 ] _. N8 ]. y7 CTimer.timerSettings[1].master = true;
* T4 I8 N d, ETimer.defaultHalf = Timer.Half_LOWER;- H' Z% C7 n* R7 V6 t# s
Clock.timerId = 1;
6 w5 P0 b4 p4 Q# e0 v3 T# i9 d1 u1 ^( b
9 O# S; Z1 u6 r# ]
/*' c. u$ x3 |' ?3 y7 q7 f# W+ z/ y
* ======== Miscellaneous Configuration ========) \$ G. h" D6 H, N6 W3 H7 U. K! l
*/2 Q) B9 _3 j( Q# Q7 I* P1 X
: n/ Y6 V" a0 T/ d, u0 S+ ^
/* set default diags mask */
( V* X$ O5 {1 u, q& N- |; w4 |! T6 vvar Diags = xdc.useModule('xdc.runtime.Diags');8 ?) P8 t% y, B6 I$ i; f6 g* Z& c
var Defaults = xdc.useModule('xdc.runtime.Defaults');
% {9 r/ j( i: } W$ R( T2 C9 Z0 k. a6 B, C( L1 {
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 X. M; w4 a: U1 y E( v- s
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( c# V# K& D5 L8 `3 C
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; c1 [4 `- N. j1 kDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: C% X( e% y/ z3 vDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, h0 P2 e, c/ ~7 v
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ ^6 l% b1 l( c/ f/ zDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 {. O, c" h4 v8 r. cDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( W/ T$ d/ a# v3 n' v
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
Z& [6 \& d, dDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 }/ E& w* C1 G) uDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" a+ \4 s) _2 ^' A6 a" m$ i% hDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) M8 Y* }5 D4 q+ | [- j' V* hDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 x0 f& n' @# Y' jDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 S) Z- b+ S8 J5 ~5 U6 R
7 z: E4 i& o5 g9 y7 g- n0 i" X8 n/* override diags mask for selected modules */
- W& O/ N& J" r( wxdc.useModule('xdc.runtime.Main');4 Q$ X% F% ^' [# E( |7 S
Diags.setMaskMeta(2 n3 Q6 c/ T0 F8 ?( ^
"xdc.runtime.Main",4 w. L3 {& x# c
Diags.ENTRY | Diags.EXIT | Diags.INFO," q# m3 k; U: W; f, I
Diags.RUNTIME_ON
6 m! Z4 z1 |* W/ M8 k! w. M);) t# w$ N) N; J
1 f+ p. ^, F5 O/ v+ D. ?+ Yvar Registry = xdc.useModule('xdc.runtime.Registry');
6 {0 H; p- ?% G5 [Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 l' ]: o; L a5 B
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 L( P0 O5 x2 B& R# R0 xRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 F u7 l; r2 O6 d& ?' b R4 \) @4 FRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ b: O8 R% U" p) C8 ^! P) R1 @ n
4 b9 E2 [; r {/* create a logger instance */4 m4 k4 L, q8 ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 S% T3 Z l9 R6 ^% zvar loggerBufP = new LoggerBuf.Params();
% K4 e) F7 A7 @: |, T0 AloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 `, _' E. Y4 N7 u XloggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 i! t- m( S7 \3 }7 h8 Y: R/ g/ k% U; W8 R3 _8 `; {
var appLogger = LoggerBuf.create(loggerBufP);4 p% K' I: d5 q8 Q
appLogger.instance.name = "AppLog_Core1";
$ j" A7 s/ T* ?$ o8 F4 k2 zDefaults.common$.logger = appLogger;
+ m; h3 L! C% M1 D' W2 C4 n' {( yMemory.defaultHeapSize = 0x8192; 1 O3 C7 W6 C' F/ w; t
Idle.idleFxns[0] = "&LEDStatus";2 t! {) D9 m6 A! X- T
Cache.initSize.l2Size = Cache.L2Size_32K;
+ O) }6 z, U6 r
- r/ P9 {& S1 u |
|