|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ @4 X/ h; w* ~. o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. r- T) ~/ ?8 u4 q! v(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" F( U& @, K9 J) W: `) I# B
1 y: T: p, D3 c8 G% P
是不是需要在DSP.CFG中进行配置
! f7 h% W* V# F, w3 {* {我现在的配置为 \) A; n0 h3 x( N
0 ]/ t0 q" w& j) Z' G/*0 \+ N2 u- W/ ? s: s& U- b4 j
* ======== Operating System Configuration ========2 w6 o' B3 J: T! M; C& g* Q1 @
*/+ G- S W& b4 l( X& W( `8 A) F
5 V6 ~, y, p) k4 O+ u. `8 i7 R& a
/* no rts heap */
. K2 U% X& G b+ J7 i8 tProgram.heap = 0;
: i+ O2 M# n( a$ D1 s6 B4 OProgram.argSize = 100; /* minimum size */
5 S% E6 w% P2 y$ X9 AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ C. l7 N$ j7 W& Q$ M
# w$ R+ n$ A, ~/ O r
/* create a default heap */2 `- B( B% A* J, T. C2 O
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 ?/ k( D2 N* h* ~0 I
var heapMemParams = new HeapMem.Params();
( `+ f$ r, t. L# P9 oheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, X$ b# Z- g5 w
$ h9 M6 j2 e* Ivar Memory = xdc.useModule('xdc.runtime.Memory');
4 R; u) \& L* x, a4 {0 Z3 wMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
. z" t0 ]5 N9 a1 ?& r
K5 g. c3 x( R3 L, c- E/* configure System module */
T) r4 a3 e0 @+ k' T3 | O9 b5 tvar SysMin = xdc.useModule('xdc.runtime.SysMin');2 ^( |5 P( `" Z7 U- ?7 [
SysMin.bufSize = 0x1000;6 g% E" A) U. C4 A4 |
SysMin.flushAtExit = false;3 u9 b9 H$ d) n9 o
. z! Y: s( Q" V8 v+ m3 O
var System = xdc.useModule('xdc.runtime.System');
1 a# C2 m) r+ @0 y5 m/ L9 [System.SupportProxy = SysMin;
' v# k( X3 ]) W/ x" ^( v! n' M/ g; d# }5 v' z: z
/* configure SysBios to use the lower half of Timer 1 */: L% h3 L6 Y& N& j
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# ^& x: j0 u( c& J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
v+ L# U: c5 ]' uTimer.timerSettings[1].master = true;/ E& y! Y7 `" w7 T3 ] R
Timer.defaultHalf = Timer.Half_LOWER;% g' C+ i n5 f8 q2 ] U, r+ k4 N
Clock.timerId = 1;2 U* n: ~( Z* f6 O! t% \) O9 O
* A( z$ c: A* k/ W: v h# [3 M/ P( c' M6 n
/*+ V; C3 x8 n7 P1 b6 U- `
* ======== Miscellaneous Configuration ========2 Q N2 V" u3 P }' ]. w
*/ Y/ Y% s0 H* r9 a
$ V% D$ V& Q( I
/* set default diags mask */& r1 z- a; K6 o2 M2 F. r
var Diags = xdc.useModule('xdc.runtime.Diags');
6 Z1 I, y+ |3 H2 u3 X1 fvar Defaults = xdc.useModule('xdc.runtime.Defaults');
g! S* ]4 ~% Y* y: q7 j6 A. _/ @& D! F8 m' Y. m3 d$ k
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" _3 b. c* o: i) j) Z7 N+ L: QDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( J8 j u# S* t1 L3 \3 M! DDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! \6 B: P) z: v1 _. {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 c q( e, `/ s4 e8 i) ^) H7 H
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! [- e6 c2 X' E% ODefaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ R1 e! e9 l3 {) B
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. O3 l7 }* f4 y# T* X" S5 k& j4 v
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: E! m, a0 {7 J* U4 i" z1 }Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; Q7 \+ o' q' P3 y- GDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: z8 ^9 ]/ D. W3 X/ q! ADefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 z$ \/ r& @2 w1 pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 s- W( b$ f5 l2 W4 ~Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% Y5 g# J5 W$ j8 [
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 P. X, T/ ]* i
2 Q B/ V) B' S, C/* override diags mask for selected modules */
8 m. K' V1 t) s( M6 x' B( f; ^; |xdc.useModule('xdc.runtime.Main');4 F% F8 ^" @0 z
Diags.setMaskMeta(
' ~6 y& @/ ~' H4 L5 _* R& r "xdc.runtime.Main",/ v9 D6 B; r2 [( q2 @4 _8 k* w
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% a5 }! ?( P$ i0 e/ w' d Diags.RUNTIME_ON
; k5 S( g: }0 N* m);
2 }' v2 r; @' B
/ |0 M( q* ^5 M0 }/ p. pvar Registry = xdc.useModule('xdc.runtime.Registry');
* [% s/ W- u& r5 `8 cRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 k3 J8 `" `: \; K9 P8 p4 v3 tRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;) p2 R3 q: }/ V/ o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: o+ J) l& y2 J$ g* _
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* S% l$ W- w4 Y
7 I* p$ X$ ~) Z) ~$ v
/* create a logger instance */
3 u& B8 F- X8 e' xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( e2 h; u" I- R7 G/ c, k
var loggerBufP = new LoggerBuf.Params();
! R z t2 u% N! a6 `" \" l) ^loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 d3 d0 I) W7 u4 K7 w a
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ j' g5 s3 j3 y
, f j7 w' G# `2 {- {
var appLogger = LoggerBuf.create(loggerBufP);
+ l; ~# [4 r+ P% o+ C, yappLogger.instance.name = "AppLog_Core1";
9 [2 k) t0 I5 |% v2 A5 ]1 M3 o# ZDefaults.common$.logger = appLogger;
1 e4 F0 N; U9 q) Q; y) v" lMemory.defaultHeapSize = 0x8192; % }8 v5 n4 K ], [5 g
Idle.idleFxns[0] = "&LEDStatus";. C% E' M, j/ q5 t- Q( h$ S
Cache.initSize.l2Size = Cache.L2Size_32K;
1 L+ F; K" O* {: X: ~( c% b1 N
0 G+ r7 t, T! w" Z' V |
|