|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ P- H' |2 _" t0 _* |# X# s8 i& i我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* l/ _7 K8 Y1 x2 b(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( X" I( C, f8 }# F
& @( `& ~# I) b" @, X是不是需要在DSP.CFG中进行配置
% I( }1 y" N2 q$ N3 [. V9 g+ n我现在的配置为( ^7 a i9 l8 y! P
* e7 ^! Y3 s. W' t+ e/*5 m9 n1 G- S* v
* ======== Operating System Configuration ========: l' ~) T& Y/ f. G
*/& I9 K% C: ?5 |0 J/ J- z
m" K4 t2 h) Z0 z5 v: ?
/* no rts heap */
6 y4 n' R/ a- Y- X) s6 A6 ?Program.heap = 0;' Z' L7 K' g/ d( [5 i
Program.argSize = 100; /* minimum size */
9 S1 ?2 E" v: EProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 z6 P- B* p/ S- w: N
% B, M' b* w6 Y6 i0 Z% E# F( L9 O/* create a default heap */
" J( B, U5 o' N: o8 Kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 @: t: R3 [ Y, H4 t3 t
var heapMemParams = new HeapMem.Params();
' N/ L: D' K4 ~* L( G6 sheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 {2 p/ _8 b( z; S9 g
. e1 |, @9 l4 {" V f0 Vvar Memory = xdc.useModule('xdc.runtime.Memory');# \3 J& O/ }, \! i! D# c
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 j" p% P P+ @" O& m- V
$ j1 _8 g% a0 L2 s& m r3 I9 E9 \/* configure System module */! a- h: s1 T; E
var SysMin = xdc.useModule('xdc.runtime.SysMin');
1 M2 w% @* {$ m6 Y0 a/ Z/ O; wSysMin.bufSize = 0x1000;
; |$ i- e3 T" ?. A4 iSysMin.flushAtExit = false;- U% l; f5 y. Y
7 q% O: Y& p/ ^. ^" ?2 m
var System = xdc.useModule('xdc.runtime.System');( L4 Q0 z1 F& D, N( ?) u
System.SupportProxy = SysMin;
7 f0 }; w6 U# j' J9 F9 F- g' S
- {3 y H4 x" ]3 ]( [1 q/* configure SysBios to use the lower half of Timer 1 */$ s3 T& h! r8 |- c. S4 S
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 _2 A& z; Z& l2 ^
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 j/ H, z, u" L) ~ G# T5 R
Timer.timerSettings[1].master = true; m0 n0 ^7 W6 j6 W, X' s4 K
Timer.defaultHalf = Timer.Half_LOWER;/ Z8 R' }" c8 [. M; T0 f
Clock.timerId = 1;* p$ }( Z& q# {3 j+ m0 k( i$ ?
" q/ V# v8 V, J+ d
2 ?/ Y G5 ~: {. t2 i q- R* g, \( W
/*
0 o$ ]/ m9 D: q c9 l: Z * ======== Miscellaneous Configuration ========
* d" `5 t* R! i3 ] */9 D' B$ {1 E: O. i' p) @' P
( a4 |( @' P& w/ y7 T! q
/* set default diags mask */- N+ [" m! U0 T1 F
var Diags = xdc.useModule('xdc.runtime.Diags');- J* D" y" k" H- y' h6 Q) ~# v
var Defaults = xdc.useModule('xdc.runtime.Defaults');% l9 ^' |: c0 u: v% c' O( q
3 z1 k1 ~. _) f" I* ^Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;( N/ o$ z2 I* J& d+ c( l/ G
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: B( J: G, l4 _# I* @3 c$ qDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% b) S+ q9 R- S7 d: IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' Q0 B$ |: |0 d5 _
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" d- d- Q5 e( m* TDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, R& E* l1 Q% K' P, WDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ Z) M( P) n* S% S. l- Q, ~2 z! J+ RDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 d) R! J3 N/ V1 E: [Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% Z: |0 x9 N4 gDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! U$ M; \) ]* e. C+ x9 rDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 M5 l" B2 R3 r1 X; ^) n [; NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 Z C3 [ M& l0 }7 |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;, p3 q5 }) W% f6 W- Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" D! I7 J4 [* h8 E& ^# u2 F3 B
; e& H( L. {% Q# e4 t! }
/* override diags mask for selected modules */
( b& n$ [4 U* q9 jxdc.useModule('xdc.runtime.Main');7 `7 o& k2 Z" i# w4 ~8 c
Diags.setMaskMeta(
/ T: t% A3 C% X6 d+ w "xdc.runtime.Main",+ g" S- r# }9 t& C9 C* u# }4 D( k
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 G6 J& s2 A! k4 ~
Diags.RUNTIME_ON
, n! I$ @: Z* |: O( G9 C2 v);4 Z# U0 @0 `+ p$ c) r9 t
9 K9 r6 ?# V& R' m) j1 L
var Registry = xdc.useModule('xdc.runtime.Registry');
# _2 ]. h7 N& w' k' L- bRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) q) A; R$ s7 f- h
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 ]* O2 }/ |) R* o7 P6 N: s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;# W4 M) k6 o9 G/ f8 t0 M0 V# M- V( X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 z' e4 s( Q% q! `( J
4 q1 h2 e$ Q; r0 F3 R* Z
/* create a logger instance */' P' w0 [8 _3 Z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 T: w) P# U* P% l5 ^
var loggerBufP = new LoggerBuf.Params();. F7 a% S7 |* Y8 J9 x: T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* |- g9 Q7 w+ A! C/ qloggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 c: p: ~7 s. e. u2 X6 u7 \/ g7 _! D5 K; {6 X
var appLogger = LoggerBuf.create(loggerBufP);2 a9 i2 T. I2 [/ N& X7 `4 C8 p5 {# v
appLogger.instance.name = "AppLog_Core1";
5 J3 |" `+ _3 n: F' HDefaults.common$.logger = appLogger;- n1 i9 t6 B! ]7 G. i( }5 a
Memory.defaultHeapSize = 0x8192;
! z. Z2 c8 E& r6 y: ]% s% TIdle.idleFxns[0] = "&LEDStatus";
* h' {1 k7 f! s9 u; L$ DCache.initSize.l2Size = Cache.L2Size_32K;
# C5 G6 V8 ]" w4 {/ ? d: r5 B1 F6 w/ o
|
|