|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* d' G' M2 }9 x6 X4 a. g我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 E; S7 n m2 u3 W \$ o5 M V
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" I& c* _) [! Y1 P- X1 q l
t: l; g" A- q& w7 z# j3 O是不是需要在DSP.CFG中进行配置
2 Y9 E6 {, z) Y3 T我现在的配置为( O5 H% @6 j. f! J6 u4 U
3 J O1 C N3 }! `' T0 L
/*, k: F- `8 O( ?: \. Q; E
* ======== Operating System Configuration ========
( J! G d& w8 W" |; R6 p */
8 g8 D) b, G. O$ R& M2 I+ {+ m R* C1 v& W( v. |, |
/* no rts heap */
% ]9 s; E" ?# ZProgram.heap = 0;# ?: k* U; T4 \, V# h p4 E! c6 D2 u
Program.argSize = 100; /* minimum size */
! M# j M0 m) w( ^Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* s# L+ h/ Q: @, k
3 v E. [. Z- g, i& c& b8 q/* create a default heap */
5 a* p; w& j3 M0 E) Lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: X# a& z% b C- ]; l6 X8 e
var heapMemParams = new HeapMem.Params();; L0 H2 a) R6 v) \( K& ?$ \
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" V) C5 C$ W# O+ s* ^; G
+ r" C$ H" ~: m% y2 @var Memory = xdc.useModule('xdc.runtime.Memory');
7 C2 O; v" e2 o* o+ g4 p" P$ iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);# h A6 Y, ] [" Q. j
/ j4 d! s% ~3 z6 b% s/* configure System module */
" i# u( t# M) y+ Xvar SysMin = xdc.useModule('xdc.runtime.SysMin');; a6 F. |4 ]: B
SysMin.bufSize = 0x1000;
" ?9 x2 ?" d. p) F' v1 T1 `- |SysMin.flushAtExit = false;. E1 s! r( B+ l$ H) e# B
$ d2 H$ }: a( g! G$ S% `
var System = xdc.useModule('xdc.runtime.System');9 X3 J& r }: `8 f( E
System.SupportProxy = SysMin;; r; W$ o3 k9 B; d0 Z
9 n, h* }9 z! M6 l
/* configure SysBios to use the lower half of Timer 1 */( k5 v6 i3 |0 R8 U% x! l
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! g! A; b7 p7 W
var Clock = xdc.useModule('ti.sysbios.knl.Clock');9 ?- G# Q- ^0 i- [& J
Timer.timerSettings[1].master = true;+ u0 {- O( g0 `+ x
Timer.defaultHalf = Timer.Half_LOWER;( h' _9 h6 B1 Z; B5 O: L7 S. D! R- w
Clock.timerId = 1;
1 A# d7 d# A6 V8 C4 J1 D9 N9 E. Y {
! F" k m# ^5 P9 I/*4 k: Z) ~5 x; |5 J
* ======== Miscellaneous Configuration ========" R e! n1 { C# T2 K
*/
7 [" u+ H/ Q, b! I) M
7 w. F: W1 b: _/ N# h: D/* set default diags mask */, D3 e1 H1 s. X& t" ]
var Diags = xdc.useModule('xdc.runtime.Diags');' m2 ]% k' C& [8 V6 }
var Defaults = xdc.useModule('xdc.runtime.Defaults');9 t3 k7 X2 N. J; z9 l
% [5 N/ W& s- E: k0 Y# a- b
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* c' T3 ~) Y( A. r/ b3 ]: V
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# T; z3 Y' j G( Z, ?6 `* ^7 xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 l( W: O" `9 _8 w# G+ g) w# WDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 {1 ]8 h& Y c9 U0 L' tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ \: ]+ k6 @' g1 g1 h! I d1 EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 e. W4 S; @, O$ o$ mDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' C0 B) Z& j& ?: {, _+ X. n K4 u- R
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. F+ ?- J: G9 X$ F X" E
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( N0 {9 ~9 C; A1 pDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 I% i k! x( _. P3 R
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" J; c: V% F0 r) U9 ?$ p! J" `
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 M+ J, g" Q9 X$ H
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ v6 l" p) k X4 @. K1 j: oDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 {9 q V/ l% T! r& [( k; D, }6 j8 M4 P* a$ Y
/* override diags mask for selected modules */
$ i) G2 {* o; q, p9 Y' bxdc.useModule('xdc.runtime.Main');
. E2 y) U) e8 x' K2 G' f8 F$ yDiags.setMaskMeta(
& m/ }2 t/ r8 c( ?# X, X; j$ l "xdc.runtime.Main",
' G0 U0 N/ K) v; z$ T Diags.ENTRY | Diags.EXIT | Diags.INFO," l9 h P/ G) A) l+ s
Diags.RUNTIME_ON8 A0 F+ N7 N" y2 j# e$ U* o
);. n% h; O/ \8 I9 R% j3 e
O& J" t, _/ ]1 a5 ~) }5 `) _3 X
var Registry = xdc.useModule('xdc.runtime.Registry');
1 p. x8 U$ e% x# n7 pRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 R4 P: Z" g; C C1 G
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 P6 ]( A) f+ }( YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;0 d9 o5 G/ Y, T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' _% g4 @+ v& k6 Y, C8 z0 @! {3 w2 E4 @- c1 ?$ y6 r
/* create a logger instance */
$ ^( n: J. _! K# ~5 }var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 I7 ?: o8 \" T/ mvar loggerBufP = new LoggerBuf.Params();
5 K9 D* Q' ~: K! B( [loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 t8 T1 D# v3 d1 K4 X2 b; I) s Q; nloggerBufP.bufType = LoggerBuf.BufType_FIXED;& g" E: S5 S: F8 d: F8 z) a
. D3 [* l, z5 N* |var appLogger = LoggerBuf.create(loggerBufP);0 ?: M% |2 S* Z7 |3 h
appLogger.instance.name = "AppLog_Core1";
5 z4 r: }& t* c! g+ wDefaults.common$.logger = appLogger;" i; I; H0 N/ Z7 B3 Z# a o
Memory.defaultHeapSize = 0x8192;
$ V& x" u7 }( M! FIdle.idleFxns[0] = "&LEDStatus";$ F5 ?) d4 T2 q6 W6 o
Cache.initSize.l2Size = Cache.L2Size_32K;
4 a# A f8 S$ J7 ~
$ U) v, H: `+ R; Q$ k1 y |
|