|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 H6 R4 c( K1 H2 V0 [我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% @5 U' Y9 v$ x! A2 [! z$ K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 u0 s, `- V) |% J- r _ `9 ?* |3 w' L# T& g+ ?/ e$ s
是不是需要在DSP.CFG中进行配置
/ U) J: ]. W0 w+ ~+ c我现在的配置为# g# h% |0 l. @
2 e/ ]5 b1 }* \; S) e4 [! c/*
: T3 h% C' z' M/ G* |9 r * ======== Operating System Configuration ========
! i% q1 p, X4 E$ M- |& K */! I9 U1 J8 S8 p3 K1 K
! s& K$ @0 l* V3 c/* no rts heap */
7 g# o8 {/ i, C4 [& o k) D- HProgram.heap = 0;
" n& j% R. I, [Program.argSize = 100; /* minimum size */
6 B* Z* a9 ], Z( ]! v* q: AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大# L3 X5 s' W: e! U7 h# I
' u: j/ C, M& p; T! [
/* create a default heap */
& l( ~3 E+ `) B4 y3 Ovar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ Q/ ~2 l |* h0 [$ S4 f( Mvar heapMemParams = new HeapMem.Params();/ h I; I8 W1 T, c$ U
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 H2 k- {+ P& z8 o2 l7 c/ D
3 F% e4 q' w! |var Memory = xdc.useModule('xdc.runtime.Memory');
- D! {, P! A6 EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
! b0 C' _. W S! V' E2 x8 Q6 D$ o, s$ B6 w2 \; U
/* configure System module */, Y# ^- H4 E/ ~8 J
var SysMin = xdc.useModule('xdc.runtime.SysMin');; |. j; G8 p1 E) _
SysMin.bufSize = 0x1000;; C, T( r7 U) v
SysMin.flushAtExit = false;
L$ V9 p [% |* \2 T2 r( |3 T; y
4 t3 n# {4 p- A: Q6 Yvar System = xdc.useModule('xdc.runtime.System');
3 V1 l: {, Z/ F! L5 e( `3 T8 gSystem.SupportProxy = SysMin;3 f2 R* Z I; B4 N# T
1 A( f/ G6 V9 X5 D$ e4 R3 o% V! ^/* configure SysBios to use the lower half of Timer 1 */
, z% R8 }# p$ Y6 D; e J2 c2 Mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: v% H& k8 }. i# e. n
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
& ?: R3 j! p! B" U) A4 E- }Timer.timerSettings[1].master = true;
( D" }4 ` _9 \/ MTimer.defaultHalf = Timer.Half_LOWER;
( g9 K8 w O( i. C [' t# g& wClock.timerId = 1;: `/ n, u. o$ v
( c M, h- p9 P+ `
: b# H& I. D, Z( V2 G
/*4 E9 {' J) J" T6 X- C
* ======== Miscellaneous Configuration ========" b( M) k7 ^* s! k9 w, Z
*/" k* O @* y4 y" `6 B0 |! A' l2 Y
% U6 R2 v" `5 b: B+ U% ~) _) F g6 P
/* set default diags mask */8 h7 e% G7 m) r5 @7 d
var Diags = xdc.useModule('xdc.runtime.Diags');/ O# J* Z3 | N* r1 [" N* k
var Defaults = xdc.useModule('xdc.runtime.Defaults');1 |6 T- s# F: v3 I9 n0 F
9 z+ A3 z! A- E" V* Y$ `; ^Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 ^# Y8 C: e& `: @, B, v! Y1 HDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; a) o. h! |. z, [+ J* I
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ }5 `7 H& x+ P0 g; v# y/ K" cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 S; s& T/ E2 u4 K. EDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- [; g4 R0 E, d
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;; d1 O: s% |6 i; y3 E3 s4 x& N5 w
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ U1 r: V+ n* P" v: w# f8 ]
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: k1 J; {5 T+ a7 L$ y, P/ [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, q% A# l; h/ o ?- x# i! Q& K5 B- u
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- J4 r* [8 S8 }
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 }: d1 ]* P$ v9 V! K" O D1 cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 v5 ^7 {6 J3 H" J1 a7 X& k
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: E' I* N+ f8 |; a/ y M+ QDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; _8 m2 ^. R% r* I# k9 t6 q; ^2 ~4 e+ S
0 p' y* }; X9 Y/ u- S6 v* \/* override diags mask for selected modules */5 _! }% G' K- L1 G9 C* Y
xdc.useModule('xdc.runtime.Main');
D% T _" h1 V% l4 ?) `Diags.setMaskMeta(
7 \/ y1 U k6 h) o# D% n "xdc.runtime.Main",, O7 S1 K( o( G5 R' P; L% ^
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 W, t$ y- ^& h
Diags.RUNTIME_ON
/ W" F0 `1 }3 H8 X( r4 r);& a0 }! F) c0 r" A
9 m1 }5 z2 } `( p1 e- z4 vvar Registry = xdc.useModule('xdc.runtime.Registry');2 x! m( T! K3 h. j3 z$ n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 k1 E$ |8 V* [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
E" j8 j& l. @5 E; s0 L5 \Registry.common$.diags_INFO = Diags.RUNTIME_OFF; ~- R' [! Z0 y0 t( b
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 |6 R* `% k: [" r
5 j1 a! d! @; i, w) D/* create a logger instance */, g$ G4 X. y6 |( x. z& M) W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 Z9 N/ h( B; R7 z8 }1 y" W: y7 r' pvar loggerBufP = new LoggerBuf.Params();% S, R& G1 f" c9 L' |3 n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! N" Q* q( W# f2 v; K* rloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ l. `- R7 C( }6 \: c& N! n) Z1 R8 A2 k2 o% F+ D1 j% F3 A
var appLogger = LoggerBuf.create(loggerBufP);
; i& r9 r& i# E6 HappLogger.instance.name = "AppLog_Core1";
( _1 B4 r, B) H2 E+ D. uDefaults.common$.logger = appLogger; V+ m8 F: D9 G: M! @0 _
Memory.defaultHeapSize = 0x8192; " h- t0 A$ E7 e" J
Idle.idleFxns[0] = "&LEDStatus";3 `( d; Z' p. M
Cache.initSize.l2Size = Cache.L2Size_32K;1 |5 _1 S; e* ^9 W* [9 a
1 l4 b \, U, h) k) o3 q |
|