|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" X; o8 Q, \' w" c4 ? d- C
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
/ O1 P% n- {/ O2 R1 s(不过疑惑的是,为何单独DSP仿真就没有问题呢?). U; E5 x2 i: k& g
2 c7 S$ w1 y" r0 j2 K8 `
是不是需要在DSP.CFG中进行配置0 N# n3 \) B. u( m/ ` {
我现在的配置为
' l+ u' g* P( D, k
. Q s* ~2 o% q0 N; [# b/*4 v) t% C( ]' ]5 u4 X6 O) k
* ======== Operating System Configuration ========& t4 x2 O! m# c: ~7 _
*/ I/ U/ z2 \( P- V5 b4 e" f
. \0 M- f# z# R9 Z( a/* no rts heap */6 g+ p Y4 x; M3 [* M I
Program.heap = 0;; }/ h Z$ V, ]
Program.argSize = 100; /* minimum size */
" ]& z/ z7 n+ L7 pProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# h# P& Z. {7 S% {. A7 w) E' @& m1 L6 y/ [0 e% B, A" a$ b
/* create a default heap */1 B4 J9 G, }, x7 M/ ?6 q5 h1 b# }
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 o! B- x, L" t
var heapMemParams = new HeapMem.Params();0 C* [, N6 @' k8 e+ Y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! V+ ^& N$ c( r" m. J! r1 ^6 Q) }; X% a5 ?9 ~) j
var Memory = xdc.useModule('xdc.runtime.Memory');5 L! {7 N( N8 h. c4 e n( j- j
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);( o( C" E6 D) G0 P2 o+ p; m
& l& o r: V2 Z4 }& t' A/* configure System module */& ?4 p6 V) C6 x/ C2 _! M
var SysMin = xdc.useModule('xdc.runtime.SysMin');& N( x) R7 Z+ G$ ^
SysMin.bufSize = 0x1000;/ |! b: a8 X. ~2 h) k
SysMin.flushAtExit = false;8 X: C2 v+ [. u# q5 r# x: f0 }
( p6 Z# ?9 \- t! Gvar System = xdc.useModule('xdc.runtime.System');
. ?" `6 n% }) j" P0 _System.SupportProxy = SysMin;
2 p1 Z" _6 V1 Z# n+ L/ s# Y" l/ k# x& e9 n, z+ X
/* configure SysBios to use the lower half of Timer 1 */
/ g& K0 c7 S7 H! K5 u, jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: g8 f( o, L0 N) svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
2 U. w- i( ^: ?% f7 Z1 `; hTimer.timerSettings[1].master = true;9 U! E Y9 @5 v; ]) u& r
Timer.defaultHalf = Timer.Half_LOWER;# h& U: e, u$ ]+ |
Clock.timerId = 1;
( y, r) B8 [) M0 q+ J9 d# d u( H! A
5 w/ V [# h- V! \6 V: l
/*6 e# e: M5 t! I8 q8 Z/ i2 C
* ======== Miscellaneous Configuration ========
- E! N. m: h" G+ ~% Q! B6 G1 ] */
3 f% o7 S6 R0 M! q- c4 I) z, _1 M6 e4 D+ M
/* set default diags mask */. j0 G. ?2 w {; l
var Diags = xdc.useModule('xdc.runtime.Diags');) I3 k! j! I. r# w$ e
var Defaults = xdc.useModule('xdc.runtime.Defaults');
* T- l6 [9 e+ b1 W, u9 R
`9 y/ i) Q0 }0 [% A9 QDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, X, ]' k% G; w& t9 k. h3 |
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: B7 b) r3 u- B$ v$ N' YDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; P4 d& t$ v/ J& S$ a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 Q7 }8 `* ]+ e+ [+ [6 B
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% ]+ M1 K' ^8 `; v4 I% Q" D
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. N6 I @( ^) b1 Z: z! F9 H2 n5 oDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 J8 O4 \! E3 w7 U
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 Z/ w' D3 j4 [3 W" H4 mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 I4 E% M. ^2 ~4 d. z) o. aDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: p# v8 f2 Z$ n9 R1 X) VDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# q& B) `, b a. Y; n# P5 M) s7 H: `
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% }" `# b+ ~; C j% O8 U) ~# D Q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;( M/ L K3 K# z5 o, t8 O% N8 M
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 Z3 T8 P( Z. X
V, K1 [! E& E
/* override diags mask for selected modules */
6 d2 R/ z1 f3 d1 lxdc.useModule('xdc.runtime.Main');7 u1 w! Z0 o- V0 `3 A6 V
Diags.setMaskMeta(
: ], E; B" |/ R- V2 S8 L6 @ "xdc.runtime.Main",
{! a( o; l4 f1 r \. h2 E5 U Diags.ENTRY | Diags.EXIT | Diags.INFO,
, {. t6 X# c$ P Diags.RUNTIME_ON8 S& T3 F k5 }9 C/ }
);8 B8 U7 i- |$ u" {* L6 t7 G4 }6 N1 E
: G- V8 c9 v F$ C8 F, Z8 {
var Registry = xdc.useModule('xdc.runtime.Registry');
0 Y! \% t; C. Q0 k! ]: RRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 {' N3 T& z5 h6 X' ~& ]Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ q) @4 S* r) m* }4 C! `) o/ ZRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;+ }2 z0 K( r6 V. j9 ~) G
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# n0 w- [. n& N1 n$ x1 N
" H J# {4 J `2 E4 z, G7 r/* create a logger instance */
& q9 t" ?0 L5 v, C: \4 T4 F) f% k# u' Dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 ^1 k6 A& ]8 q% vvar loggerBufP = new LoggerBuf.Params();9 W E$ m$ F; j# ~( ^: c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 ?% B6 L# x8 l7 X7 L& ^- GloggerBufP.bufType = LoggerBuf.BufType_FIXED;
! F* c6 P0 N- @
" c' Y* z. B! _var appLogger = LoggerBuf.create(loggerBufP);
- |% c! T* l2 J; ?" R4 v. m% [appLogger.instance.name = "AppLog_Core1";
. F" O6 D/ M# F% |Defaults.common$.logger = appLogger;6 z* Y1 [: ^% U. p. E- Y5 S5 ?
Memory.defaultHeapSize = 0x8192;
! y6 | u a* z% sIdle.idleFxns[0] = "&LEDStatus";0 A0 ], b8 C. {$ ?* @8 ^7 @3 a
Cache.initSize.l2Size = Cache.L2Size_32K;
- }: e2 D( \# I- ^+ L0 P* r& y% n) e* |
|
|