|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 G9 `+ Y' Z* G+ K2 I1 W3 E: b
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 k6 @, Q, ?: Y+ S/ }(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' F# N" G% i% `, n+ I5 {2 h" @, T% c" N# m: o' S5 |+ d
是不是需要在DSP.CFG中进行配置9 I$ t4 E: k, L9 c3 w% ~- I9 A
我现在的配置为
+ I6 i! z \ Z1 ^( M1 b# Q8 E7 k6 Z
/ Q9 }& m6 ~6 g) [/*
/ a1 M5 T- n3 V" C6 y! ?" S$ t+ G * ======== Operating System Configuration ========
3 v$ j V: \( Q6 K2 U, E+ Y/ b */" ]8 I: Y* o# x9 O5 j& m0 \8 G
2 @5 J8 j! Q7 b1 s( i& ?9 p/ j8 ^
/* no rts heap */4 G/ _, K1 V6 l) y
Program.heap = 0;
. Z( Z# ]5 s# D) N, vProgram.argSize = 100; /* minimum size */
* [: `+ o- O% ] lProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 \) U" E# t) e8 J3 }3 J8 J. d+ [
7 {. e3 ?2 X' R, p7 y7 {% [/* create a default heap */ j4 {+ f" i$ v( J% X9 H
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ s5 D V# ?& B m% r; Jvar heapMemParams = new HeapMem.Params();$ ^& u! F2 L) X! Q& N% P' M l
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! N9 X6 x* H) J" ]3 x, y" Z
( f9 O' `+ h: H* o9 M' u: N2 x) @3 f/ Jvar Memory = xdc.useModule('xdc.runtime.Memory');7 B" d v/ s1 Y, F$ }, }
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
! T8 B% H! Y& T* ~
" E- V; K4 \/ y8 W6 W. m/* configure System module */
/ L* `7 u2 j" f, ]% H% y; p0 g& I7 [var SysMin = xdc.useModule('xdc.runtime.SysMin');' f0 [6 J2 A% X+ A9 V6 U
SysMin.bufSize = 0x1000;- O( Q/ Z5 Y5 _; @( m R
SysMin.flushAtExit = false;
3 M7 }' b- |3 U% j6 X A& B9 f% g. M+ `
var System = xdc.useModule('xdc.runtime.System');
. b) G" Y+ t/ o* sSystem.SupportProxy = SysMin;
, l4 N2 D7 Y6 X( t, q3 w) }* r" w( V' W& N1 {1 H
/* configure SysBios to use the lower half of Timer 1 */$ ]! D. _2 B- \$ ^$ Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 H+ X% p/ J8 C% E! Bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 D4 Z* F" G0 Q. |! \4 m2 G- Q! sTimer.timerSettings[1].master = true;
1 N W9 J! p6 ^+ S& K9 T- gTimer.defaultHalf = Timer.Half_LOWER;) U% @3 Z$ A" N
Clock.timerId = 1;2 |7 [6 Z! w# m" O! U4 L/ {
c9 R3 z. M a* U/ [( v
, Y9 b# v/ P/ r
/*
7 S0 h; j% P# K) W * ======== Miscellaneous Configuration ========
3 I- w: @3 F" d1 f! _( _ */5 Z) S. H0 f% H/ j, v) n
& d) y V; U) W1 u6 p
/* set default diags mask */
3 D0 \6 S3 A. \8 o s1 v- pvar Diags = xdc.useModule('xdc.runtime.Diags');
, O5 `& W3 @4 o( c9 W' m8 T3 B# X8 Fvar Defaults = xdc.useModule('xdc.runtime.Defaults'); H$ F. C+ ?5 t1 G- Y
" J+ ?$ {' }1 z- ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: j3 _6 h$ e) c1 Q" x0 e R4 qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 V9 d4 Z' X1 M' _% fDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 H% G+ H. d6 \Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 F! m7 s2 m3 d& QDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
{( I; s) b( M9 j0 Q1 u, q0 yDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! l( E/ B. \ l$ [6 fDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 }1 H1 ?! v/ t7 U2 p# qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
d$ O r9 T8 M+ i: ~# DDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 o$ `: V$ H0 S+ C3 ~0 [8 o9 lDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;# ]% x8 `+ t, v; n
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; l2 w5 n7 `% Y2 P1 T F
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ P$ X7 B, G& [" f5 X! U; @
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ Z% g) J" m/ F eDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 `1 s% }# i" {3 Z0 _7 X+ _
( [$ @$ V7 e& V% v7 U5 @
/* override diags mask for selected modules */
+ V+ i1 R4 k2 F) V$ {2 e3 fxdc.useModule('xdc.runtime.Main');" v0 _/ g! z; v% q4 @, h
Diags.setMaskMeta(
5 `0 V3 B8 E6 p3 G7 E# m; j "xdc.runtime.Main",# M. @7 w7 N( k7 ]) r
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 }. R$ R4 R/ I- A2 {% n! ]
Diags.RUNTIME_ON4 [, t* m1 X8 e+ M& w$ w- x4 M
);- H y0 t j; a* ^5 S9 q2 x
6 h4 ? A ]" p% q; m- k
var Registry = xdc.useModule('xdc.runtime.Registry');( a; }* u! u l6 [" O' _1 E
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 {( T' [# B- a/ }5 t) b# U
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ m h) `; q1 q0 X
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
; H) o; Q1 T( `Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 f, G' Y( r* `% x
$ Q& O/ t0 m) b0 W+ e7 v+ t4 d- m
/* create a logger instance */
2 n# x: s3 K% q7 k- Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');5 K( d+ Q+ I- u1 Z* J5 O- v
var loggerBufP = new LoggerBuf.Params();
4 w: x% U; [0 j8 ` VloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 j( k6 t% N" R/ ?4 \- jloggerBufP.bufType = LoggerBuf.BufType_FIXED;0 g0 g, e7 g1 b( L- B! G; p
, u( ]3 h! F6 `) E1 M( {) B" [var appLogger = LoggerBuf.create(loggerBufP);$ ]: w: ]) K, {, l3 s! j
appLogger.instance.name = "AppLog_Core1";& ]* U0 S8 S2 L( {
Defaults.common$.logger = appLogger;' h9 S4 _' C& d ]; u
Memory.defaultHeapSize = 0x8192; ! {7 l |! R7 _" ?9 [9 H
Idle.idleFxns[0] = "&LEDStatus";4 y% Q+ F, W- b" a2 }; J- A
Cache.initSize.l2Size = Cache.L2Size_32K;
- W9 h0 C! N7 w7 R5 I2 Q
2 E0 V$ q4 \. |. B# X `: p9 }- E* B |
|