|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& @- B" o6 X! j1 [% d/ ~" d
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
/ [ K# G/ d q3 u2 |(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
X* P1 _# N" e" I: \! W
' a. M& w0 x7 F' L) M% P' X是不是需要在DSP.CFG中进行配置" k; d' w) i2 A2 i7 |
我现在的配置为" U1 \7 z* v T* @5 [$ d0 A6 t3 X0 U: x
9 G) U2 x k c# `. i$ S/ k/*
% r2 \+ e8 X) a4 G4 ~ * ======== Operating System Configuration ========
1 k* r" Q# E V! O; o8 l" Y */9 l* R! o1 W% {
4 a+ p$ r6 d" O: I6 s& ~/* no rts heap */0 N$ C5 L* N4 U3 s9 G
Program.heap = 0;
, g+ c# v/ G, i/ {( pProgram.argSize = 100; /* minimum size */
* v1 \4 E2 U7 V5 p* y$ DProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ x, l8 b6 V6 f4 Q+ D
. D' T! [& F/ F2 M
/* create a default heap */
1 g! J+ \, ?& |6 z6 T1 h; Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 `, ?% }) p' _; h; ]3 N' hvar heapMemParams = new HeapMem.Params();9 t( i9 a7 {! P9 {0 `# F
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, @! L' r$ u$ Y2 A
3 S8 x. U; H/ e' Fvar Memory = xdc.useModule('xdc.runtime.Memory');
: u# Y. v& R4 e0 FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 G& ]+ n ^4 F5 \/ S @! T' p5 U4 b
/* configure System module */
8 P6 p9 \/ w8 \var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ _% g: E8 h3 d' z5 I9 FSysMin.bufSize = 0x1000;9 Z+ H" T9 N7 M
SysMin.flushAtExit = false;3 L& `' L1 R7 B8 x1 A
8 |' g- L3 [0 S8 q. `0 evar System = xdc.useModule('xdc.runtime.System');
; x, x& ]! \$ b8 Z/ u. X2 e% m! }System.SupportProxy = SysMin;
: |4 v- ?" Y, k/ A: {! ~$ [
0 _; r1 G% \/ `; c+ B" P/* configure SysBios to use the lower half of Timer 1 */7 X3 B: V8 f' y1 ^
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 I4 ^3 q- @8 V) {0 n. ~0 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 N; R$ S# W' b9 ?
Timer.timerSettings[1].master = true;
9 a. s& V* M9 v+ w2 \- A+ q8 Y9 m+ JTimer.defaultHalf = Timer.Half_LOWER;
3 _( R; l9 u) K& B, w# @# @Clock.timerId = 1;+ S! j2 w" u, I- E
0 ^" m+ b( g* `9 G) h6 P% d4 H- P
/*
; @) X2 N/ r% G6 _- ]6 @5 _3 y * ======== Miscellaneous Configuration ========
& }9 [- v, {* A' o; A */
4 I5 d0 ^' E% k1 |' |; j
* l" Y( M. P' \* n/* set default diags mask */+ L- }" d4 q% s
var Diags = xdc.useModule('xdc.runtime.Diags');3 H7 `. C# ~$ f6 Y# ?) B" O
var Defaults = xdc.useModule('xdc.runtime.Defaults');* Q/ R0 t O5 p+ ]
( `, E m8 |5 a* f ]& \# |7 Z. R DDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 T' x. u$ l, B9 h; sDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! j% M+ c# Y+ o p8 ]6 BDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: s9 v7 v& _9 q; j' k1 \
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ n8 L# J# @. v& w/ R+ n
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 k. K- Q, n3 H. _0 J8 l7 ~Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, n. e: A8 S3 c* qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 v, K9 G$ @) w* D; P( h' g0 w y/ w
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& Y# S- |7 u8 @) ?# j1 z+ hDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: D0 F( v/ _0 E( l* ?
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" ~+ F5 X I% N' Y0 `( Q* eDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& o% e3 i, e) O8 K, s, u0 ^Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 U& ~ W- s$ ^+ V q1 zDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( j! A2 m, p4 D8 `Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 }. x: A; a$ M5 k
$ w8 w$ g: @. I7 \" F" `* V/* override diags mask for selected modules */
/ B& v" b# ^" e: s5 \xdc.useModule('xdc.runtime.Main');: j _* d; d) y% p! s. C
Diags.setMaskMeta(: |5 P0 N8 T0 g* F! `/ k, V7 Z6 r
"xdc.runtime.Main",) J) a0 [$ e7 q& `6 ^4 ^
Diags.ENTRY | Diags.EXIT | Diags.INFO,3 U0 {' i- D" x
Diags.RUNTIME_ON+ ^ f9 E" ]! I6 R
);* W- y+ A! x7 t0 f
( K# x$ r; [! a# t, y: K
var Registry = xdc.useModule('xdc.runtime.Registry');
% @$ h3 n$ H e' U' RRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
T8 c2 l" W7 Q6 }: [; |& SRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 D# ^( W/ P/ K9 e$ JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;$ l5 t# k2 V" U$ d, b& r
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" H) R4 }8 V( ]5 }1 m0 h: @; t) |( ?+ n6 l1 ]
/* create a logger instance */$ u% P; G4 d" J' \0 [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ Y& U) J9 ^* W3 {
var loggerBufP = new LoggerBuf.Params();" e, x/ D9 {. K9 ]9 P5 T8 s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 |- \ c9 \+ ~, T+ LloggerBufP.bufType = LoggerBuf.BufType_FIXED;& U; F) S3 K) E
& V$ y6 [. q2 `; o. i
var appLogger = LoggerBuf.create(loggerBufP);! s0 G$ L1 O u2 Y. H
appLogger.instance.name = "AppLog_Core1";
" M* T I7 g0 y q* F3 ?Defaults.common$.logger = appLogger;
]% z2 M7 X c0 e5 W `Memory.defaultHeapSize = 0x8192; + j+ D# b, } ], o
Idle.idleFxns[0] = "&LEDStatus";4 M, _6 r0 G/ t: z3 ~) t
Cache.initSize.l2Size = Cache.L2Size_32K;. e/ A& L. b; g$ y8 f- f2 ]
0 t8 ~6 O2 P) O: c* B* Y
|
|