|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ O. G* p( l; H
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! z# s- ?5 l& u" O(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- _( T# t$ J9 r! C, b. d. ?& V
" k% r& T& d* c' e0 n
是不是需要在DSP.CFG中进行配置
8 d# @) Z5 m8 n6 B) W5 e我现在的配置为6 `& A2 n* J& Z: F6 k
( f& @; y Q# N( f8 @3 x
/*
8 n8 R4 d* {7 @+ E4 _( y3 N- z * ======== Operating System Configuration ========
$ s3 I7 p! q2 Z1 c5 [" k& D9 u */
2 I$ l5 b4 Y8 p: v( j4 M+ B" x) t3 v( ` C0 M
/* no rts heap */
5 u3 Z: Y/ Y8 \1 O; n/ ]. g' fProgram.heap = 0;3 S# v# U4 ~( Q. V, G9 V: y. b
Program.argSize = 100; /* minimum size */
% i; y9 ^0 t: h: k3 ]5 r( k, pProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! ^8 E% I" j5 I3 J( N# ^ {" f1 E
) n5 C+ C6 U6 U0 {+ I, X) R* q8 L/* create a default heap */1 K& O1 U5 G# H) B$ r
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% `6 L/ s0 }# O5 f) evar heapMemParams = new HeapMem.Params();4 j! \0 y m! S8 Y2 m% Q% ^
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 n' O1 K4 B' b6 N; r' x2 a) `& y
# J' W$ B: {& O$ f+ d1 @
var Memory = xdc.useModule('xdc.runtime.Memory');
" ?- j i! u. jMemory.defaultHeapInstance = HeapMem.create(heapMemParams);& V+ E9 E$ A8 t( o
" ]+ B& s0 | ]" S% V8 [/* configure System module */
% a4 V( d8 T7 Z! S' xvar SysMin = xdc.useModule('xdc.runtime.SysMin');% U _: i! k. j3 u2 `4 x
SysMin.bufSize = 0x1000;
" N( ]4 d: e* l! [8 V+ A( N% dSysMin.flushAtExit = false;
u: Y: {! [# j& ]) p# O4 s3 j
p8 x( d7 [$ F5 `var System = xdc.useModule('xdc.runtime.System');
% f# j7 N3 S$ l/ NSystem.SupportProxy = SysMin;+ A# D* \6 Z6 {4 @7 {( k
. t1 v: I S! V' ^4 C% y( |/* configure SysBios to use the lower half of Timer 1 */: u3 W" o4 D# ], T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( C; n- b4 U) m8 g! i
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% w; L4 u7 x: W6 |
Timer.timerSettings[1].master = true;
) }3 [, f1 K: ^9 T* H* t$ nTimer.defaultHalf = Timer.Half_LOWER;& F3 D5 z' P& V9 w9 F! T9 L v4 ~9 I
Clock.timerId = 1;/ z, D5 ^. R6 F& c5 H: ~
0 ~& @) ~6 o, m
% F. |3 ]( p0 F4 B% p7 z# x/*
+ @! @: o8 s0 c, j; Y) H * ======== Miscellaneous Configuration ========3 a; b2 }; q3 K
*/) D/ R, U0 |+ i
0 G1 @4 @8 c P4 v1 C
/* set default diags mask */# m- v% v7 P+ T8 X& l3 F5 v7 ^* x
var Diags = xdc.useModule('xdc.runtime.Diags');
: ~% q1 h& x& gvar Defaults = xdc.useModule('xdc.runtime.Defaults');
- j9 V) g% H' n, |, K- b5 y0 q' V- W; K, `$ i: {
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ L F3 t3 \+ H# b& D. r
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( [ t% e) g( QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 s1 _4 w1 O$ V3 n' |" P: H
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 p4 `: ]9 G' |- P+ R2 q* zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, @3 Y( K/ U" n+ b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* ?6 N, v( r$ \ ]' D/ ~2 QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. u* L! W/ t; [$ YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' v3 |2 Q4 F9 E+ f* B0 \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) l, u3 _% I* G" t8 ^9 jDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 A" W$ ], `. g6 XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ [9 Z& _; J/ ?' [. l
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 R. {4 c5 x( {Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ `& [, O% G1 g0 O$ L- tDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 |! F7 ` b2 j0 u+ N' k% n
1 ^- [1 x# t; z8 b; z
/* override diags mask for selected modules */
/ D* @# \9 f+ I0 f1 F# Z' qxdc.useModule('xdc.runtime.Main');
: L! h% S$ c- b8 e+ k4 PDiags.setMaskMeta(# C* Z( P$ @2 H' R) C
"xdc.runtime.Main",
R% m0 b0 O0 {! d% s- ` Diags.ENTRY | Diags.EXIT | Diags.INFO,! ]; t# R4 E1 @9 ~- S* _. X% |/ a
Diags.RUNTIME_ON. L2 n4 d# p& R
);" h# T! q; o; g" _& Z, ?" c
6 s, m1 ~# `7 C) A; K
var Registry = xdc.useModule('xdc.runtime.Registry');
; B, T$ n0 t8 z4 J! h0 DRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) O8 l7 W$ _5 B. W( v+ t9 eRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
, @& `- Q6 Z/ d* w+ ZRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;- {$ r6 a) E6 u" }! [0 R/ B
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* o' ?" d/ n, I F
5 m, J# ]5 ^! _! P- t- h
/* create a logger instance */2 Z0 G% a& O3 {& g( m" @1 l# V
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ Q! w& k1 y3 K P% ^" p- o5 Nvar loggerBufP = new LoggerBuf.Params();* {# q) v0 V% {; x( d! d9 A& F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; [3 }" S# b6 l+ c+ h" WloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 E g/ F& d4 o: T k- ~# R2 V# T" }$ N& F3 Q& E# [) I. l
var appLogger = LoggerBuf.create(loggerBufP);
% B. a" n/ J+ QappLogger.instance.name = "AppLog_Core1";
3 i$ L1 m6 ], U4 F- FDefaults.common$.logger = appLogger;7 C4 q8 d5 p- k. W/ {! Q+ k
Memory.defaultHeapSize = 0x8192; ( I3 ~! c/ S5 A s; j& j) Z
Idle.idleFxns[0] = "&LEDStatus";( o; F* P4 q; l9 a$ g( b
Cache.initSize.l2Size = Cache.L2Size_32K;: t) u% \' r, \
5 j1 O+ M! J1 Y- w+ \3 p
|
|