|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 p$ e ?6 k$ V8 }
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 E8 }+ j) j6 k U1 O3 g) q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 I8 ^: G/ I; J) w6 C8 m4 u7 z/ w7 O" I |
是不是需要在DSP.CFG中进行配置
' d; P# B4 B: M+ o/ L我现在的配置为0 g5 y8 K+ E! `/ s" `0 F; K4 H4 P- P
8 ]$ ?2 s6 @' ]* v( |7 k5 r8 C
/*1 n! ]8 P# ]6 u5 R! @" T e
* ======== Operating System Configuration ========$ G& K' ]4 U6 v4 T/ R% n) Z
*/
3 R+ Y1 F! k% B
* e' Z( ?- R; F8 s3 C: `/* no rts heap */ @ T4 X" j. S. X7 K: l( Z
Program.heap = 0;) M, p4 @: m% b% l0 G Z9 p
Program.argSize = 100; /* minimum size */
2 @7 x5 x' p5 }( v0 ?6 ^$ QProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) E0 r' M* N% K% q! [- p: Y$ B9 i) q
/* create a default heap */
; l# E* ?4 |6 n6 W- K. [' }: nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');' y+ X) I' p7 p/ V% d% u, v8 i
var heapMemParams = new HeapMem.Params();
- `+ v. l2 X) \$ p3 pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% w- r9 u" O0 s2 [, O7 O; ?
1 J s: q. s( J
var Memory = xdc.useModule('xdc.runtime.Memory');$ ~- n. c# D, D1 D5 q9 S
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ r# o7 H |: m
) j. y& n* W$ n7 z: @7 i/* configure System module */
" Y+ A! g% _2 ~var SysMin = xdc.useModule('xdc.runtime.SysMin');$ I: U/ N# N2 ]. G' ]! n4 |
SysMin.bufSize = 0x1000;
6 L$ x0 V; B& z; H. aSysMin.flushAtExit = false;
7 |4 _7 Y) f% y# x% k4 R
0 Q5 @0 u9 s4 w" K! u, rvar System = xdc.useModule('xdc.runtime.System');
/ L) m0 U) E3 V+ ~; t& `' T0 TSystem.SupportProxy = SysMin;
4 @4 M. w, J% a
& W0 Y1 `( Q; z+ p/* configure SysBios to use the lower half of Timer 1 */# F8 ?% I: [( F3 t# d, M
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 \( D* V3 d {' ?$ O4 O, Gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ N- J4 N- G9 zTimer.timerSettings[1].master = true;# D, e0 n: @* c% \& V- f
Timer.defaultHalf = Timer.Half_LOWER;
# |7 |, |0 g5 Y9 T3 j; mClock.timerId = 1;
# |$ d# N3 Q5 k; D( D6 A/ d3 g7 V: ^; i0 X) e& A2 i5 L
7 |9 ~" m) a8 u. V
/*5 {% k- C+ R& u% m* w
* ======== Miscellaneous Configuration ========
, C6 |0 G5 |/ N8 j, u */( z$ l( K- a# e; M& l0 I" x+ t2 r
# ~. p5 X8 }- E# u. @/ ~
/* set default diags mask */
6 O: G% D4 N8 H$ R+ w- F' dvar Diags = xdc.useModule('xdc.runtime.Diags');, M7 q2 T( I. j. X3 C8 ^5 N# x3 d
var Defaults = xdc.useModule('xdc.runtime.Defaults');/ ?: V4 I7 V( y# r' D! v% C) f
) A+ q8 {6 ?3 ]# C+ e7 }9 Q' x
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& [+ [3 \; w- x, O* e1 |1 {3 j; _
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# y# a; @$ ]" M4 {& G& a
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ X* u. L O3 n# t- R3 _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 L0 e$ G; @7 O9 z4 |+ I8 _
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, u& o' e: w& I% a! aDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;: i; v% J! r7 n* O. E' G, K
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# i: ]1 I7 P5 T( c. {% EDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% x2 D" i+ W f V& r
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( A# N Y: L Y& h
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* H) u% a4 S; W; S' c) `. iDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;! V7 j; q9 |" z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* V: m7 u( \2 ?0 c- w& ]' a; iDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;. t3 N1 V3 V* R o
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% d6 s: ?. b& b+ p( O/ M% c
; h: h$ b* w9 {9 H
/* override diags mask for selected modules */2 X# V) v3 o9 J8 {2 c8 N
xdc.useModule('xdc.runtime.Main');6 m0 g% y9 R5 K) z& U
Diags.setMaskMeta(8 @( ~' G! o+ w9 \+ I
"xdc.runtime.Main",! M/ d3 m; `0 e. ?0 m* @ h
Diags.ENTRY | Diags.EXIT | Diags.INFO,/ y& p0 S e9 \. d7 _5 r# j
Diags.RUNTIME_ON
1 o8 C/ K4 M" L& E9 G5 f1 d0 A' Z);5 ?. f/ _7 ]' f, b2 Z, w
/ I- t- R' J" V1 K7 r& s& f) o
var Registry = xdc.useModule('xdc.runtime.Registry');0 S. ?8 e- ^& X
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. ~# q: T5 {# J$ MRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ Z! q3 G1 P6 e4 k' v1 F# [- M5 ARegistry.common$.diags_INFO = Diags.RUNTIME_OFF;0 E$ J( `3 ]8 F r' ~; N
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ A/ L! \8 g1 w3 _" C `" P: i1 J! J
/* create a logger instance */
& U0 t2 f( b9 X9 yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( J$ H! G7 F8 c; J" }# O% g
var loggerBufP = new LoggerBuf.Params();
& q- h# v2 n( P0 H- Y4 R/ [loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& x* P0 m' ?* G0 g$ Q4 ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. Y4 W& b v( Q1 E! I) A
, F. E6 ~& U& c: F5 |" g' x
var appLogger = LoggerBuf.create(loggerBufP);9 A! Q: ~7 [6 }# d. q) |
appLogger.instance.name = "AppLog_Core1";
5 v# T9 V* B3 D0 }7 fDefaults.common$.logger = appLogger;
8 [8 @9 ~1 t& b2 j* h# t* u0 fMemory.defaultHeapSize = 0x8192; , H; }1 u( k& N
Idle.idleFxns[0] = "&LEDStatus";& q5 v: N4 K* \+ e* |
Cache.initSize.l2Size = Cache.L2Size_32K;
, m* F+ p7 v9 s6 s- y9 e3 _3 M7 c0 _% |5 P. g
|
|