|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 V! J8 r% S0 L1 r% F3 N2 o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& d* Z: z4 G1 A" X# \2 P(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 o& B( M( `! }. ~. A' @4 ?
# u) W1 c9 v3 J5 s是不是需要在DSP.CFG中进行配置
/ s0 L4 h# S4 }9 T& X我现在的配置为
0 @5 z1 ?8 X3 H& Y9 q5 B* V
! A0 q/ q- f" q, U: T7 e! i; r$ N. t; l/*; F2 L: T/ F! q. S* _/ G
* ======== Operating System Configuration ========* M5 l6 F' u. o2 C4 I) H% R
*// m5 b, o7 }; H P* L Z
, ^1 w7 d, k$ s6 `, g& t$ O/* no rts heap */
& l0 @7 u M& K( T" A6 j0 AProgram.heap = 0;3 T/ [- W8 |$ k
Program.argSize = 100; /* minimum size */. Z) ~" i* i& F4 a5 n
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 [0 E: j5 T6 P
4 c- B! U+ Y+ m; c. D9 W: Z* }/* create a default heap */
7 e4 v* q+ y% Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 R: b1 z5 Q9 }( { jvar heapMemParams = new HeapMem.Params();
' O3 ^, { y H2 {heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# p/ C6 H( e+ `( ~! D' j7 M4 } z( y- k- `# r& h+ C4 H# q" W
var Memory = xdc.useModule('xdc.runtime.Memory');
9 x" }; D9 {5 n# E" @Memory.defaultHeapInstance = HeapMem.create(heapMemParams);1 [) K, Z# n" _) ^3 m+ j8 m. F
3 h+ |; P* C3 V$ g& ~/* configure System module */
P& Z& U' e+ e% uvar SysMin = xdc.useModule('xdc.runtime.SysMin');
' C. M2 B" v1 @$ h) fSysMin.bufSize = 0x1000;
" p2 u9 V& Q8 ^1 ^SysMin.flushAtExit = false;
$ D" K1 ]0 h: v q& \, F9 V
# |5 q( E+ Z0 l8 F0 @9 cvar System = xdc.useModule('xdc.runtime.System');
2 g3 D4 a$ K# eSystem.SupportProxy = SysMin;
G, }7 m. k! W5 S0 Y, a
* h! S a t g2 V% h+ ^6 O/* configure SysBios to use the lower half of Timer 1 */5 m: X/ t8 G. X6 v, E, o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# D, |- i/ u; c. [4 z1 fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- T# c# M" c- U$ n, ?" j, @
Timer.timerSettings[1].master = true;1 j& r2 T& y) T( M! N
Timer.defaultHalf = Timer.Half_LOWER;
. i3 j% I; Q, Z6 G; ?Clock.timerId = 1;
; L/ e. J+ _: O( s1 d( C* h" q* y/ X& s [4 u8 R. g
6 l/ ?- g# ?. o/*
2 i) m0 @- [' i% O8 E * ======== Miscellaneous Configuration ========; A9 e, f' ] v0 D+ [/ o( Q
*/
( q3 a9 [% S/ u. K( C# X o
0 K7 S& }; a5 d4 t J# P/* set default diags mask */, D9 v8 U/ @! x# `" H9 J
var Diags = xdc.useModule('xdc.runtime.Diags');
/ H7 K6 F( t% [0 Z/ Q% {var Defaults = xdc.useModule('xdc.runtime.Defaults');
: L4 c- h) l+ O/ P5 G) S9 l
- Y9 Z8 r5 @% _$ Y3 q. Y1 ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 v/ U7 t0 G* P' y4 K8 f- x6 L5 a3 D
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! N/ d: b7 ]- k& u1 R& T1 pDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 F/ i8 g1 q& p$ v7 H( A0 g
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! d& T( |& S ~, O- d
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 v" ]1 q5 {% c. }5 p% E8 V
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" A5 r* d0 g2 SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' I' b0 T2 |- x5 s2 cDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 Z" U0 ?) w; i! N* k' x" _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! |$ p3 P6 |! A6 S4 T+ Y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ P% {3 ?/ g, f" n" J; L, GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" w' W6 A& A' y X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% }. s1 C# f9 O4 SDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;" @& U1 B) c% h( S( q( \" p' W
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 s6 g" V9 H9 Y, }
3 A b$ `0 O! n! _! A8 L& s/* override diags mask for selected modules */
4 t, C) g M' |4 Y; L% hxdc.useModule('xdc.runtime.Main');
w3 G9 k& K& j: c/ E$ B* `Diags.setMaskMeta(, h+ B8 Q3 l- S4 j0 S) D0 s
"xdc.runtime.Main",9 b: l& S+ x2 e4 ?- @! Z8 w0 o
Diags.ENTRY | Diags.EXIT | Diags.INFO,$ V, `4 u; z h v- r
Diags.RUNTIME_ON
* m- a; j6 O( W u S5 c);7 A! J6 G) T- J& V& Q6 W
, I8 {' _# e7 v9 R, f% |var Registry = xdc.useModule('xdc.runtime.Registry');1 F2 z! M7 L+ [; p( s2 @
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 N; y( q: v4 w
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* H# E) v1 @( w2 _+ h' ]4 fRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;; `3 z5 g# |- M
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
f b- i- p; Q$ d
$ H8 o: K/ w$ t4 e: J5 i4 Z/* create a logger instance */+ S( H! w" W8 ~* Y1 L. z3 @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! |0 Q. V3 y* T6 Ovar loggerBufP = new LoggerBuf.Params();
/ M! D# D" V% e$ ]6 E: kloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, ^1 Z: i! u- t* h# @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;) J# B! `, E: L8 b, ~, d0 R
0 V8 z9 b9 G: u5 Svar appLogger = LoggerBuf.create(loggerBufP);+ ]) ~: K0 M( ]9 y6 u; K, L
appLogger.instance.name = "AppLog_Core1";1 c% e. ]& W9 F8 A! B* e; H
Defaults.common$.logger = appLogger;0 V% z, j5 e* P, q; U
Memory.defaultHeapSize = 0x8192; : a. s, } _/ j. h
Idle.idleFxns[0] = "&LEDStatus";
3 s9 @& P/ \# \- ?/ `# TCache.initSize.l2Size = Cache.L2Size_32K;
& C1 C! W; K/ X5 G3 k6 y
0 U. e/ Z5 k+ v2 p3 z. C% S |
|