|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, X& j$ \2 c% C2 Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( a$ P' W$ B- j7 b$ i, ^+ b
(不过疑惑的是,为何单独DSP仿真就没有问题呢?): v9 X. ]! p: U E+ ?3 j% l* D
' ]: x$ A2 m S4 @7 E" H
是不是需要在DSP.CFG中进行配置3 k* f- y7 f4 F# g' e6 m
我现在的配置为# |: s& O1 ~# @, E
" X; m, R+ j2 R( K, D/*( q' P% r) s0 k
* ======== Operating System Configuration ========$ s) q& ?6 ]( q% z3 G1 C# m# B
*/) L8 A% H$ ]$ k
0 l6 Q9 x9 W7 H; m; l/* no rts heap */: t3 g1 x' k) s1 C8 j+ [) E
Program.heap = 0;
, \. c8 a4 [& tProgram.argSize = 100; /* minimum size */
5 E% f; Q: {0 O+ eProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大" d! j! R# R5 a, R' S9 m7 ?: d
5 z% r+ J( h: b) g
/* create a default heap */
2 a0 D, f$ g# F; V, J x3 T% Lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' M% W# {; J6 Y9 \# U3 gvar heapMemParams = new HeapMem.Params();- @1 J& f" Y6 R2 ^
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" O3 W* n4 Z; d6 ?
- v6 ?4 }# P* n' O; u- W/ R7 A8 Wvar Memory = xdc.useModule('xdc.runtime.Memory');9 X, T' y: z' X4 u# m2 t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& Z( ^4 S# o' p; Z* b8 {7 U) Y
0 S% H+ P+ X& R" V( ~* e* a5 q
/* configure System module */2 i5 V( H) ~! v. h
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 J- q. y$ M. c9 X6 VSysMin.bufSize = 0x1000;
( ^, T& n" I, L/ b) q% RSysMin.flushAtExit = false;9 }' g2 n5 ^# {9 A
" U$ d7 |) B7 L1 }
var System = xdc.useModule('xdc.runtime.System');
3 `6 ^8 C3 ?5 \ i! jSystem.SupportProxy = SysMin;. Q. L! F$ W" o+ M0 l$ q
9 m4 J; I$ Y4 K% q0 R( p+ t
/* configure SysBios to use the lower half of Timer 1 */
- Z% ~1 z/ j* Jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 [1 u- C( S7 g5 y0 Y4 A
var Clock = xdc.useModule('ti.sysbios.knl.Clock');: C1 I, k! Z+ Q5 ^% U4 Y
Timer.timerSettings[1].master = true;
1 l3 x9 T7 L6 ]+ A6 D! sTimer.defaultHalf = Timer.Half_LOWER;% ]% [) f' {/ X) K
Clock.timerId = 1;
: K$ O9 k/ B8 M& h9 x% @$ B0 [
) f6 W. n4 m8 h& a0 p' C8 ^9 k# v
/*
6 p7 X& C7 i: _2 u7 u * ======== Miscellaneous Configuration ========
% ~0 x# [9 ?$ S v i3 w */4 {9 b9 C" I/ V) J7 W( J4 B
- q/ U7 M' T: E! _4 l9 r" A/* set default diags mask */
|# A6 n8 z1 K. A& A5 Z! ?! W2 p$ Gvar Diags = xdc.useModule('xdc.runtime.Diags');
. ]5 c3 G/ N' V/ |- X/ ?var Defaults = xdc.useModule('xdc.runtime.Defaults');+ m8 _( M! H2 I9 ` h) e
1 q1 \5 I. B3 N$ v6 R R' {Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) G2 j1 g! s+ O4 t4 gDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' l5 ?# W0 a) }" ]2 ^, a
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 R! }( i' \$ d) S8 lDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) X: L' b* a# e3 ~( jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 A' |( d1 R3 r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- w$ z# n( @; v/ s& _' x! s
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: _( A# @, c0 s- ^8 M/ J; v
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 c; k: [, P. z6 {6 e5 X- kDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. m+ U4 M; }2 C* D' \) W/ {0 H
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( J+ P, k/ M$ G& ^. h1 L$ W& t- l& Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( T/ ~4 U& h( L5 e1 z# N2 K
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
A; j8 E5 Q% U+ b6 _Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ m, E* h/ g W1 s: E+ n( A% e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 R1 r/ B- d) `5 I* D
4 u6 \. d. B) x5 h9 _
/* override diags mask for selected modules */
# C$ p- T( H/ [9 k Exdc.useModule('xdc.runtime.Main');
0 W; M- b* @) O2 T8 S* g9 }Diags.setMaskMeta(/ n3 l& I/ k" W1 w, X4 h$ A
"xdc.runtime.Main",' u; p d1 }2 |$ z3 q
Diags.ENTRY | Diags.EXIT | Diags.INFO,
: A% z. M$ C8 m7 l) i( d0 v% ? Diags.RUNTIME_ON
' |' l L" y# ~: v+ h);
; }) @; f2 ]" e0 ~& \7 i1 s9 F0 [
" W$ E8 I- ^- N$ P! b4 y3 ]2 j# zvar Registry = xdc.useModule('xdc.runtime.Registry');
, }- S/ u, X3 w# j; F" R, MRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; ~0 ]0 m5 O" {: p n0 xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 y8 v) n9 _, B! p# e: p) O6 j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 h" \, d5 _- y' A! KRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( ]' I1 h' @9 H, P& P5 W6 W. l' I' K* h- S
/* create a logger instance */
5 l: t8 n, E$ k. Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 w4 Q" G* M" n ^
var loggerBufP = new LoggerBuf.Params();" p! a5 E# l7 I
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) P8 v& t0 o# L6 q" M3 e
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 @* W6 y9 Z! P- u9 t0 i- q, G! w6 x8 M( b
var appLogger = LoggerBuf.create(loggerBufP);0 s+ j: V0 h% @1 X
appLogger.instance.name = "AppLog_Core1";
1 u& u$ ~$ N( K5 T8 j' rDefaults.common$.logger = appLogger;
0 ~: c9 j) W' J7 \Memory.defaultHeapSize = 0x8192;
9 }9 q4 c# P$ ^# _- B3 @" {Idle.idleFxns[0] = "&LEDStatus";
$ m& V- C- f. T9 g3 o; _Cache.initSize.l2Size = Cache.L2Size_32K;6 q! ?; J0 F l6 q5 p
, w2 J. k1 v& Y" I/ d8 q- G |
|