|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 I$ {7 Q* Q* |1 Z' x我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& B5 a' M4 c6 H- Y( N
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 }$ q# l Q( `7 b8 Z g9 q5 z2 F$ ]% ~4 ?+ J1 N; t8 G* J
是不是需要在DSP.CFG中进行配置' d( V& _- l: v" A- T2 K9 A" B4 X
我现在的配置为; l" B/ Z2 w$ b( l2 f6 F
+ o; @3 Q' f: q& K w2 W# p/*
3 a& z1 Y0 j7 y: F' v * ======== Operating System Configuration ========1 W; I% ]8 J" r: L$ z
*/* q, V( v( l8 W& q2 W; _6 ~1 n6 \
3 w9 X+ V8 R4 }( Z% P/ h7 ~
/* no rts heap */6 x: h3 a$ N' V8 g9 v4 a
Program.heap = 0;
; W6 \4 |- [7 M% }: Q' _* UProgram.argSize = 100; /* minimum size */
0 L+ u. _# W `* |% MProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& u9 { E2 f5 w* `5 _6 ~% ]5 U3 O0 t$ ~. E8 b
/* create a default heap */8 S1 Q- F; q, c5 o7 g" O3 K ]
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 W, H5 q) O9 ] mvar heapMemParams = new HeapMem.Params();
1 T/ C. s. q$ t l, x0 xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 G6 P; a% K& [1 k4 K0 k9 e j8 D
1 V$ e2 d8 }- }& |var Memory = xdc.useModule('xdc.runtime.Memory');3 ~8 c0 l% h9 p0 d) R$ J
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! N) i4 E! E1 e
" s1 ~) O% o: u7 Q2 b% x5 \/* configure System module */8 @& [" ^2 u! d/ \9 N5 Z5 F: s& r6 d
var SysMin = xdc.useModule('xdc.runtime.SysMin');, [7 w. u; X% f5 f; ?3 B# V( g
SysMin.bufSize = 0x1000;# _; n! x) p6 U8 g. W4 e- ^
SysMin.flushAtExit = false;) }$ x' X6 Y A& M9 b6 W! |
7 e) R2 T7 _$ w
var System = xdc.useModule('xdc.runtime.System');
8 r0 g- K8 Q( ~) _% D. m- ESystem.SupportProxy = SysMin;$ z S% s1 S! H) N& G, g
: j; G* X' I. l' I C4 I( E# E+ [
/* configure SysBios to use the lower half of Timer 1 */
, [& x& e! `! d, |% d4 v- _var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 k& S$ r. i" i! }var Clock = xdc.useModule('ti.sysbios.knl.Clock');
. o3 G9 U$ k% ?; P# d' P' ^7 PTimer.timerSettings[1].master = true;
$ R! X b" V: q$ M* cTimer.defaultHalf = Timer.Half_LOWER;2 L( d/ a" Y& y4 n4 B$ }( \ B
Clock.timerId = 1;; m- K, {% Y/ V' Z
2 I7 }" c/ V: B, z& {7 n/ B7 B E
% S+ J2 [: z! W- a8 v- y9 C/*
7 z+ \# y* k% y6 L( u4 }+ _/ ?1 G * ======== Miscellaneous Configuration ========" z k) l2 J7 ~: R4 ~
*/
) e z: e/ N3 q4 _' t. d ` D" }' j$ {+ ^: b
/* set default diags mask */% x2 [) G' k' s" B. {+ K( ~# \
var Diags = xdc.useModule('xdc.runtime.Diags');
1 R9 I4 z5 p) r/ q$ y) k+ q3 r6 uvar Defaults = xdc.useModule('xdc.runtime.Defaults');& ^" L3 O# |' M
# f4 {, O0 ]) F. y* IDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* G& B0 w" c% I
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- M$ G% K+ D4 o2 s- w/ w
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ f) [/ F% C" [' B
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. t$ M% {/ ^( a( B) @5 h
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! ` n" T( o W* A4 v" b' ]
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 G( j0 Z, U5 {3 ^% y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 ^* Q1 _5 n3 H' T! Q2 E4 A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 L, f; g a O
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) U# X/ [/ }; p7 H4 x' B9 MDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ }: U+ l/ G# `0 m0 RDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 R r* D$ w: t4 _& W
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 V7 w: W1 W5 d/ q* D$ ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& X$ u" P: }1 PDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% f( u# E% Y( \( U2 F* C
$ a. b* ~) X& U/* override diags mask for selected modules */
. g: R7 U; t" L, i3 w6 yxdc.useModule('xdc.runtime.Main');
* U, s4 ~7 D5 Y5 fDiags.setMaskMeta(
# h9 p1 N9 L' R. y "xdc.runtime.Main",+ Q/ V& B$ L' M& Z' F: s
Diags.ENTRY | Diags.EXIT | Diags.INFO,
& N0 {$ z: M5 f% `- E# A Diags.RUNTIME_ON1 x0 ?7 A5 ]- j- y
);
2 K: j, i* n# W3 t" l: R
# x& A* h. A: |! ]7 j8 e1 Kvar Registry = xdc.useModule('xdc.runtime.Registry');1 Q- h; i9 t& Q1 [" _
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ d3 B2 I/ I0 q/ fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 a2 v' D/ q4 o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
, U- L! R4 D0 p, L& p# D, ERegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;: Y: d/ M# }* O, [ e& R
: [' k5 T0 ~& k# L5 `2 j
/* create a logger instance */! W% ?' p2 z, R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) j) q8 c' n: v+ r7 m- {8 n5 Dvar loggerBufP = new LoggerBuf.Params();6 B0 z* _9 v& w( |% e: V8 V
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' R! ]9 v- t4 {! ~' X- {* F; U$ R
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 ?6 P7 N& C8 ~$ r- Y" m. O
8 n l V: l* e% u m' pvar appLogger = LoggerBuf.create(loggerBufP);' e( t- u d) H9 b
appLogger.instance.name = "AppLog_Core1";
6 J" c: L: p0 r6 B/ vDefaults.common$.logger = appLogger;
+ ^! R; k. k) X" e% `Memory.defaultHeapSize = 0x8192; : z! G# ^$ k) M: m v
Idle.idleFxns[0] = "&LEDStatus";
! e* P; l1 ]2 WCache.initSize.l2Size = Cache.L2Size_32K;$ g3 G( V* h( }# Q, s0 X0 I2 G
' j' S7 b5 e0 @! @4 b$ }
|
|