|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- b# ~% k& D% n" O3 S8 z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, T) l+ Z1 j- L' E* H4 n5 f. R
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( p9 o0 ]2 W$ B; Q
: y3 W* X F1 w7 o9 s( u N4 m
是不是需要在DSP.CFG中进行配置
}% o' `( z @' D& F* B我现在的配置为 K/ o q) N+ G# m9 S
8 R- f/ `; C( W) e
/*0 r) R# h3 ?0 V
* ======== Operating System Configuration ========
" [# }7 v p4 u */
3 B3 D9 J' R% t' |( k! A8 L$ r7 x1 P/ p! i! o
/* no rts heap */; p6 C, U, z+ O
Program.heap = 0;' `1 t' z) a) F; k
Program.argSize = 100; /* minimum size */2 ~9 K2 ^" s' B. h
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大6 `7 |" I( ~9 Q5 T$ V# p+ B
& _9 I: u: r8 ^/* create a default heap */
6 Y% [. S( K: z2 V1 Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 T. x! M0 o+ F' ~var heapMemParams = new HeapMem.Params();
' d% b. `$ P: J' p' f+ PheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 |: C6 a4 T- B& Z/ j! Y* L' W) S
* \2 d* R3 j* z- w* z7 c+ v" Q" h
var Memory = xdc.useModule('xdc.runtime.Memory');
2 ?) q5 q) m5 i |# zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);! c. I& X8 @4 l
* @- o) F* j/ r9 U( i/* configure System module */8 ~5 G/ e$ R/ f- [: S1 }
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ h) l8 X9 d* q2 F; u L9 V! ~% M' o
SysMin.bufSize = 0x1000;
( U; ]$ C. n6 T* y. m) [5 SSysMin.flushAtExit = false;
, h9 E' `1 w4 |- Z) Y2 \' M3 j9 f5 j5 i6 v& y6 W1 |' r2 L0 K
var System = xdc.useModule('xdc.runtime.System');
+ _0 K4 A" F- O8 N3 J; MSystem.SupportProxy = SysMin;" K7 }6 ^' _* h% D, X1 Q& j
: }& m3 O! l3 x, t
/* configure SysBios to use the lower half of Timer 1 */7 ^) x6 f3 P4 }3 s5 b) V3 j
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* G) Q4 Z" S( r
var Clock = xdc.useModule('ti.sysbios.knl.Clock');* l& c/ A2 u7 t, O
Timer.timerSettings[1].master = true;
: n1 Z y" L6 C7 DTimer.defaultHalf = Timer.Half_LOWER;9 Z2 S& u1 E( Y/ R7 y& J/ |
Clock.timerId = 1;9 C, J1 p. {' w% G
& K6 E1 T: z4 N3 K/ k) @" |4 Y4 S: b& e$ B+ `
/*& R8 v$ Z. P5 k8 b6 S
* ======== Miscellaneous Configuration ========2 ?0 E: ]0 p# w) c+ n5 \
*/
y, z8 G4 Y) s( t' Z& i8 N$ ~! Q
/* set default diags mask */! j8 ^. m& ]" r. i: @/ @ D0 ?7 X' Q
var Diags = xdc.useModule('xdc.runtime.Diags');. d0 q% h# e) P8 e
var Defaults = xdc.useModule('xdc.runtime.Defaults');) ]) a) A- R: s( C+ f
7 b+ _0 e1 f! q5 s" W# ^" eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ [' c4 } L7 P5 u2 o! ]) [# J; LDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" \1 Z P- p8 d8 U2 o- j
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& o. }8 x, n) bDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
[+ l6 R- O7 \- z4 s2 X, uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */. A, A0 n: y, i8 m; f/ r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 }0 g) F3 [# z0 p4 A6 d0 W* hDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- X/ w( `& |0 T X7 @Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' W# d, R3 }& H* {
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 [9 k( ^7 q8 A9 V
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( P* d) B$ |3 Z i: s: vDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 s- R, ]4 o+ ^" t9 s3 sDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- `3 C+ I3 _# sDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 N2 v; h, B- B( W& l
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, W/ j' S; N# \. g
' \5 W, r; H7 ` q
/* override diags mask for selected modules */
! w o, Y3 M4 u8 j9 W6 ]- Yxdc.useModule('xdc.runtime.Main');
) \8 X9 m1 k% _Diags.setMaskMeta(
1 \; X9 |0 I1 s5 @; z "xdc.runtime.Main",
1 }; G; d4 n+ h, s Diags.ENTRY | Diags.EXIT | Diags.INFO,
, \ Y/ ?8 v' @6 P8 ?# Y Diags.RUNTIME_ON% R* ^7 _9 z, H8 r" L, K* a9 I
);" o. F( I; S2 ?8 W9 ]5 a9 j* {3 M
% R4 ?& H8 P3 W2 P/ P, j+ a
var Registry = xdc.useModule('xdc.runtime.Registry');
+ k0 | v1 |% I1 Y: i8 |+ R: u1 |Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 y* Z1 i& p4 H+ `$ n2 A- ^0 n, vRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& O# L) j% O% L2 O# lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;( f, U3 A8 R0 h+ n$ I1 V
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) |) K$ h& t( z- _; N8 J" b/ P1 ^/ ^& k/ I
/* create a logger instance */! e3 T1 O' p9 ?, r2 H" E0 R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 e1 `1 E' z4 Z# z8 W9 \, Jvar loggerBufP = new LoggerBuf.Params();
5 C$ m g5 Z& q. [$ tloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. e: M2 h8 @& @5 @8 lloggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 x& S& P2 B2 O3 K1 R9 z) \% m3 k( q, e6 l; T" p! D/ Q
var appLogger = LoggerBuf.create(loggerBufP);
1 d U2 l5 y5 r6 ]: S! j- o8 ZappLogger.instance.name = "AppLog_Core1";
# a' E8 k' l* ^4 _4 lDefaults.common$.logger = appLogger;7 a% J! H; _ Q- V
Memory.defaultHeapSize = 0x8192;
8 V- a# ?5 ^+ v- c* SIdle.idleFxns[0] = "&LEDStatus";
& e, B, ?. M3 X( {- E5 f. p3 J* r8 kCache.initSize.l2Size = Cache.L2Size_32K;
, F4 V: u. |9 n) v; Q" X0 j
8 @7 ?; a4 L6 V8 C& t' L |
|