|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- u5 n: M# R4 J" S2 H. s3 k9 {$ t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 [! m5 B& f- Y) H(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( ]( {2 ]7 o% {1 F2 g* W% \. @/ k+ c9 N, o) [% r5 }' S, B0 R
是不是需要在DSP.CFG中进行配置
$ _ X2 l6 W( F3 a我现在的配置为( I+ r6 C, I# J6 D
v# X5 Y3 L1 ?% M8 m; T" c/*) p, j' U/ y/ K3 t2 }6 t9 b
* ======== Operating System Configuration ========
3 x1 X) z; x; k4 @. ^5 ]2 m */
/ z6 C/ b: g) {2 { b) a( e7 Y6 L. q) r* m0 t
/* no rts heap */& v1 @7 o; m I4 e! }
Program.heap = 0;+ w$ K. r) {( E5 [
Program.argSize = 100; /* minimum size */
1 P% V( N6 _9 ~* ]Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- A5 P h5 p. a! s# l
/ l% B1 b: l! {+ j
/* create a default heap */
6 B9 g' _) p7 h( B5 svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) f8 u+ I+ B" ?2 g
var heapMemParams = new HeapMem.Params();0 h+ f5 P% E; X
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ ?; e6 ?0 ?9 q& q3 m) y& F2 ^
% J; A4 {4 m X1 [var Memory = xdc.useModule('xdc.runtime.Memory');' I# b- r$ Q |+ Y3 a0 T* i5 R2 D
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
( q, o/ ^: i! b+ R% I( B' w) X8 d c, _+ c' w# n
/* configure System module */. ^# c( W g. v1 W- t9 ]' q
var SysMin = xdc.useModule('xdc.runtime.SysMin');& k# ]* C* B0 ~
SysMin.bufSize = 0x1000;
1 {" f, \% B8 ^4 aSysMin.flushAtExit = false;
6 u w% `. [/ i i( r# e
7 Y% s$ m3 i, E( v y' Hvar System = xdc.useModule('xdc.runtime.System');9 h9 b4 [( p* ^* y
System.SupportProxy = SysMin;
1 D* Y' v# \8 N. l; D( {& ?5 }
N$ b/ F4 n, ?" q/* configure SysBios to use the lower half of Timer 1 */
- U7 K n# h0 K+ t# w8 Kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* B! M, A' @. x$ `0 |- T9 l7 s b
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 A+ Q8 a' k* b% ETimer.timerSettings[1].master = true;
" `7 p" @ N# \: ~ f4 MTimer.defaultHalf = Timer.Half_LOWER;
) e. Z+ y$ m8 }" F9 N; x7 UClock.timerId = 1;: X7 e2 U+ g A9 A% ]# ?& S% R
/ P! O+ @( r+ @% o2 w5 g0 O6 o
7 M5 f$ q. ^& t$ n, w/*
3 c* j6 g( L5 X2 D1 m * ======== Miscellaneous Configuration ========0 R @3 V( t% E6 s
*/, _" {6 ?9 M m% m1 B" r( X
* c O3 r4 ]! `# w/ ? @
/* set default diags mask */
n5 N& s B" T( m4 Fvar Diags = xdc.useModule('xdc.runtime.Diags');9 l& ?- f. G1 F0 K2 T. @
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ c w2 ^, p2 r# `2 n
$ b0 @4 ^2 L9 t: m) Z2 n: V+ DDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 v# _: C+ }# h$ _2 d: u
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 k; W' W, ]" F$ O! w" @; `Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;, t" ^2 x+ n, ~/ \" g
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! `5 E0 L% E5 ^1 ~Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 U Q1 a/ y k
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; U+ X; E5 e5 \Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 k6 i; [3 m! K: U
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* y& ~$ r* ^6 q7 c# q+ eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF; H: U: Y7 W( E* N) A& E4 {) P
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# k6 `4 P; S+ A6 xDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
Z( }( K4 N8 sDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ b6 ]* w8 A# TDefaults.common$.diags_INFO = Diags.ALWAYS_OFF; x2 a) O, m, @) u8 S' _0 g
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ `. z ~+ K& _: _; C# D
a& e; K/ r* S8 x/ g1 Y4 J
/* override diags mask for selected modules */
+ P. ]. L) N! kxdc.useModule('xdc.runtime.Main');9 d m0 W. e' t* Z/ j, g
Diags.setMaskMeta(
1 i9 [! R0 i7 O& B- P& W "xdc.runtime.Main",
( @ q b7 f1 g9 Z- o! v Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 }6 Z1 U- Q* U Diags.RUNTIME_ON
1 ]4 g& o, S2 U( o/ B1 [/ h4 U) x n);! p* D8 C) [; d, |! S' Z1 ~
8 k- U. d7 B, ]- L. C4 Y' [# nvar Registry = xdc.useModule('xdc.runtime.Registry');/ x4 M& f- I4 r! D
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ T1 w8 j( k w7 v
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% q, Z+ q4 t+ xRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
) g7 a, G; p7 v0 oRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 v. g6 B; u$ B+ b, I3 |: U% B
7 S2 h6 h, X; h, R
/* create a logger instance */$ T }" N. \0 h& s2 s9 }) R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: I8 n- ~& g5 j# ^# z5 ^7 hvar loggerBufP = new LoggerBuf.Params();% {- J4 x0 P5 z* M* p) ^% e
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 R# B. U, J' c+ T$ h$ ^0 R) s. [loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* }& ^: r/ |* p0 s* d6 c$ I( }+ e$ g7 i( c
var appLogger = LoggerBuf.create(loggerBufP);
# W4 x% V9 \# OappLogger.instance.name = "AppLog_Core1";1 O1 d* [& D2 n- K8 ?4 a
Defaults.common$.logger = appLogger;
# f& U9 s7 k# o9 b7 OMemory.defaultHeapSize = 0x8192;
6 J, t# ? k/ W7 p) s; |Idle.idleFxns[0] = "&LEDStatus";
. o4 e# q1 T' g8 | RCache.initSize.l2Size = Cache.L2Size_32K;
3 Q$ `8 _# r f% [: l O L/ l5 G {
|
|