|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& C6 K1 F5 y9 c8 i7 l4 b/ ?( T# D我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. ~. F( v; w' M1 a
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 z! c" @# {2 n7 w6 i0 [5 e3 P' b" }7 r2 t) n# V4 X
是不是需要在DSP.CFG中进行配置
$ r( s9 {. S2 z2 w) l/ v) Z我现在的配置为6 b: Q% J: z( m4 F2 d6 d
2 F( P' i% b, n5 R S0 l7 b4 U2 d6 k) y/*
: s# N% m# U* a P * ======== Operating System Configuration ========1 e# x/ {7 ?$ b# @# L
*/
7 `* Y) O H j [% a0 }7 A5 F; {- }. d1 }9 \
/* no rts heap */
" U& D. E% P8 C" W. K( HProgram.heap = 0;
. P& V- o4 n3 ?. M, q( S1 jProgram.argSize = 100; /* minimum size */0 y2 k, o$ j4 a+ e5 F$ P* E L
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% M! f6 ^* F7 x- i8 J( ^5 Z0 z( A6 U; ]7 E U
/* create a default heap */0 z9 U# q) F* A
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 D# o1 U) @( B; v" {var heapMemParams = new HeapMem.Params();5 |+ }. L1 x* p h3 g1 I4 t
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; \/ ^4 f6 u# k# A) q3 _2 P) F
' m2 m; r0 h2 S# m f
var Memory = xdc.useModule('xdc.runtime.Memory');
$ i+ i( y# h. g1 J* \" t. X' g9 w, CMemory.defaultHeapInstance = HeapMem.create(heapMemParams);! l1 ?* s7 N) T2 }! C. F7 x
8 m$ G2 e; N2 n) q
/* configure System module */
, `9 A) f- q5 ~* W0 a2 C8 i- U4 Ovar SysMin = xdc.useModule('xdc.runtime.SysMin');: v) ]; n X/ ^
SysMin.bufSize = 0x1000;
. P0 K) k) }0 X; VSysMin.flushAtExit = false;
, o' K* b: x: Z- n7 a' z* d; x4 P7 ]8 P* ` E( k* L: b, i
var System = xdc.useModule('xdc.runtime.System');7 J: b( e# w; \
System.SupportProxy = SysMin;
- o/ ?; _- q7 C# \* U1 y' {- Y
( t. i* B1 C/ L9 X. I q: `: K* f5 X/* configure SysBios to use the lower half of Timer 1 */
: u* j/ p5 X# T; y# tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# T* E4 C9 w; A4 g7 J1 ^var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, w5 Y4 S5 f; d) f/ DTimer.timerSettings[1].master = true;4 c4 J& z# l+ W; ^0 {& c _
Timer.defaultHalf = Timer.Half_LOWER;
" k! Q1 G& d1 m5 AClock.timerId = 1;
0 m# S( Q% o3 Y+ e* M# z
. z9 T' t5 x8 Z3 a. `" d6 S! X2 i' n' u. X9 D5 p! M$ }: N4 S6 Y3 L
/*; _4 r! v$ h( d! L9 b8 u
* ======== Miscellaneous Configuration ========
$ K& K! \, G* T- z1 r1 J) s W2 F */: n4 E+ F2 B: c% @) B( N
2 T) _3 d% U6 ^2 y% q+ v5 K/* set default diags mask */ b$ e n4 ?$ K4 A
var Diags = xdc.useModule('xdc.runtime.Diags');
, V- i% n% y; i. _. _var Defaults = xdc.useModule('xdc.runtime.Defaults');) U, z( b3 X$ u
: ?' Z, p3 c4 P( kDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& U3 Z6 Y+ f$ b" U1 YDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' U3 ^# s8 ~. e/ R5 TDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 d! Y) [& G' Q1 HDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ v J |* i3 RDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 X6 O. ?% p( c, y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% l$ b/ n- i7 {# j, mDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- ^ Q! z" J+ T
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 ?7 @8 Y' f7 J- BDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* N' h- E0 t% e2 J* UDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* A T' Y7 J, s0 B, }. @Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
. m. _6 E5 z- j! t" O7 RDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; ]% s2 {" K# s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;" t% l: H, P0 J H3 h6 V& r/ y- A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- m7 G! |: K+ ]/ r7 y
% \7 \4 Z F) W% q( s2 }" p! m
/* override diags mask for selected modules */& D" W" U. N5 g% q7 ^( l9 u; B# {
xdc.useModule('xdc.runtime.Main'); y$ i0 b2 I/ ?4 x3 J
Diags.setMaskMeta(8 ~3 e' ]' K9 V8 T8 F# N
"xdc.runtime.Main",
4 Q: ?' N* y/ Q- b7 ?- i& O1 [ Diags.ENTRY | Diags.EXIT | Diags.INFO,* m W$ h) \: F
Diags.RUNTIME_ON
3 s! C: b* u! L+ C) O+ y);
, w' Q+ K: B- ~: S8 q2 X z1 V( P6 D9 v/ p
var Registry = xdc.useModule('xdc.runtime.Registry');6 k) ]2 s$ C. ~% s; s* a
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: Y U3 I) g; M+ I( [) L
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ Q) ]3 M0 o' r$ gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;) ]2 P6 `. _# j, }
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 _ @5 Y& W% v! g7 A$ J- i
5 K" ?; X. D5 U* N8 r0 ^3 n
/* create a logger instance */+ W( O+ E' M! F
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" n6 j- U- |3 f8 l. T8 o R# {
var loggerBufP = new LoggerBuf.Params();
: l& U8 r5 Z5 w1 M5 FloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* R+ w9 x- m# o, W3 ^, m& o
loggerBufP.bufType = LoggerBuf.BufType_FIXED;9 a3 b% P1 t5 Y
8 B, J+ e& O7 e$ h, W
var appLogger = LoggerBuf.create(loggerBufP);
! [/ {9 Q7 N8 s0 U# ZappLogger.instance.name = "AppLog_Core1";4 p7 B6 P2 I/ i* M2 R
Defaults.common$.logger = appLogger;
& t: d! V" N& B* `0 SMemory.defaultHeapSize = 0x8192; ( I1 t4 N0 S4 K4 F1 v7 w% x- ?4 Y/ z( P
Idle.idleFxns[0] = "&LEDStatus";
0 f5 j, }2 v) ~& iCache.initSize.l2Size = Cache.L2Size_32K;1 k' C; ~3 e0 `. m# z, m; o
* R0 u* \0 f+ j) @; U! v; a3 \ |
|