|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& M0 c4 X* J. S: w' s h9 i我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ i7 h; u8 f5 U1 a" q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 J! W& w6 M7 Y- H% @$ I0 j6 S( R7 M9 G9 X' K% s6 J7 G
是不是需要在DSP.CFG中进行配置
! Y6 e* f6 o6 L3 C9 j, M7 q我现在的配置为7 b: G1 v/ F p# X) F. T, F, }0 q& J
9 B# J( o3 H! O/*' V: K! Y4 j# o. R5 |
* ======== Operating System Configuration ========
1 z; F2 C+ K5 G8 s */
, I1 s2 f2 [. a: d6 a, E& S5 F$ @' {
/* no rts heap */; a2 Y1 Z% S" J3 j2 `
Program.heap = 0;6 W7 ~# L; k1 ^. w4 g/ V
Program.argSize = 100; /* minimum size *// J* n' `' i4 R; T# d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. e, o: ?/ o2 U, `. Q/ ?3 p0 P+ A8 w _, f/ W; W
/* create a default heap */* b! n4 Q! O6 Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 R( U8 t0 J3 k! Dvar heapMemParams = new HeapMem.Params();
( U8 F/ L, R* _! a3 J% U5 @heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: Y# H# U+ J" i8 H: X4 s- w3 z& _) R. J: P
var Memory = xdc.useModule('xdc.runtime.Memory');' D( Q1 }0 u3 K/ x! M
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ C a' @0 x# K3 Y# x
1 E( z4 L8 t" N9 P- l' j0 v. O6 q/* configure System module */
8 d6 s& O: `8 Lvar SysMin = xdc.useModule('xdc.runtime.SysMin');: ^2 G _& }/ y8 }1 x+ A
SysMin.bufSize = 0x1000;
' S4 o9 A& O4 m! s# h! nSysMin.flushAtExit = false;: d2 w \1 K( @9 H+ o, L3 W
* B7 D1 I) M5 v6 I5 L, L. s
var System = xdc.useModule('xdc.runtime.System');
" }/ \- a* K" R$ \+ X) sSystem.SupportProxy = SysMin;
, w6 r2 W, ]$ E! B, {6 A; h, o
8 K6 e6 I6 o( o- X& f$ Y* k/* configure SysBios to use the lower half of Timer 1 */& ^4 p9 n6 g- p; f+ J0 O5 y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% T* \% L- k4 I" |, Q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 ^1 E* K2 {9 i1 z* y
Timer.timerSettings[1].master = true;9 c1 _/ P; m1 W% O
Timer.defaultHalf = Timer.Half_LOWER;. }3 f7 U/ E: a! E
Clock.timerId = 1;% q3 l. q' f8 ^
# l8 H# O6 P6 s5 o. {5 [0 ~3 l4 A! V
/*
# K( I$ ~2 r1 H) ? * ======== Miscellaneous Configuration ========+ J3 G; I; y- W/ H, n
*/
g" F0 m1 Q h0 {: v3 F' e" {" [) o- n$ B7 v, J
/* set default diags mask */
3 v$ `! _7 `. v, x- T3 W$ h% hvar Diags = xdc.useModule('xdc.runtime.Diags');! j3 {5 T. s: K n2 q9 T' p
var Defaults = xdc.useModule('xdc.runtime.Defaults');/ i( M5 b3 M+ ?
4 C2 i6 }$ o% z0 a' IDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 f5 L1 N6 o0 x/ a; X# C1 PDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 F0 D+ q* t* c5 eDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 H. Y" J `! q- @" L$ M
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 o; ~/ o* p( e6 ]% X1 a3 RDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 I/ e9 A* C( F2 y& l% w, J5 nDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;- a1 t, D3 \7 B' c1 J7 E2 X: o+ O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 q+ G3 L! ]$ G
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! n3 d+ @6 N" @! [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% i& M, d& m( F! ]6 N9 R
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 F4 p6 n H0 t- U- Q/ X9 N! R
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! S. T% H/ k2 U; }/ n6 z9 o# S% b1 _Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) J; j5 ^2 X) f# P, VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;, k# q2 ^6 t, ?* c; k- z# }8 ]
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, _* E8 k) p" X- e: q: \
( O8 f- y' [; o6 z: c" e9 V/* override diags mask for selected modules */ [- L9 p! x( m N+ d8 S; H) W
xdc.useModule('xdc.runtime.Main');
. \+ {( u: Y5 g l- i: c6 cDiags.setMaskMeta(, P: x# N+ w4 L+ F, u/ j
"xdc.runtime.Main",$ |1 Y5 Y5 n T: f& V
Diags.ENTRY | Diags.EXIT | Diags.INFO,
: I2 D. Y1 E% W0 i5 w( _: P% o$ [8 b Diags.RUNTIME_ON2 ^ j! G) L M* \3 W6 M* x* Z
);
8 t8 w0 m( P! i) j0 e% s& A6 R, O* t4 h5 O7 L: M; D
var Registry = xdc.useModule('xdc.runtime.Registry');0 ^4 \- i# v( X2 [( p# u) c
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ A: w' k4 j% ?* U+ i/ Q2 s0 |
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 Z1 M' z8 I' |( e# s# w! {& ~; RRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 @2 H& d6 Z- N' S6 o5 F. l
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;! W4 J0 C5 Z5 S( L* j, w
3 f3 D# k9 s3 v4 N8 A
/* create a logger instance */4 F7 a' n; Q+ S' O
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 d8 X k1 i' Rvar loggerBufP = new LoggerBuf.Params();2 M2 d* D# }$ W- q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 ]! Z6 G7 e2 b; V3 P: y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 Q6 h$ X4 v0 i6 \& f* N" Y5 F3 p! @: I& D
var appLogger = LoggerBuf.create(loggerBufP);2 k! _* v6 Z! I7 P5 Q5 k4 E; V
appLogger.instance.name = "AppLog_Core1";
4 \( c) s/ T- o# p2 ?Defaults.common$.logger = appLogger;
/ j, ]* V! e" [* h. {Memory.defaultHeapSize = 0x8192;
5 _$ _. B; f1 B' B2 X* W5 _1 TIdle.idleFxns[0] = "&LEDStatus";7 \- L8 f( u [0 S2 ?4 {
Cache.initSize.l2Size = Cache.L2Size_32K;9 L* R& g3 s* L( g0 e+ `
$ p% P+ f" s" G3 w/ Z
|
|