|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ k2 h( j. k/ f# y8 g+ O我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 h* Z/ @) `6 ?0 k5 l+ s9 P5 ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ O; I% `4 v* \( a* `' {* ?% v' L$ a
9 P- ?$ v; L7 \' i8 J是不是需要在DSP.CFG中进行配置& h& Y0 F! `1 P4 s
我现在的配置为
4 Z1 T3 U3 u' d% a# U& u5 z) u( }" Y- T2 n! X8 W1 _& C" l
/*
# z% O: S/ o6 a- u9 ?' [2 W * ======== Operating System Configuration ========( F/ O$ q; q3 \
*/% ~5 C) O/ N. x( F9 E2 `
% s. U$ d6 b+ j% s0 Z( B& K
/* no rts heap */
5 u- R7 g8 r! m7 g1 S8 z+ q" VProgram.heap = 0;% a J8 Y, @; p" C1 D
Program.argSize = 100; /* minimum size */& T$ D0 [) {# P. h4 X6 B7 r$ j
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- \- W( ~9 P/ ?* w5 P) R
/ V. b9 {- c$ q/ w, w( K, N/* create a default heap */
0 r- h( k, s' ~* d) ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 \# G7 y; a# Q
var heapMemParams = new HeapMem.Params();
2 f3 H" ^7 ? l0 M+ {2 ]heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& U( {- R# T8 K! U) P. L- o% k2 ~0 t0 @
6 N0 {4 m$ \5 ~
var Memory = xdc.useModule('xdc.runtime.Memory');' B# M' b) s, k; m7 y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);2 N w) i m8 \/ i8 B% V
& L* ]6 y# v% H3 Q0 y1 X/* configure System module */
9 G& T# D1 Y2 J% Vvar SysMin = xdc.useModule('xdc.runtime.SysMin');" X* f1 G4 |; b) h3 i6 K( C
SysMin.bufSize = 0x1000;
- N0 f! \ }3 i! G4 c" ]SysMin.flushAtExit = false;
0 A4 K0 C& G {7 @4 R5 X/ D! V; J( Q4 Y0 \% n
var System = xdc.useModule('xdc.runtime.System');+ X; y5 f1 S0 ]7 h; A5 Z
System.SupportProxy = SysMin;. r) E8 J& m& Y3 C0 H% m
+ _3 j3 ?& ^: Z/ h r8 T F
/* configure SysBios to use the lower half of Timer 1 */
: {2 x3 N, U. U* Yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ |/ x1 ?$ ^* U0 q# pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');) \5 ]$ j! z+ Z/ n- @
Timer.timerSettings[1].master = true;3 d6 i5 }& ]1 J9 o# @
Timer.defaultHalf = Timer.Half_LOWER;
+ f3 h4 }% V2 b7 Z a- M- z) l# hClock.timerId = 1;) N: v$ R8 l5 m0 l( I. [
5 e+ H w9 ~9 A! R% `8 V8 ^" `: ^
~: t3 \% c2 c9 x6 R5 a: P7 G: m8 Q8 a4 k/*
' H' I7 ~* x% R1 ^ * ======== Miscellaneous Configuration ========8 c$ ]9 M8 w9 z
*/4 ]4 q9 Z' ]! Q0 `
, i7 t& {- x% m g1 E) t
/* set default diags mask */( H3 D4 a# Z' C) F: a
var Diags = xdc.useModule('xdc.runtime.Diags');
) H# K/ ?8 Q3 _var Defaults = xdc.useModule('xdc.runtime.Defaults');
: i9 A( i* I0 V+ Y7 L4 F) _. {( ]( V5 B
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) H. _/ j# p }# e9 ^8 ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ E+ M3 Z) e! O. A0 T( d2 ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ I$ P: X6 c% D- |' W9 W! r2 B
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& ?0 C4 L, g; p- T, O# Q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 W. Z8 `5 f. F& x6 {) dDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' h5 n: h* O4 P% ^Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, r4 Z3 y$ ?) t' N7 q! n- n4 hDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% f' M! g- Z/ mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) X7 Q& b0 o( w) h) U$ @! B" A9 ODefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' ^* L, I% g7 e# k: RDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ ^- q$ K, Q, U, v g& N/ gDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& f" C0 D8 j7 J2 W
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 Z4 }' Z) P6 H+ }# C& w" z, BDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;: E. B, s7 n% Q. H$ i U
+ a( Y0 C2 Z3 b- n" Y* k! ^+ V/* override diags mask for selected modules */
" n9 f b' l0 U# X) z1 Q6 ^$ mxdc.useModule('xdc.runtime.Main');
. ~5 X3 |, C" | ]6 g# O& b- nDiags.setMaskMeta(8 c* R+ |$ F0 F, S4 ~8 x
"xdc.runtime.Main",
( _8 R" ?% V w2 ]" p; R, X Diags.ENTRY | Diags.EXIT | Diags.INFO,
% S+ h; v1 ^6 x& F8 X' } Diags.RUNTIME_ON
, k7 Z. H, T. [5 u) \ |; t);
' L9 X) `% v# G) H7 v" X e: x0 ?, l$ C S
var Registry = xdc.useModule('xdc.runtime.Registry');7 L" |: W T, Z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% S7 F: i b: A, i* R, b. P
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* R' Q/ L! i, R \% URegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" C+ q0 P# E# n7 A( W X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 t( V9 [# m: F' H" w% \! P
% e T. }2 u4 C/* create a logger instance */
4 Q# D/ |) e' Rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" O1 d6 x+ |9 l4 u4 ]' a7 t9 tvar loggerBufP = new LoggerBuf.Params();
: t# d; ?$ Y) [2 K7 UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* L" m) M. {+ R9 DloggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 q% U8 i/ V$ Y( u% j8 {6 N& w
) h5 v) h( j9 [9 ?8 e5 O8 ivar appLogger = LoggerBuf.create(loggerBufP);. t) P5 f1 d6 C; X# S/ K
appLogger.instance.name = "AppLog_Core1";5 U6 h. [' p5 d' H, h" `* N
Defaults.common$.logger = appLogger;; h; u- V( \0 i! l. q; e$ D' _- j
Memory.defaultHeapSize = 0x8192;
' \# G, f( p. n& u3 o2 LIdle.idleFxns[0] = "&LEDStatus";
4 i' J8 y, ^ m8 P) fCache.initSize.l2Size = Cache.L2Size_32K;0 k1 Y- w0 S$ Q3 s# z k$ |
6 Y4 h' d$ T# Y0 P. B! f |
|