|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# M; b; a4 h, D& M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! Q$ t1 ]+ r8 B3 c
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 h8 l: w* B+ F& g8 _7 V* t- z
! ]& W* W7 R2 J) N7 w# W# X6 L是不是需要在DSP.CFG中进行配置
7 ]* y* L6 b' e I, ?; F- {2 _我现在的配置为% z9 v% t/ h9 u7 k4 s
: z U# w% x5 h/*
, u; G5 n9 g" r; H: G * ======== Operating System Configuration ========
8 n7 a5 r5 j' ?/ V0 v8 p */
. n6 h: [7 f4 N* i! @7 G+ \5 Y+ S. X, J ]7 {1 B5 r
/* no rts heap */4 u2 m1 B1 r# h8 b( U
Program.heap = 0;" _" V) @# r! l4 l- C& w/ y9 b
Program.argSize = 100; /* minimum size */
, E: T5 W6 D0 |- T0 L, {+ v/ r( ?- ]Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大6 Y+ Q: n9 i1 s9 n0 z
- U, v4 J; M7 m, h) \2 L/* create a default heap */
$ m) ]* ~- N: ~$ q. q$ x5 K4 Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 ?5 b) ?- r0 J7 v
var heapMemParams = new HeapMem.Params();; S/ x1 a7 e$ K, h& T1 C+ P' E$ ~
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 w% s* `1 V# W1 R- e
8 M; h4 v4 L2 P* g1 C A$ A
var Memory = xdc.useModule('xdc.runtime.Memory');
4 W: t' z3 D* v( ]& C3 j. tMemory.defaultHeapInstance = HeapMem.create(heapMemParams);0 x$ b9 d5 F+ L1 y# p' R
. Y/ h, w8 G8 [/* configure System module */
/ T0 e% ^ i+ [+ R+ `. Bvar SysMin = xdc.useModule('xdc.runtime.SysMin');1 Q) V G0 m$ [( N
SysMin.bufSize = 0x1000;! K$ t6 n. G, R8 l* P! \
SysMin.flushAtExit = false;" J: ^6 B( l/ @4 |0 G
( T Z: |' y" f; B+ Fvar System = xdc.useModule('xdc.runtime.System');
! n1 r9 D% L2 U, X }% t0 s1 G0 \# ^System.SupportProxy = SysMin;
% ^3 j6 `" s8 a6 E( p& R$ o* w' l0 u! {% }
/* configure SysBios to use the lower half of Timer 1 */: W) l9 b9 ^% K5 X( o( I" k, o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
, a0 L+ ]' b. Svar Clock = xdc.useModule('ti.sysbios.knl.Clock');" U) O- `- {+ ` [5 `2 h
Timer.timerSettings[1].master = true;0 b' q. s% q- a9 Z# O2 k8 j
Timer.defaultHalf = Timer.Half_LOWER;
/ s! _0 I5 |# a% i( B9 rClock.timerId = 1;. B( _* X/ e$ W) {3 v" J
1 ?6 O! ^6 l4 v+ Y) V; j# R! `
3 H4 C$ B, N7 Y% g
/*' v A, B2 Q, F, n
* ======== Miscellaneous Configuration ========2 M0 F; g# N( M$ t
*/; I4 F/ v, r2 c1 j7 Y- m5 ^, A: m) c, B
' q- k+ `4 ~9 V( F% |' Z: h$ {2 C0 S" I
/* set default diags mask */# @- D$ D/ X- d% Z3 z
var Diags = xdc.useModule('xdc.runtime.Diags');/ ~% ~) a$ I! ?( {' M! K
var Defaults = xdc.useModule('xdc.runtime.Defaults');$ A8 G* |3 ^7 v! \; Q( _ ^) t& k
) ? [- I+ P' t4 S; j' O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" e- L% n5 l; S/ y9 H; W* {Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% r$ Q1 q! ]$ g7 l' y# LDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 p& C2 @' U Q$ N; ~' R i
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; {# i6 s A; w6 q& ]2 M* n
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- M1 u: Q5 q& T W$ m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% U4 d2 p" h* ?" {# v l5 J2 s" S
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. r, ?$ S" e6 E: z+ f" ?- h6 WDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 F3 K L" l' m) \1 b+ m* Z( l. IDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 d$ Z$ H) x) X* m, r* f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! A; x* \! ~1 j' X. S) f* MDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% I) {& i9 M5 R3 u( Q+ Y" N: F0 uDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 g! c' O0 {# c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; j& V3 U% `3 k1 N
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* v$ ?" g' X* o: F- B
- @, f# O- U4 ^, i& U* @! k& }+ X
/* override diags mask for selected modules *// R0 d- u, }. D" D7 V6 T8 Y$ g$ r' U
xdc.useModule('xdc.runtime.Main');1 l4 u3 V9 H8 ~3 W+ R2 P
Diags.setMaskMeta(
( Z4 D/ J* g5 s7 A# T- \ w7 Z) a "xdc.runtime.Main",7 D+ h/ p _: W# n
Diags.ENTRY | Diags.EXIT | Diags.INFO,; h1 h7 z7 d( T$ p0 z
Diags.RUNTIME_ON# V+ k$ H: j2 g9 Y# g
);
4 F. H# n: R P, b0 f/ i( g. Z- ^4 G! O# d
var Registry = xdc.useModule('xdc.runtime.Registry');
) `1 V% N$ R+ J$ CRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% u( H" h# R+ l k4 n0 xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: u& X7 _# W8 a+ K1 U% FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. |$ k8 [' j( R2 S S0 u4 v- lRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. \/ o# N/ X R& q5 t9 F
: N% r; W! P4 z1 Q8 q# k; M9 D8 J/* create a logger instance */
, b1 k3 l; T7 M9 R) B& m" w! J: Evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" d: R8 F4 b8 S/ b) ~( ?# D" @
var loggerBufP = new LoggerBuf.Params();3 u2 i% W, ]8 [
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ T' `. U- C: n5 z/ n0 D% t
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" J D' ?" r; t8 K, `
+ n h# o9 R( Ivar appLogger = LoggerBuf.create(loggerBufP);+ T1 ?4 d3 D7 d
appLogger.instance.name = "AppLog_Core1";
% q9 H( s( b0 {: Z9 ?' `: N8 pDefaults.common$.logger = appLogger;
4 }% ^5 m1 ?: _8 g6 j1 V$ m. kMemory.defaultHeapSize = 0x8192;
$ _, ^% r5 u. P4 L; f* dIdle.idleFxns[0] = "&LEDStatus";
& Y! X( G' O) v# ?5 fCache.initSize.l2Size = Cache.L2Size_32K;
% x; f* K6 d) w$ K
; _; ]7 C* Z- e) R. z8 j5 X+ k" O4 n) ~ |
|