|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ m, {+ C N( R) t# l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" ~, R7 s2 t! }/ O(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 h T4 F+ o' p' u g
3 [; c, a M/ L1 g! X! M$ p是不是需要在DSP.CFG中进行配置
+ o4 S Z% h1 O6 q6 Q& D# Z我现在的配置为1 U6 ] N; l+ @, r6 B0 y
4 L5 v: t, O# X" ]) }7 }3 y
/*: J |, R5 q7 I; ]$ U! ]' O& }
* ======== Operating System Configuration ========" P5 P" i3 D4 e
*/
& N. N6 b4 Y+ x! T$ j) u) l+ X* c$ a9 {9 n( S. {
/* no rts heap */
- a7 A6 g3 G4 A1 k& uProgram.heap = 0;
! {1 p- n, z2 m* CProgram.argSize = 100; /* minimum size */
& K# ?+ M9 g/ U2 x' j& iProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 q+ S+ n% c4 l
) X5 G( P: K8 c8 |9 I; p/* create a default heap */: Z* B1 ~" E# p2 i7 v/ I" D
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 o$ I; a3 q. ]# T" i$ R& }+ k* Tvar heapMemParams = new HeapMem.Params();
& V6 i' x; N% A |' NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( U: j( U& _+ z/ x
8 D' A# d- H: d6 `7 U% w
var Memory = xdc.useModule('xdc.runtime.Memory');
2 i7 b. e2 c: u- g1 OMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
) s6 Q; D7 j8 D6 i: X! m
; W5 i+ w" ?4 c; x0 V( w; }/* configure System module */9 _7 M1 H0 D+ v% ~7 r5 L
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ S# S6 Q0 k8 I/ q* H# f8 r
SysMin.bufSize = 0x1000;& D+ b8 O' M9 P t H E
SysMin.flushAtExit = false;
6 A* ~: e0 |# U' n$ ^! [
, G) H4 }" [/ @2 u" r+ }0 Cvar System = xdc.useModule('xdc.runtime.System');
; ]* _/ Q, Q# _: G$ Q; \8 P. B" YSystem.SupportProxy = SysMin;
8 {# j4 R# I- s3 S
7 q' ]" M- w' R! l. ~0 X/* configure SysBios to use the lower half of Timer 1 */
; q! D, f$ R1 Y5 `! r8 ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 M2 _) f8 r' h" }var Clock = xdc.useModule('ti.sysbios.knl.Clock');
W7 R s6 Q3 j% o. O. j& ~5 FTimer.timerSettings[1].master = true;
+ s) D) @& }, [$ `0 T) v5 I6 [Timer.defaultHalf = Timer.Half_LOWER;2 v; P1 H4 V4 U1 {1 K. n$ ]$ j
Clock.timerId = 1;
6 u0 g' x( j3 j/ T% z4 ]8 Z
) E) O* u0 y" M! k& F
3 U6 u9 @" g, K0 r6 ^7 E" h/*
" H! E; `! J( y$ F * ======== Miscellaneous Configuration ========
/ g9 I, T& z1 u8 Q3 ]8 h7 O */
( f9 R+ C$ o5 p( L/ D
5 `$ X; m) D1 q1 w, c# s/* set default diags mask */' L# g V& Y* Q9 h
var Diags = xdc.useModule('xdc.runtime.Diags');% S) K: `( u: b
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ {7 |4 W- b4 K$ [1 ?3 l4 U
_- y* J) Q1 n. v8 c1 k/ |Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 ]. G7 x: M0 M0 `; F: C
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ ^& B4 L" j8 [4 ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: j. V4 [- ]/ j0 y; q9 UDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( Q. g2 V" F* P6 G$ ^% e- p6 ADefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 {5 J" ?/ s% w- X( V$ _ q8 mDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; y5 `+ J0 m% v, E+ S" eDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;0 o4 Q$ j/ l- U- M7 G p
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( W5 J0 I- u- Q3 q; f; y% ]4 Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 s# q! H& \* ?* q8 C( }
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 y% K/ D/ I$ D+ ?) H% x
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! T' @; z0 y% x. p8 R- M3 zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 k/ y" E. Q3 PDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% y% l5 @0 d; p) U, Q' vDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' v" u+ W3 `7 T8 |3 K& I0 Q2 j4 B! l G. I0 N. t$ F2 [9 k
/* override diags mask for selected modules */% N* J5 Y) p( d+ ? A+ {, w5 V3 S
xdc.useModule('xdc.runtime.Main');5 o* j- c" Z" ], g. [6 ?! w
Diags.setMaskMeta(
& x( f8 T- o' ]+ l+ t+ ~) r( h "xdc.runtime.Main",
; S6 Q" i& q5 A v4 H, p/ T Diags.ENTRY | Diags.EXIT | Diags.INFO,- O r6 J! X9 o3 P9 [! u8 h
Diags.RUNTIME_ON t6 o( r8 H" ^# K6 Y
);
6 m% @ ^0 h C$ T, F' N: F* p
3 @/ E0 Z. J/ p3 |6 ^5 Wvar Registry = xdc.useModule('xdc.runtime.Registry');
6 E n9 X3 C) q2 M* _. |Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 R. U& c& u* H; [" _; ], {, B% |" f$ X/ CRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 d2 i! ] {; n9 mRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 _. ]3 p9 h( O1 P5 [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 V$ x# m) \# Z/ B$ N% G) r' U6 w3 K7 c$ V# v. L6 G
/* create a logger instance */
5 j$ j! G' d& A* d- ?var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 h. O! [; X: @8 u( W) N/ ]! Q
var loggerBufP = new LoggerBuf.Params();
9 c4 z. f) K% t. y5 dloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" l! b0 F9 C$ y, N+ i) a. z5 hloggerBufP.bufType = LoggerBuf.BufType_FIXED;9 z' s( C, _- U1 l
; s0 {9 s# c3 J: b2 Q9 t
var appLogger = LoggerBuf.create(loggerBufP);: w& g. O( k0 c5 Z G3 H! _
appLogger.instance.name = "AppLog_Core1";
+ Z! `/ `% _- r* uDefaults.common$.logger = appLogger;
9 Q+ X1 _9 h0 F6 Z" s4 z* ZMemory.defaultHeapSize = 0x8192;
7 v+ z: z- C' n1 f2 b- k) TIdle.idleFxns[0] = "&LEDStatus";
' |$ v# E9 H/ M* SCache.initSize.l2Size = Cache.L2Size_32K;
6 M& [7 E" x7 ?: @4 N: I& {
1 p' c* T" l3 w7 F1 I. z9 G |
|