|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' f5 I g% A: N我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 _3 C, d, j0 K0 z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 Z5 A% Q' @3 n$ y2 e$ \# j5 r! @
: x% m' t) N# `& z* ]) G是不是需要在DSP.CFG中进行配置3 x0 P' F4 h2 D% e v
我现在的配置为
5 \+ p9 u# C, {' F, f7 Y7 z ?3 E2 c1 F* M) J
/*8 l" [+ Z* J) R6 l1 ^3 Z
* ======== Operating System Configuration ========
% Z3 f# _5 `' L3 W1 v+ O; e; r */& Y2 ]; m8 x" h) m
1 N6 P" {% K1 w/* no rts heap */4 f0 O1 `1 y( \# V
Program.heap = 0;
9 ?+ l- { e {$ d: W" `Program.argSize = 100; /* minimum size */! U) d4 X# @; O4 S# e- t
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( s! C* |" y, w4 N$ o& z/ H# l2 Y1 G+ B! c
/* create a default heap */* v. {2 q$ a0 I# s. s9 k* T X
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 n$ T; w0 G( ]4 S2 uvar heapMemParams = new HeapMem.Params();
& a/ e* K/ w) \6 mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 ]) Z. g5 o2 z$ r! u
' o! ]+ f: G% b9 Q' a" Y& Fvar Memory = xdc.useModule('xdc.runtime.Memory');2 c u8 R) w, j# N A j& e! k: E+ C
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
, D% O* c& l, A5 _
+ Q7 `+ [" I$ N6 z) r3 q1 a" I; |/* configure System module */
( V! z) @, `# \+ Bvar SysMin = xdc.useModule('xdc.runtime.SysMin'); T* d: e! J9 b, H* V
SysMin.bufSize = 0x1000;2 q1 g: {4 I( L$ U
SysMin.flushAtExit = false;
/ w: k9 m6 Y8 {/ A6 k& D! P+ S- e% i! l' x$ K _. K" E
var System = xdc.useModule('xdc.runtime.System');
! v% c2 W6 m1 C1 |1 i% oSystem.SupportProxy = SysMin;
% S2 | [5 M$ N* n; X4 Z; f" V6 f" C) x: W" J' ]
/* configure SysBios to use the lower half of Timer 1 */$ b6 {4 Y' @3 h7 T; }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# o' _# r1 y7 z3 _* W
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 h" K# R5 W( m& L b/ O6 Z0 y
Timer.timerSettings[1].master = true;
* l7 L3 R' |! @7 ?Timer.defaultHalf = Timer.Half_LOWER;
$ @4 Z* p2 n7 u4 [Clock.timerId = 1;4 v* O4 f" ^8 k. }
& Z: v; V) g1 Y8 `' D
. E( P3 P1 }% Z# N; @5 L8 t9 V/*' c% |# Y# U' f8 A% H/ Z& g
* ======== Miscellaneous Configuration ========
S, D- @" e: x6 d3 \4 `8 R */
. `9 \4 S$ ~ [- v# P/ c+ a, V8 J) p0 C5 u$ v) f: ^
/* set default diags mask */- e9 y- T" L" Y6 S# {9 `* F; X! s7 A
var Diags = xdc.useModule('xdc.runtime.Diags');7 ~& p2 e8 [, I
var Defaults = xdc.useModule('xdc.runtime.Defaults');
4 E* u, V; `+ A' l8 Q" P
8 w' A1 J5 v; m5 S' aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 U6 Z" j# G; c1 `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 P1 A& I1 @4 R# w/ v7 }! [* V7 l. iDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 [: h! { U1 p% v. v' D8 |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# A! C6 V% F& ]# b# XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 a% R8 Z+ `; j# h3 ]% r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ M; _* Z0 E7 W; Q+ H# FDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( C ]& y* q& C! x* p1 `$ ODefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& J8 @- j) M: x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 R" Z: _; X$ w* F0 r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 B$ b+ A# G* A4 Z2 a; g n' y0 P4 ~Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ j+ N0 N: q1 C# w! X1 D& T7 H+ f; {9 @Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 i$ b% r6 n! G' iDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* g7 Q" ~$ z) N% oDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* N% x1 U' p+ P5 @3 f' Q7 r+ K' H
7 z2 b* Y- e" J/ O5 m0 d& @
/* override diags mask for selected modules */
4 @: a7 J; |. lxdc.useModule('xdc.runtime.Main');
: k8 y4 k0 K7 Y7 G" dDiags.setMaskMeta($ n+ R# u; i# e7 C. V: L, x% r
"xdc.runtime.Main",
+ c6 T# l6 C8 [ Diags.ENTRY | Diags.EXIT | Diags.INFO,+ A& ?# R: q% Q) f7 O- J
Diags.RUNTIME_ON
, m( x5 X1 V0 F; x);4 I/ b3 H9 Y- ]' X+ k) ]
6 R7 r8 g! x3 Y5 X
var Registry = xdc.useModule('xdc.runtime.Registry');
4 m$ U; b# a1 f f( i4 x' gRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* [$ m- _: D, x, X8 V1 V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* r+ z5 ]# H) r6 @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
) D% l* M) ~8 B) hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, ~( d9 `1 N( b$ _4 r3 [% E9 E
* F$ }( k9 k w# e7 g% g/* create a logger instance */5 t3 z/ y- |# ]' D1 N$ M5 E- P
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ r$ r1 n v- ]* J6 o- A( {9 [var loggerBufP = new LoggerBuf.Params();
3 O( |6 v# H2 `" ?# m: n, A$ xloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; N& o: ]# v2 Y+ a/ B, a8 qloggerBufP.bufType = LoggerBuf.BufType_FIXED;# _6 H- y# A) B: I* a* F2 W
- Q q2 V8 T9 j
var appLogger = LoggerBuf.create(loggerBufP);0 i% D- z/ m) \+ V) r9 W% b
appLogger.instance.name = "AppLog_Core1";
5 u% l* J {5 @6 I* M: F) K; uDefaults.common$.logger = appLogger;
8 N; N9 D; G- eMemory.defaultHeapSize = 0x8192;
8 D; p- X2 [7 J/ ^6 mIdle.idleFxns[0] = "&LEDStatus";
; {/ P5 r3 O, ^8 }Cache.initSize.l2Size = Cache.L2Size_32K;
% }) l' D. [" o- l+ A; F$ R9 S [& l; d: Y
|
|