|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- @6 b1 k! l: x& S9 v! t1 F我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& |5 e' Q# P# l- e$ S
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& |" q; ?0 C1 t9 \$ N5 j% J
# D0 H+ M+ B2 Z# ^7 ^4 K
是不是需要在DSP.CFG中进行配置) V# g' V `$ o4 N
我现在的配置为( G, D8 f. V9 }* u! D/ \( Y4 o
, | C5 G+ F3 l2 `5 P& R/*5 A' e# G. {4 L% V
* ======== Operating System Configuration ========' B0 `& o0 T3 Z+ P$ G3 u E0 R
*/
/ j3 e- L$ r+ F6 g% P
5 [+ P. U, p5 q7 m/* no rts heap */
* N6 o% h0 Q* nProgram.heap = 0;
; S# ?5 n" ]- L6 z( v% C! s0 T+ k2 j; lProgram.argSize = 100; /* minimum size */
+ l& R' S% o; ~% q" aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. c' C' X& }2 K0 ?+ J1 W8 T6 Z7 W* D. a8 @$ H. L# O* C: ]
/* create a default heap */
! t9 F6 |9 v e7 j" kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& b5 s# k5 r- i! d, \0 ?) y
var heapMemParams = new HeapMem.Params();
7 y( Z2 t' u) g7 A$ S" M/ fheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: V3 C# Z% H5 o, p8 J
3 o. Z/ s2 I+ n8 Y& I" Jvar Memory = xdc.useModule('xdc.runtime.Memory');6 G7 Y& m: p' P5 g% g& P& M
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
# t9 A9 z! q. F
. X& p# v- D- T) w& n9 ^7 \; B/* configure System module */
) `# K5 w7 n& Xvar SysMin = xdc.useModule('xdc.runtime.SysMin');' M& T- N! l2 r- b' t- |& ]3 G! a* P
SysMin.bufSize = 0x1000;+ A3 S7 A% R' _# {0 ^8 K
SysMin.flushAtExit = false;; h! _& R3 D1 O5 ~: ]
1 t& X ]$ Q$ G3 \, @7 ]
var System = xdc.useModule('xdc.runtime.System');
! l2 q0 G0 d& M& l; KSystem.SupportProxy = SysMin;
* b4 F' G+ `# | L8 g$ C7 K0 a9 ]) L% m; e
/* configure SysBios to use the lower half of Timer 1 */. v) a+ g' x) K4 b$ ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); }* C5 y% Z5 u( x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
/ F# h. U1 Y' \, G7 ^0 C0 MTimer.timerSettings[1].master = true;
, e1 d. H. Y& mTimer.defaultHalf = Timer.Half_LOWER;! h( r- B# U3 }& k8 }- D: Q- k e4 B
Clock.timerId = 1;9 m! n0 [, e- P- R
/ X* h% n$ \: j% e+ {) _) S
, ~$ _6 F( x+ W0 {( Z3 K- T/*
8 S# N) m! r# |4 R* N# J4 B * ======== Miscellaneous Configuration ========
, v c- Z+ v; ^% q+ o */
9 y+ v- s1 A5 I/ N+ ~% [; D5 y% r& I( G; x% s c: r
/* set default diags mask */
2 B: H/ m$ p/ Z( k! L; ^var Diags = xdc.useModule('xdc.runtime.Diags'); D& b/ U: x$ L8 \$ b! c( b
var Defaults = xdc.useModule('xdc.runtime.Defaults');8 z* I- a: f1 e1 b$ A+ @
: G }1 s) v$ c" \
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 n4 s0 \: S: \7 f7 e/ G5 dDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) m5 I! y- e8 x1 v. n2 m+ t4 pDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ ^. d5 E9 M! FDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* M: n8 M; i# z, [( C
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 h; R8 L# j2 NDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;. N6 o1 T2 }* N! ^
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& S. Q& z' T, K9 O# r" B, v7 p
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 Y0 Z+ j, I7 j9 m+ G1 U$ PDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;) f' z2 ]( T# u1 H# w; ~
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, H5 S& W. N9 Q% |& m) C- ?. i2 _Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 j2 d4 @3 s3 Z9 V- n/ n. k
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 l: \) B" L1 ?$ J7 g% ^( [Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ e9 v- _$ L. C4 Q! ~2 O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, b4 S( y1 O; y3 _ {/ l f
, m. f; ^) {, v9 P& {/* override diags mask for selected modules */+ b2 a# w% T" K" w" u8 a
xdc.useModule('xdc.runtime.Main');# v M% ?0 I/ M; f. t M8 X
Diags.setMaskMeta(, s* M3 o6 x, ?/ m( U$ b+ u
"xdc.runtime.Main",
( O* x; a1 C' [ Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 t" l( p! S9 H+ L0 ?3 D Diags.RUNTIME_ON! s( R: N" ?& F% p
);4 D/ ]0 `" k+ n" U5 d; c! f
# }# F0 m6 {" I' r S/ G6 ?3 `& n
var Registry = xdc.useModule('xdc.runtime.Registry');
: t. O- E! F: v# K1 C& q) J; URegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
U. Q+ E) o5 b( kRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;- h; M9 y7 A3 T% D! Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 o, G% o# ] P' y1 K, mRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 K' V1 r" M9 O: E
8 d* D* @8 ~) G3 s$ }& T/* create a logger instance */, Z/ z- z0 k' {& I. m4 L. g
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" s1 ^4 }! {2 B( d2 p6 I1 k' H/ U1 qvar loggerBufP = new LoggerBuf.Params();
/ G( o8 Q0 i4 V3 h& PloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! ~/ ~0 m3 M4 w* j3 I2 r- G+ [
loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ ]" G1 `$ [1 {# i6 B& D
- s$ o: `" \* }% S- m
var appLogger = LoggerBuf.create(loggerBufP);
5 M! Y+ A: G( D9 ~appLogger.instance.name = "AppLog_Core1";' _4 p+ G# |& v4 q& b
Defaults.common$.logger = appLogger;
5 l4 l2 i* I9 m* nMemory.defaultHeapSize = 0x8192; Q J) l/ i( B4 I% m9 ^
Idle.idleFxns[0] = "&LEDStatus";
9 A! h6 K' s5 w" W* k, Y, {Cache.initSize.l2Size = Cache.L2Size_32K;
- j* o) Q8 E) g0 U, o' ^" t0 o* i6 `2 f; v
|
|