|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
" M& a6 [7 q6 H2 ]- T3 i我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- m% ]' U" b* ? N5 m0 p; c
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( T- l. B) Q" y5 y% w+ N, d- l \ @
是不是需要在DSP.CFG中进行配置
3 z; i% i1 n( g7 T+ T- h我现在的配置为
2 {' F- B; z3 d$ B' L
0 M8 g3 C; Z; B4 w! N1 V+ e/*
( _! i& _% i, x* | ? * ======== Operating System Configuration ========
4 \4 [/ y8 Y+ h. e5 P */
2 A) x" t& s. Z
' i. k9 h9 C6 P" W [( `. \/* no rts heap */9 I, L+ T! |* X) ?0 K0 l6 e# E# V
Program.heap = 0;% n/ R$ ~) c/ V
Program.argSize = 100; /* minimum size */
# Z: v& v' H3 X5 B% O5 O* ~Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% z, d% w: |* Z8 ]! K5 G
( k1 }/ ^/ E7 U, Q& D/* create a default heap */0 a# {( u1 u1 O" u4 k- d& i( v
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 q; D. ?7 g+ A( |; s2 {% h( H1 K
var heapMemParams = new HeapMem.Params();* |. ^0 o$ m# o4 L& q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
4 I7 V3 N! H8 k9 g- S0 G$ }: _# V' l, N( I. e d K
var Memory = xdc.useModule('xdc.runtime.Memory'); J7 c: R2 T+ V+ k! L
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);" _2 v' l- c" ~) N( ]6 T
7 T0 J) ?3 H! j7 p C D+ _6 L
/* configure System module */
+ H9 i' X: Z% i1 Vvar SysMin = xdc.useModule('xdc.runtime.SysMin');+ C/ p9 p3 i# [& x; T# v; n2 C
SysMin.bufSize = 0x1000;
0 q( B, D2 f. D2 v8 ?, t7 U7 pSysMin.flushAtExit = false;
/ z5 L/ x, Y% O+ f; f5 B ^+ I. ]+ H
var System = xdc.useModule('xdc.runtime.System'); s1 a. w2 R+ f6 r
System.SupportProxy = SysMin;% T. W# P( C# z2 Z0 @8 p+ N
" O9 E2 m( G& w! @/* configure SysBios to use the lower half of Timer 1 */
2 q/ p6 h6 G1 {5 Lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
x1 r3 i. @( Uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
. V3 c( n2 M4 D, @! D/ D L% eTimer.timerSettings[1].master = true;
+ M- ~1 b$ b8 `4 Q: O" Z QTimer.defaultHalf = Timer.Half_LOWER;* M5 D9 w3 m5 D& M( v
Clock.timerId = 1;* _6 c' n. J* u" ?
* U! s$ S3 ~: v. T: Y' Q$ y1 w% M6 g) P: ]# f3 q
/*: o3 x6 Q8 H h; Y. M
* ======== Miscellaneous Configuration ========+ B8 U$ a8 z7 q( j+ E1 l1 }: D( y- M
*/
4 B& F ?- D& G, |3 `( R
# d: z1 @, x2 u U/* set default diags mask */8 E- @! r9 R8 D# ~" u
var Diags = xdc.useModule('xdc.runtime.Diags');9 e) C% Z( X* H% i1 Z
var Defaults = xdc.useModule('xdc.runtime.Defaults');% T) M$ F0 X9 c8 w+ L% S
0 M0 Y3 L6 i/ ~
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 w+ h f6 `" A* C! JDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 t4 R0 \$ K; X4 aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 u+ E! @% d. Y; [, I7 f# r+ UDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; R9 p5 l6 l8 T& X8 a" u, D
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */8 I: K5 _9 V, L) ]4 m# S" T& `
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; O7 Y2 m; D' p$ Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, p1 B$ y, |9 f6 _' B" R- _ l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* l$ z# z4 t2 @! zDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ A9 ]& j& K0 R( v( k
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. y; D- H% O& u( C6 w6 FDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;! w4 N" b8 \ a* {
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ m! a; V% c' b( t1 @4 h {
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. M6 i3 W# g- \
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 i1 C9 o2 O7 h8 C; c+ T( C2 i3 F: m7 a) a+ Q* C3 p- o2 X8 a
/* override diags mask for selected modules */
. l& @2 M. b) I0 p+ ]/ axdc.useModule('xdc.runtime.Main');
- _# t6 N+ _, V2 U1 g$ mDiags.setMaskMeta(( H/ o" {6 p3 ?- h
"xdc.runtime.Main",/ j* `* _9 s3 x! Y- m
Diags.ENTRY | Diags.EXIT | Diags.INFO,
. j) J, X3 c' ^1 E0 }$ P H. } Diags.RUNTIME_ON
3 O$ Y+ g! C5 W4 q: K' @);
) x5 ^6 Y# d" {
1 |' c1 z N7 y: i1 n/ z8 \var Registry = xdc.useModule('xdc.runtime.Registry');
8 l: `: R$ r; r( S2 Z" w7 ARegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" i0 F9 a. z; r7 ~0 F! c. x R: e
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" p5 k- k7 |& G6 \* p5 g
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. e9 d4 h) H6 T/ K9 p( c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" \" e& X* K1 E, p( G3 W$ K1 R+ E8 y+ X* \
/* create a logger instance */2 a6 v: c4 ~ K! M" t. S& X1 ]
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) Z, d/ ?/ y) g$ O( v
var loggerBufP = new LoggerBuf.Params();2 I; l p# y" N( U; u& c7 v5 O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 _+ b/ a% ?* r$ B* Z( _
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* H0 C7 A' P. i1 G; @8 z3 v
# w U$ o! m* Y! Xvar appLogger = LoggerBuf.create(loggerBufP);6 K. [. m7 U! k: Z+ c
appLogger.instance.name = "AppLog_Core1";/ `" I* O9 t6 L
Defaults.common$.logger = appLogger;
% f6 V5 [; y% A! o" Q- F+ _Memory.defaultHeapSize = 0x8192; ( Y3 Y3 \1 |2 U8 G7 _% h; j" B
Idle.idleFxns[0] = "&LEDStatus";
$ |/ B" C$ H* x: u% p# S$ `- e2 GCache.initSize.l2Size = Cache.L2Size_32K;* ~2 v7 `& f/ J# S" {# Z
% K" T0 ~" q9 K$ g' M7 F6 Z
|
|