|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 @. r; `9 R& R4 u9 }8 s
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) M8 f( `1 K3 ^# I% t
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) N8 R4 [0 p. b7 Y- D; F
) |# n$ t) M( S0 A3 q! u$ ^) ?4 I
是不是需要在DSP.CFG中进行配置' c0 g) a' x3 g) a8 i
我现在的配置为' S/ k& h. J2 f2 x9 _
% m4 n) T, w0 T) T+ T: I2 X
/*8 g- m, {+ p3 I% H+ x* z; }( T
* ======== Operating System Configuration ========8 P+ N; o" y( K+ Y% S7 C7 x
*/4 m3 }8 G* e2 r2 U2 C' H* u! n
+ b9 w1 ?5 [/ ^5 {0 O' g/* no rts heap */9 X5 c1 l) R Q: |
Program.heap = 0;/ @* a+ F# o& v
Program.argSize = 100; /* minimum size */( A! R& w+ V% A. W, D
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
y) l; r% \* U. w6 A2 t. k+ ?# w$ h
/* create a default heap */: D4 P& J: f4 ^ k5 R, p* ^
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, r, Z2 d- ?& S
var heapMemParams = new HeapMem.Params();
; v( |; m* l8 O$ M' U& v( {heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- `) F' W% U% o8 K
$ u, ]9 N# o) K( g" S& `var Memory = xdc.useModule('xdc.runtime.Memory');5 _6 P# \ H P
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- v! x/ M" ]2 X' } S
c! H" i1 N$ D0 b/* configure System module */
" _" b$ T# [: f& }) d( j$ kvar SysMin = xdc.useModule('xdc.runtime.SysMin');% N7 S8 Y) j( x- s
SysMin.bufSize = 0x1000;' s* O. ?6 E: A% I6 |# A, O/ ^
SysMin.flushAtExit = false;0 ~) a+ }6 A6 F/ g* n: `1 E
0 N/ i: H" z5 e" `2 |* x! qvar System = xdc.useModule('xdc.runtime.System');7 \. F$ D/ B, A' n% f) u+ Z
System.SupportProxy = SysMin;& G. M" \* x& ]" | D+ X
4 g5 V. U1 H/ E9 J5 O
/* configure SysBios to use the lower half of Timer 1 */( m1 c7 c P" Z/ Z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 C [) B |" B4 O
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
2 n' ]3 O% `2 x5 r5 `$ R/ D8 |Timer.timerSettings[1].master = true;, U8 @, q! A! \" o
Timer.defaultHalf = Timer.Half_LOWER;
+ [- V( T# v3 v# M0 mClock.timerId = 1;" c* }. l( p* R: w8 u0 D
: F( E1 @! R$ U- M1 x: A F9 ?+ u, d2 K L
/*
: P: x6 k. x" t, }2 G; m- l& R* |0 l * ======== Miscellaneous Configuration ========$ i/ i) D f7 O4 ?9 E
*/0 ?& Z, l4 |- P2 T* e
" P; P. W1 P* S( z N- K' G
/* set default diags mask */3 P. V" C3 w( [ r! |
var Diags = xdc.useModule('xdc.runtime.Diags');
1 T4 z6 d; ^& Y! h' Evar Defaults = xdc.useModule('xdc.runtime.Defaults');: j, R% C2 L+ i$ K
% Y. _2 w& |( U3 i' {) T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* r- J/ u# @* @( F2 Z# w9 \: P3 lDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 T) B6 x; z- q$ K9 ~% L/ x2 P7 hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" g* `9 Y& \ N, {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 B" p1 F" C) k1 |- T
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% g$ E5 v' O4 K, T+ K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ q) g, Y m) v/ { {" d+ U
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 b: p9 l3 A1 g# v {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* p8 ` p9 l: x# Z+ F& \Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- ^: \0 ~. D" r* P0 @. O7 }Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& @; g% {5 [/ A/ B( b
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: [; C0 c) i9 _Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- w, r5 v8 r& [+ `, h0 H' C
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
J H* d: P$ a; [4 P- U) qDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ h2 s% B% k5 x. O! \4 q
3 ]/ L1 g' {9 l/* override diags mask for selected modules */
H+ g8 m+ h: S" A( L; pxdc.useModule('xdc.runtime.Main');
8 m& g+ \: j/ I; K' v5 N6 fDiags.setMaskMeta(
! Y5 k- w0 y* T) v- y "xdc.runtime.Main",
" m0 U7 A% G, _' E2 G Diags.ENTRY | Diags.EXIT | Diags.INFO,
( D9 M$ y& E3 b0 r. a* L Diags.RUNTIME_ON
: Y9 C, V) }0 L$ G);
" d5 ^& r% o" U3 u: s U' Z
, m( z; T+ x+ ?, c! Y' Fvar Registry = xdc.useModule('xdc.runtime.Registry');- j3 W0 U/ u! [7 G
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* T& U4 ` I0 F8 q! A9 g ?& K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 y" j2 w- ?& Q0 X0 eRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 ^1 b' Y) d- A; Q- ]( L& t
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* v8 x' \8 I0 ], L) |, q* l: K2 T) W b* Y% U( M! e' n
/* create a logger instance */) T( V; Y4 O: G+ A. I, p0 s6 ]
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) w& N4 X' n- \# U, S
var loggerBufP = new LoggerBuf.Params(); n( e5 o$ W. B5 Y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 O; c& i& k8 Q& {8 x% |7 J) ~3 ^! p
loggerBufP.bufType = LoggerBuf.BufType_FIXED;6 U: q+ U2 x$ O7 A* }
) ]' `! [: B0 s# `- tvar appLogger = LoggerBuf.create(loggerBufP);
$ L1 E$ f! R8 j; UappLogger.instance.name = "AppLog_Core1";; U/ e; A+ a6 J+ j; k1 z6 b
Defaults.common$.logger = appLogger;: ~6 ]; `4 H$ R, J% P
Memory.defaultHeapSize = 0x8192;
( z' E5 } q4 D' c0 Z( D& oIdle.idleFxns[0] = "&LEDStatus";
4 o% Q: g9 }) y: \* i/ W7 TCache.initSize.l2Size = Cache.L2Size_32K;/ Q+ T* |. u$ n( O; R
/ Y% M5 C5 ^9 n5 a0 z
|
|