|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 O* k8 J2 `9 e/ Q2 E8 G我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 g/ u2 d$ Y/ B$ }
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 Y( j7 z9 }6 v- Y9 d! b
; R( n; X& q7 J" G# _1 f是不是需要在DSP.CFG中进行配置( d) ?5 n9 N, @, o
我现在的配置为0 u4 `8 {# f- r# c5 @! A* E
) `2 y# `! C8 Q5 j3 m# _" D/** p+ A% X1 B2 s
* ======== Operating System Configuration ========
+ h! g. R2 o" ~6 ]8 c9 C! H */
8 o: q6 I3 V3 n1 v8 ~1 {( }2 Z; C f6 k* h% S. R' F( X% Z# P
/* no rts heap */
) J! _ Q# o% B+ ZProgram.heap = 0;
1 D' A/ w7 k3 u \/ m, PProgram.argSize = 100; /* minimum size */" ^; e/ c8 N1 Q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 S7 ]9 E0 M6 y
: g) h+ C* h6 L! ?! y/* create a default heap */
% ^( m7 b" H. r0 `var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 f! J3 v1 [7 Q' V- W5 p
var heapMemParams = new HeapMem.Params();
. B4 b2 _. Y x' L: _6 ZheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& s3 p V$ e/ F
" U7 O2 ]' b3 ?* h% r5 m; e$ b2 L- @: d
var Memory = xdc.useModule('xdc.runtime.Memory');9 j1 E3 ~! P8 ]1 g* |" _
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: P% ~0 }1 O+ p* J
. T& l7 U7 ]! F, f, Q l
/* configure System module */; J# ^: A# j; a0 ~
var SysMin = xdc.useModule('xdc.runtime.SysMin');
1 \) X4 @3 G/ O/ L' }/ ^# y% ySysMin.bufSize = 0x1000;" M" @7 Y% N2 Q; A! T5 Q
SysMin.flushAtExit = false;, `$ F, x1 Y8 K+ N
: o: C9 k5 e: l
var System = xdc.useModule('xdc.runtime.System');
! X- G; U. _& b c- SSystem.SupportProxy = SysMin;
/ p8 G {. C/ }9 M7 n1 G( D
+ P6 Y9 k" G1 W) ~/* configure SysBios to use the lower half of Timer 1 */$ i" L5 F2 |: h/ x+ J9 ^: W# w
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# B# t3 o& f$ U8 B5 O% Lvar Clock = xdc.useModule('ti.sysbios.knl.Clock');& ~& U6 ^3 d# ?) s( k, C) F
Timer.timerSettings[1].master = true;
! _ w! L l7 b$ {, v5 xTimer.defaultHalf = Timer.Half_LOWER;6 I; U3 ^0 m2 j: f& k
Clock.timerId = 1;. |3 G3 \4 r+ R2 i5 `4 [# W* {
4 L1 S8 p, f q5 S* A5 Z- y
" |+ V I8 S0 [/*
3 M& `# X( m+ U) h- U1 N * ======== Miscellaneous Configuration ========: ~* Z5 t( z/ b* s, N
*/
; `- J( w! Q, |0 U% S' B. x/ p2 a9 K9 F+ k7 O0 `
/* set default diags mask */3 y4 }4 ~6 F- K* \9 P
var Diags = xdc.useModule('xdc.runtime.Diags');
5 g) s6 b0 R [0 C8 ovar Defaults = xdc.useModule('xdc.runtime.Defaults'); }' F0 m8 E6 \4 Y( @# f$ `/ G
! y; r0 s8 b% a$ B
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- L/ w' e+ G( s9 D) r2 v
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 W* e. p3 ?5 ~( X2 L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. _7 e$ S& i7 g+ v
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 O! B; c% F2 {0 O- a- m5 hDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# r1 b# I5 Q- }! V% X- m- D GDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 A0 h: N) H, A0 ^$ I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 {4 l8 h( J2 m' J/ i0 [+ GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) i/ ?, N( i, q; B
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
: n( l& S) K5 d: Y# @+ uDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ p* D5 |: a; j3 v8 v3 uDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 S" J0 r7 g( N% z9 R0 p% S
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 W, P9 P$ h" C4 ` F6 FDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 I4 n' u4 E7 o( h) q7 e% n/ q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 a( Q i% x0 ?; t9 P+ } {% Z5 A4 } c# v. G" ?. r
/* override diags mask for selected modules */0 b% y, [# x% J; C
xdc.useModule('xdc.runtime.Main');
5 b; |. j( s% W, _Diags.setMaskMeta(
; P* a& Q- j' [. H( F "xdc.runtime.Main",4 X; l: D/ O9 w% }9 n
Diags.ENTRY | Diags.EXIT | Diags.INFO,+ O% @0 E! ~9 Y+ a; {! q1 ~
Diags.RUNTIME_ON0 v" R8 ]! F; I0 V7 J) C( G* P9 d
);8 W3 B3 e. }8 R: f
8 b6 e6 ?5 I7 Hvar Registry = xdc.useModule('xdc.runtime.Registry');8 A, d' L5 r: K3 H6 W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 L0 j/ w! z: N! ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;) Y* c% g \8 b6 B! p, K6 z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% t {& P. \6 QRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 t2 U- v+ x* C& ^# p7 l; a
8 O! f8 X! u4 l: j2 |2 T/* create a logger instance */" L: ?; ~- n: [2 C
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 ~! A* o0 i# d8 ovar loggerBufP = new LoggerBuf.Params();
' I* I% p$ f2 s3 |+ v9 Z1 k- JloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& w( A) i R1 e) ]$ W: @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;1 M8 g4 x5 X' s1 T
* L+ r% d7 }5 T9 r
var appLogger = LoggerBuf.create(loggerBufP);
: y' z; L2 p. H0 ]- _ \ [* Y- W* R kappLogger.instance.name = "AppLog_Core1";
9 [- o; o5 j- q. R/ w2 e/ eDefaults.common$.logger = appLogger;
. B' ~- h- @$ y( pMemory.defaultHeapSize = 0x8192;
! U2 f/ M# Q4 ?* I8 yIdle.idleFxns[0] = "&LEDStatus";
% Q1 Y# ~2 y" I. S' gCache.initSize.l2Size = Cache.L2Size_32K;( p. M/ G, X5 R% [& h- }$ Z
" V) O3 x- R1 |% ^% Y2 X Z& |% T X3 o; j
|
|