|
沙发
楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% O r9 A2 T* H; W
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ q5 c1 c2 ~7 ?2 F$ a
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 `9 e2 f( Y6 v G2 @3 K' z1 z- ?
- R9 Z, M: ~% p6 i6 V8 F, O( R, V
是不是需要在DSP.CFG中进行配置
) Q: j$ y1 f9 {# `: w. ^. d, {0 E. T我现在的配置为
( v$ w: U* s2 v" U
- h/ K8 k0 T/ s6 q# z. K+ Q/*
1 g9 X8 v7 b& M1 r. T$ E! t3 q * ======== Operating System Configuration ========
) p' ]3 h. L% Y% H6 y0 n2 ]0 U *// p* o; \/ z1 E$ p; F7 }" w* m0 t
: \' g7 I4 D, \( Q/* no rts heap */
& ^" ?. v3 K4 W5 h6 xProgram.heap = 0;% S- G2 x+ V+ _$ U! q% J9 s
Program.argSize = 100; /* minimum size */
4 C2 o: V0 O- |! T& T& t4 HProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 n/ Z6 R4 U/ ^, ~
) I! Q3 L! X; u- K) ~% x
/* create a default heap */8 w# }7 b6 _# n0 G. f
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 m/ _: |; T9 l! y9 z. @" W7 d" |var heapMemParams = new HeapMem.Params();& n/ u' W4 m* r; T$ E
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ {" G/ s, S4 Q, D _4 S6 s4 \1 j$ C5 U+ V
var Memory = xdc.useModule('xdc.runtime.Memory');
, p+ S# y8 n+ @8 G1 R: {( k, hMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, F& l6 @: k; @# a, R% y; e: Y, X' U) f8 x2 s, ^
/* configure System module */
0 D- Y1 E7 ]$ g1 @; \0 \8 evar SysMin = xdc.useModule('xdc.runtime.SysMin');0 I) ]* P; l1 m" b$ E# j3 ^
SysMin.bufSize = 0x1000;
4 R8 V( [% v0 ?' A( U* nSysMin.flushAtExit = false;
! r# m# x3 W, I. F, o8 C5 c" y) Z" R( H g0 {9 w1 a) e
var System = xdc.useModule('xdc.runtime.System');
( [) t8 s+ m3 S( y( A4 \System.SupportProxy = SysMin;
! m3 b6 C4 [# |6 Q! {9 G# ^3 s; U4 x1 ^- [
/* configure SysBios to use the lower half of Timer 1 */
3 n' n5 M3 w- F% y& Evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ [" b0 R! [& f
var Clock = xdc.useModule('ti.sysbios.knl.Clock'); n; l! r i: m# F6 V
Timer.timerSettings[1].master = true;+ d5 A3 C# e+ P* X T
Timer.defaultHalf = Timer.Half_LOWER;2 R- _ O3 a" }( c0 ~, ^$ B
Clock.timerId = 1;* y- X# y2 h+ ^6 a! j3 W% N9 I
) n; l3 ]5 \4 t- o
+ O7 Q% V( }1 C3 V7 c' X: ?+ }1 p& z/*3 W. ~7 P" l9 e4 J( I
* ======== Miscellaneous Configuration ========0 _9 H, l. m8 N: v: c/ o7 t4 \8 T6 J
*/
- ?" X4 `1 j3 d0 t8 [$ G8 r- `$ w. k' ]$ U+ B
/* set default diags mask */, j9 h2 r# M# W$ d4 q. J9 ?, D( q
var Diags = xdc.useModule('xdc.runtime.Diags');
2 V' V6 c. e6 ~5 T& y/ g! @var Defaults = xdc.useModule('xdc.runtime.Defaults');
; M& J @# O8 S7 x+ v( W! u: W8 [ J$ @! W
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 Y/ i. S+ T" U$ s9 d3 BDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ P/ S. S/ d1 c. m8 ^, L/ s' F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- |$ V, j6 P. b# [6 s3 w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! g; G: l4 s$ m) ? D2 N
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
2 u L! A% W7 v* T3 K+ SDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 q' a9 \9 \4 BDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 P8 V# W. Q! ADefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; J* o4 n9 ?) G+ B$ s0 {
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;) v; B5 @; G0 H$ p- c
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 H# h5 L! Q2 r1 s; J/ Z8 x: {Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;9 i/ O- o# ^8 N i# X% }: @
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' o0 b* b: X" W3 I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 J$ G1 K( Q$ `. J/ M' w
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 U l! _; v/ h3 M! ^* ^8 N9 u- A9 N2 R
/* override diags mask for selected modules */
& `, f/ ^7 } W+ L" [xdc.useModule('xdc.runtime.Main');
/ M9 U9 @* s% d, P- b1 mDiags.setMaskMeta(
$ U8 R8 D3 q# K7 ^$ C+ @/ G "xdc.runtime.Main",0 v7 `( L1 U, E2 f' e" w0 ~ i
Diags.ENTRY | Diags.EXIT | Diags.INFO,) A' ?$ W! O* P- O, v) [% T
Diags.RUNTIME_ON5 _8 j2 G; b+ G. P
);
; u8 W- t: R- H$ I& \6 n/ |9 h: U1 F3 j2 M" `9 }
var Registry = xdc.useModule('xdc.runtime.Registry');
- b# }. b& v: ^/ ~* fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 H) l; Z9 u2 _$ o2 bRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' w3 }: k1 u6 [% p# K2 F. `Registry.common$.diags_INFO = Diags.RUNTIME_OFF;) F5 C) e: ], i
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;' l$ V* F( r7 z) r4 Z, S
5 u+ l f* U$ r, t2 ~
/* create a logger instance */' c# Q4 F; g, y8 r$ Z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! Y% ]( T A; R& D; ]var loggerBufP = new LoggerBuf.Params();0 M' u( W) _( D/ s* E4 d& \! Y) d
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) A" m, |- f! T" S7 C: l P6 `( ^- QloggerBufP.bufType = LoggerBuf.BufType_FIXED;
. E0 I, c) N$ h" n2 X4 V
# Y) d2 S3 m# vvar appLogger = LoggerBuf.create(loggerBufP);
% d8 L0 |/ s) F4 ZappLogger.instance.name = "AppLog_Core1";
/ o7 `( m* m! v8 GDefaults.common$.logger = appLogger;
N' N: T3 d# ?" a' c% P% m7 X: s4 IMemory.defaultHeapSize = 0x8192; / b% ?5 U8 L( H& r P
Idle.idleFxns[0] = "&LEDStatus";
* O% @0 {5 x6 T. yCache.initSize.l2Size = Cache.L2Size_32K;
- V/ R, ?( {3 o6 h' }% {2 n* t+ d: Z
3 Q& P* }- Y* S( g& {) P& _ |
|