|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' s, ` i- d. ~( X6 u- q, _& h
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 }: e" w J4 L0 w3 y5 r( A! r(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: ]3 B8 F) E4 p$ [' ^" C% L! {" I! @1 B1 @
是不是需要在DSP.CFG中进行配置4 e3 G' F* `- \1 C# f. _3 Q* [' ^+ f2 O
我现在的配置为! p3 G: X9 |: t# _$ |
v3 c+ q: ]$ e. k* _% `/*
& k5 o9 \; E5 A * ======== Operating System Configuration ========
5 T m, I! L: P# W9 R */
2 c+ _3 m- W" E
. g U" @8 I& [4 o* {9 q' o, d/* no rts heap */
( [3 s7 Q1 j4 [. l# I- ^Program.heap = 0;
. h, Y: [' E0 B( S, V+ A+ k9 A* x' NProgram.argSize = 100; /* minimum size */! t. j/ c* n* I
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 j9 Q. Y2 S* Y5 S: o* S8 `
+ P1 u" m. F6 @8 R/* create a default heap */
" P4 W( D; U' `$ C8 S4 I! a& `var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: n) u1 K* W/ W2 i
var heapMemParams = new HeapMem.Params();
. m8 \) n3 y4 R, ~heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 {; }2 j# _: f" ~# E6 u
! h1 y9 V. x$ L9 Rvar Memory = xdc.useModule('xdc.runtime.Memory');
8 L r$ b) R. d8 a( D7 O, U. xMemory.defaultHeapInstance = HeapMem.create(heapMemParams);6 o' `$ S+ r: d i' o
* W4 Y) }7 r9 @6 w+ r. l/* configure System module */, G* N" | `' }' q. |
var SysMin = xdc.useModule('xdc.runtime.SysMin');
; o6 H- H8 W5 n) @+ sSysMin.bufSize = 0x1000;0 `* d, R$ X# s' C* U
SysMin.flushAtExit = false;9 r j6 b( H- _0 d% q3 R+ {
& X9 L5 `9 P6 \6 Zvar System = xdc.useModule('xdc.runtime.System');
% N& @% R& Q( G8 e0 oSystem.SupportProxy = SysMin;
; t0 \ C# c$ Q$ N! q% u# e4 \% x# @! T3 y8 _$ Y, f: J/ H7 |
/* configure SysBios to use the lower half of Timer 1 */
7 g. o5 c) A, @var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. n! H) N1 w' u. W" M1 T! B- m
var Clock = xdc.useModule('ti.sysbios.knl.Clock');, a; U; n$ _+ N/ J1 C! I
Timer.timerSettings[1].master = true;) F; P& g! Z6 C$ p
Timer.defaultHalf = Timer.Half_LOWER;
8 n. k$ N1 x. [3 jClock.timerId = 1;
6 L/ }- Z& \2 f/ T( D3 \) @+ m, s& Z
$ s" G2 F9 ]+ h! d& g: L4 M# ~, g& r
/*
2 E& i' K2 L! {7 Z3 }8 V+ a1 M/ J' L * ======== Miscellaneous Configuration ========
. ^3 ^! n/ h3 q& j/ {/ d, Y# Q */; X, @! V2 H, K3 c6 G
6 l f$ {: x" B9 A# O; W/ W/* set default diags mask */
0 m, f$ n+ A" I& w/ evar Diags = xdc.useModule('xdc.runtime.Diags');" V8 ?9 T+ X' e6 e. O* b
var Defaults = xdc.useModule('xdc.runtime.Defaults');
" Z; `) H E+ d. v9 d9 z4 p8 @2 ?5 e: v
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
w; e; u( c# F5 F; v* XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;1 M. l: ~ q0 m
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* i4 \7 F+ R6 G( d$ [! l' }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ t6 N5 K L9 z, E) z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 [$ W5 b& @# N9 h6 ]& g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;: |5 {! ~1 h7 ^; ~* i
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) d I7 B/ Q! Z9 i7 M6 V- `Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& G8 M! e( L% r
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: L8 [" T# U8 k2 q* f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% A0 F1 D# T1 ~3 d$ X) ?
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, w5 \7 \/ _" e* v. a9 \7 O' _4 r
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. i; A) V9 S; b' L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; j/ @" f f F y
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 c' A/ H" j9 b5 b
0 w7 {! F. r; N0 ~% s' r! d" E+ p
/* override diags mask for selected modules */
, v8 ?% s$ X$ xxdc.useModule('xdc.runtime.Main');
1 f! Z8 t; ]4 T( |! DDiags.setMaskMeta(2 B' h; r& J) D' z0 U7 u( |
"xdc.runtime.Main",
" s$ [. K! X. d( o Diags.ENTRY | Diags.EXIT | Diags.INFO,
- D* [( ?: i' s7 ?8 @" \# \5 q) U# a Diags.RUNTIME_ON( V0 p+ ?; U: a' ]6 t7 |
);( W# B0 f5 Y; N" ^( r
, H2 Y/ K% M3 b6 R2 z& \* nvar Registry = xdc.useModule('xdc.runtime.Registry');/ H7 Q% d- m: Q4 w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ P& [4 i4 K' G9 I/ E
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' }) E3 G# U2 p, L nRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
! S% r$ p; F: YRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;/ t2 A+ e s% b8 {* g
' ~5 Y& ]1 h* k
/* create a logger instance */. V1 x! D+ R" |4 V1 A9 i5 M
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: h+ @) z' s9 e* a" W
var loggerBufP = new LoggerBuf.Params();
' i& _' v( | D0 B2 k0 SloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
$ N1 u. ^' P) } o* t) R1 _& M7 g0 [1 Q# OloggerBufP.bufType = LoggerBuf.BufType_FIXED;7 ?7 c; ]6 q& p5 C) E
2 K+ q8 B7 y3 F* [# B$ e E
var appLogger = LoggerBuf.create(loggerBufP);
# ~1 v7 O2 u; X" R( U ~1 x0 l, \appLogger.instance.name = "AppLog_Core1";* x7 i" w. M! ?1 s J1 ~
Defaults.common$.logger = appLogger;" j" ], F* ]3 ?, C
Memory.defaultHeapSize = 0x8192; % [+ C( X8 G' O
Idle.idleFxns[0] = "&LEDStatus";. Q7 Y/ c: O2 w: _0 `( @- W
Cache.initSize.l2Size = Cache.L2Size_32K;- M4 n( `, t% `" F) [
/ i5 p9 L; Z# i R5 X2 f- k/ S
|
|