|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' A* y- G* B5 h# q9 u7 n
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) S$ o" }- D( I# S(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 Q2 M1 R$ W9 K& Q; @
3 P; m: ?+ Q- L5 R- ?- J. \
是不是需要在DSP.CFG中进行配置
/ X) C- D+ j& P1 q) `$ ~我现在的配置为
9 P7 d) `- u0 @; a% ?7 R( \) R% }' K. ~
/*
4 b/ o1 Q4 G, y/ {: G4 n * ======== Operating System Configuration ========
& i7 ^7 H& f/ G t$ G; H */
7 u( _9 B6 f6 J
; m! V% t0 k! \" C+ j! \/* no rts heap */
1 X$ ^9 Y( p$ Z- O XProgram.heap = 0;
0 a2 v7 B9 w$ E+ rProgram.argSize = 100; /* minimum size */# p; v) S ?' l0 C p9 M' S
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 M* h0 I- Y& i* U+ U
0 W) g2 j6 t0 G" a
/* create a default heap */
" z. g! V/ k# M9 N' ?var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( _* }& O3 O- {" G2 T4 |9 J" pvar heapMemParams = new HeapMem.Params();
9 S& }" ]& L; n1 w$ u9 k, WheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- L$ v) Z& L; x, `
. L" e6 w/ ?4 Svar Memory = xdc.useModule('xdc.runtime.Memory');
+ K$ z7 H9 u& `8 u1 C0 z; uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 C H, }/ Y3 h; p
2 a) E: J7 s6 h( A1 v8 {/ a/* configure System module */
5 \% B) Z- s7 Z# H4 G4 f( U) Avar SysMin = xdc.useModule('xdc.runtime.SysMin');& u6 r0 u5 m3 a7 Y8 K* L& _8 w% A. M, s
SysMin.bufSize = 0x1000;0 _0 q$ d, ?3 Y' w& ^" F
SysMin.flushAtExit = false;
+ l) q1 |' v9 d6 Y! t- v! e; \0 C0 `, s# @; k) P: Z6 @4 V
var System = xdc.useModule('xdc.runtime.System');& I0 k8 T5 w4 B8 e6 a
System.SupportProxy = SysMin;; i1 a% W9 c- J! P2 X/ _
/ k4 M/ _2 D' Q ?, H
/* configure SysBios to use the lower half of Timer 1 */; ?0 c4 Z! y0 H$ a8 o2 m1 e& ^3 [
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ C/ l( [8 r( n" \7 r, E# l& Dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');! e2 O/ U" y" a% R
Timer.timerSettings[1].master = true;) N d- @9 a# N* N- V, y
Timer.defaultHalf = Timer.Half_LOWER;
" [7 B! r* ?4 G" N4 M- ~$ u$ ]/ `Clock.timerId = 1;/ w& L6 Z2 H! s% g; D3 H _# F
; l, I3 n, H5 n2 ~. {0 f, P% O) \& W
# _% w4 L* t% K% y/*2 D% Q+ _4 V' K$ {+ J
* ======== Miscellaneous Configuration ========, ~! K$ P- r; I% Z) J( R- O0 N
*/
, J, U5 M0 h8 ]) R0 z" `" h3 X% Y- T. Z8 t- E; L1 P- Y
/* set default diags mask */
/ f/ }7 K# Z8 k* x2 Qvar Diags = xdc.useModule('xdc.runtime.Diags');
2 N6 c; u: h: \ M3 Bvar Defaults = xdc.useModule('xdc.runtime.Defaults');
/ e) J0 v# h6 n# p1 }" D
+ \+ `, r) E( @( I7 E' U' h! VDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, E" R* m: a. k
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; f, ]; F. F( r( hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" n1 o/ j+ K- S3 iDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 k$ \" x% ?' q* oDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 l; V3 w; ?8 L' y& g. ]% f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# g7 K! {0 Z# QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 A, B% s T7 C( t8 U
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; ]7 G6 _. s$ F8 w- M0 G8 UDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: i2 i: n E( D/ `' N# ~+ h
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! c' [6 ?- {' d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- z/ y; \. ^, g- NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' E( K2 z& U& G' o! F
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# n; p/ H0 X; [8 \" l1 m% z' sDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' P+ j/ z' ?4 v8 ^% b4 O+ K5 f8 H: h
2 Z \% v5 p& L$ G0 d) N! T/* override diags mask for selected modules */
" s2 Y. d3 \% D3 n% h f. D8 j1 t0 y0 ?xdc.useModule('xdc.runtime.Main');
% R4 L3 L, ?& Q' G" y7 s8 V: sDiags.setMaskMeta(- h+ x6 A0 l8 }8 ~/ @1 t5 K. j
"xdc.runtime.Main",
+ H: q: I2 E9 \+ r/ C Diags.ENTRY | Diags.EXIT | Diags.INFO,7 X0 }$ Y# a- y) h6 W* x- B
Diags.RUNTIME_ON7 S5 x- @- e' P# E" j c
);
8 P' z$ O: ]$ N( x( _; @: T0 f6 l' Q; q; ^5 B% K
var Registry = xdc.useModule('xdc.runtime.Registry');
) _) C3 O& I* \; h% h% |0 XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- }5 z2 [# X* r& q
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 d% P U& U! z9 ~
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- w7 t& j) Q* ]; x& {, k* t
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# d4 ?- M5 K+ k1 r
( W0 C( ]3 E' _/ O/ t7 K1 z/* create a logger instance */3 L) p" t7 w5 Q! M( M
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% }% ^! u' R3 D0 D% m$ E) G
var loggerBufP = new LoggerBuf.Params();/ H" d+ I. {9 S. {7 S
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
$ j; }0 M/ e! l" H7 ^loggerBufP.bufType = LoggerBuf.BufType_FIXED;7 z, ?- H- s. U4 O
, R+ x9 S% z; Evar appLogger = LoggerBuf.create(loggerBufP);; [5 e8 a( Z- ]9 u
appLogger.instance.name = "AppLog_Core1";
+ C3 m0 @6 o3 {, r6 [Defaults.common$.logger = appLogger;8 s/ M: c& x, R9 u
Memory.defaultHeapSize = 0x8192; : x( \1 K% E: y; O
Idle.idleFxns[0] = "&LEDStatus";; R [7 D! X% B3 K9 g
Cache.initSize.l2Size = Cache.L2Size_32K;
6 N2 z, g4 T3 b M% H2 b# S' k, w
' o# K5 u9 n1 j4 ~ |
|