|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ h% H0 d; C; i我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- W: {) j) S- x7 f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ k: `/ l8 w5 g# @" _- j; ~) H
1 r% _3 A) b, S I6 J4 w是不是需要在DSP.CFG中进行配置
! k: O. B6 B, P: s- U我现在的配置为/ q) O8 i: v+ X. a% c8 X6 c I
9 `: v9 O5 a/ D+ k% U
/*
# C0 ~' N/ f+ S+ n9 r \ * ======== Operating System Configuration ========
/ Z6 E" K! W S$ y */
- G% u$ C8 Y( y. C7 [* K: S" `
/ ^' a2 C" F0 d3 A a* E/* no rts heap */
5 Y- [5 p% p x* t+ \Program.heap = 0;9 A7 @' m& j1 X3 x0 j) U- ]
Program.argSize = 100; /* minimum size */
% M, l% i; w% z2 i, R$ f# N: WProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大% R1 j4 d* C- }% M7 O9 q7 v( s( s
' t; O7 N$ Z+ g$ M" Y% j+ n/* create a default heap */: v% z: _% b7 x! R$ {: [. x. v
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* x( N4 o# S, h# B( qvar heapMemParams = new HeapMem.Params();
" f, E; D: i' X$ N: N+ n0 @. mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) w9 ?0 ?0 n. W& n0 V$ o
) C* J |% Y: f ?var Memory = xdc.useModule('xdc.runtime.Memory');3 Y; B2 G0 S0 u2 A; r1 h4 J
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 N$ X% Y1 o- b* I- j+ G f2 k
5 u! X( c9 \ H& a/* configure System module */
# `& A/ L5 y: b8 Vvar SysMin = xdc.useModule('xdc.runtime.SysMin');/ S9 h4 O) _) }) r9 F O
SysMin.bufSize = 0x1000;
1 _1 Z! G. D _+ _' gSysMin.flushAtExit = false;
) n- U2 ~ `/ @& P( p
x& E+ ~- @4 O5 x) Z3 Tvar System = xdc.useModule('xdc.runtime.System');( s5 ^- x, ?1 I1 v( H
System.SupportProxy = SysMin;+ m/ G( g6 K4 J9 M9 T2 u
" X, ]) ~5 o; h: X- q- I" F' g/* configure SysBios to use the lower half of Timer 1 */
( m7 q! s) {/ k$ u+ S6 O9 r- Y4 A! [var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ ^; g4 H" _2 i3 O5 dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');; V* `% _4 d( q% o; Q5 `8 O" u
Timer.timerSettings[1].master = true;
: y( }* q/ j! e6 U# r+ ?$ vTimer.defaultHalf = Timer.Half_LOWER;
; ~8 {( o- ]5 n z9 CClock.timerId = 1;
* v3 S# {! u7 ?( P( F" q% U1 f2 S( \5 R$ r( ?- n( ?, f" O! c
. K1 U7 y+ u% v6 o: {/*$ q; O# y. ^0 N
* ======== Miscellaneous Configuration ========1 ?# Z# R3 [( |
*/+ l+ F4 H& h2 l* N' n8 M/ i; W
* E5 A, o2 K1 E3 S% m5 A3 c/* set default diags mask */6 u$ r5 J: ^, m9 C% a
var Diags = xdc.useModule('xdc.runtime.Diags');5 i, ?6 h1 g: R" P9 f7 D2 T; P
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 P7 n/ L4 u. i4 ]$ H
) b: I+ u1 U1 ?% l7 L# U) J3 NDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 Q$ o3 I: Z. G
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 K$ s# X5 p j, y, H5 Q' {$ |. S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! e3 g9 O4 `+ t& y
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( Y/ ?# T. ~9 k" d% uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 ]% j' P4 K! Z! B2 aDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* R5 {! A1 t* t2 cDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: K) e+ ?/ l$ }$ b6 f
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; T- Z$ m/ z b8 p9 P. K
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" k1 j: z/ ~( h% b# z0 {$ o: r6 qDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& J' D5 }5 ?$ ^
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) f* h1 a; T0 j+ g! x/ A
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 k0 {! a" e! u2 G. A# R5 O7 XDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 T2 L* v0 s8 u, x" C9 `
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 K6 ^& D* ^1 d8 T5 g, u
; a7 d% F0 Z4 \7 Y2 x4 o; p% r) W/* override diags mask for selected modules */
' w& v) O- v% c* m7 ixdc.useModule('xdc.runtime.Main');( S9 R' M6 B% G
Diags.setMaskMeta( L' z( g0 [, G; G0 o
"xdc.runtime.Main",' u. E! X! Q: H& d! e
Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 n$ E; V. P& n0 n3 C @( H, u Diags.RUNTIME_ON
3 B; l! [* g$ R5 {/ r) C* E);
* D/ i; Y3 ^: F7 g5 S( w( w# q6 g' V0 w$ S! @1 H1 p
var Registry = xdc.useModule('xdc.runtime.Registry');# A9 M. i; f% ]& o4 m# _
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; J# m# Q3 D! j2 w' w2 l
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* s9 x7 G. a5 ]. G, \Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 k+ M# o" Q) U5 |# f+ v0 J% M, F
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 I* l& l* D8 r( o u6 L- ~ a2 N: e1 W- Q% L2 F1 _
/* create a logger instance */
1 l% p( e9 [/ `var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
* T% e ~+ i( x3 a9 y3 P2 tvar loggerBufP = new LoggerBuf.Params();1 ?! l2 Q$ Q' o% K$ ] t! n0 l
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */; d1 X2 e/ e% u6 Y/ l" V/ y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
f( O2 q. A& X+ l0 i* z
$ [6 l( q) a( F: ?, g& |var appLogger = LoggerBuf.create(loggerBufP);0 n8 {# K o1 `% v: C4 A$ A8 {
appLogger.instance.name = "AppLog_Core1";7 U) P( U4 e. y
Defaults.common$.logger = appLogger;
& A2 z: Z( }( J" ?1 ?Memory.defaultHeapSize = 0x8192; " c, K2 j5 a2 b- g! T6 S) D
Idle.idleFxns[0] = "&LEDStatus";
8 P9 ]7 d8 K2 \& v0 ZCache.initSize.l2Size = Cache.L2Size_32K;
, b J4 d5 ?" ?8 w u
L# w. F; c/ j0 t7 G$ E |
|