|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: p c7 I( o9 `
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
. @$ @) x4 w1 M& {3 h3 u" o(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& w0 Q; ?1 K3 f* ]; p8 p" E( A
. C% p9 Y$ g. @! U是不是需要在DSP.CFG中进行配置! e, ^( R& T; q- L; |
我现在的配置为
% R+ j2 e% f4 H/ ~ P; S$ Y* X$ Z P+ z7 S2 E( K: S/ z! l" P
/*- i8 W- H! |9 t* |9 o+ L
* ======== Operating System Configuration ========
; j F1 o: _: I */) {) J! T# D) x
: f6 k5 i. Q1 v# Y& C. l9 @/* no rts heap */: \) c5 Y: x0 v" ^. Y0 O/ H
Program.heap = 0;% }( J9 z1 k+ ~3 o
Program.argSize = 100; /* minimum size */
$ h7 `3 P2 D( V6 N$ \ W- LProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 S, Z4 M7 s% A8 t) z" X( v
. a" }9 }9 O6 @- a# }% m
/* create a default heap */
3 P5 K' ], E# u5 }1 Lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
& j$ O4 ^# T: V3 A2 i! |var heapMemParams = new HeapMem.Params();) E! e! B2 B4 x% t' i) {
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. D: [ l u$ ^) K1 U) e2 x! G2 _/ Y: e+ G6 E" Y5 |
var Memory = xdc.useModule('xdc.runtime.Memory');
8 X6 b3 O, g8 U% o tMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
5 E$ r0 [8 P% }% B6 X# r x t+ S s0 j
! n( A/ `# K5 I0 k; L3 K/ y, h* G( v/* configure System module */
, N5 K- [6 t* g) lvar SysMin = xdc.useModule('xdc.runtime.SysMin');' \3 X8 V0 ~0 [5 O$ z
SysMin.bufSize = 0x1000;
& Y+ C, Z, D+ x1 o9 L) s1 [SysMin.flushAtExit = false;% n6 q: ~8 M" Z t
l" N/ i9 b: Cvar System = xdc.useModule('xdc.runtime.System');
: D+ t0 `: V" L" `* h; ?; dSystem.SupportProxy = SysMin;
" c( u3 i, [1 ~/ c& s# {
$ {3 ~2 y/ } m( z3 B/* configure SysBios to use the lower half of Timer 1 */+ c; W7 O2 p9 R [- U; H4 \8 i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 c& Q8 _8 S; i6 x7 d7 H% [) t. |var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ b" [6 A/ t3 q1 m8 vTimer.timerSettings[1].master = true;
9 L# ?; X2 P4 \0 ~8 [, P/ @7 GTimer.defaultHalf = Timer.Half_LOWER;
% D; O+ Z9 {$ \$ |9 ?8 kClock.timerId = 1;
9 h2 \: P8 G* f/ G7 j4 C
7 q9 N* Y$ p3 q
5 T q( X o, e/*
5 d" `( z9 _' w& G+ H8 z4 y( o * ======== Miscellaneous Configuration ========
. E7 C) P; h, ^! ], g */. D n9 Q' `, c
, R- Y/ p) n2 g7 ]1 r/* set default diags mask */
* d! {2 t- ^8 m0 Cvar Diags = xdc.useModule('xdc.runtime.Diags');4 D2 v' k6 E% O& ]3 v/ |& o/ |
var Defaults = xdc.useModule('xdc.runtime.Defaults');$ p8 m, K* k, p
, [. B) g9 r& p- {7 v+ L4 T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
( t8 a4 B$ @! `8 |/ T, S" \Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 C. n" g" G: |* Z4 i6 L! o2 n: i
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! z* ^8 t$ k0 b( N- l+ dDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; I i# E$ U6 g3 `' V- ^Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) M& o2 t u$ l8 \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% F/ D9 Q; h! @; t# T* DDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; q0 c' Z; p9 W' [# e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 ]8 h. L+ l& I* ^7 x4 m4 k1 J9 jDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' F2 T F: o3 p: R! J4 Z$ dDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) l3 _2 w6 G: a1 C& T2 {" w
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ h1 t0 O5 X2 u4 }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 N# [1 O3 d7 F. ]; z7 }/ `
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 t# \3 o* e! @+ T) T# wDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" S3 n) h% g5 G+ J' ~* N; X% T9 ~3 X# d' R! n9 T
/* override diags mask for selected modules */
L( [- \" w w" F5 W; y, K; S5 \xdc.useModule('xdc.runtime.Main');
8 E; U. B3 S3 g* ~0 qDiags.setMaskMeta(: P8 r7 i6 N0 C0 d
"xdc.runtime.Main",2 v- S7 H% B' b; X) `
Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ ^- G: K% L+ x9 S9 q5 h Diags.RUNTIME_ON
. a- J- P. V! e4 V$ ~# V( c" t/ |);( L }8 A+ a: L! [: P5 n
: Q# o+ I& U [4 a+ j8 p
var Registry = xdc.useModule('xdc.runtime.Registry');+ ]7 Z$ C r5 x3 a0 u
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, T% d- R5 a8 zRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; Q3 P! {8 C% x* {Registry.common$.diags_INFO = Diags.RUNTIME_OFF;! }& `& x* ~% A$ u Z7 h) b
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 V) M1 I& V" }2 I
" n1 j0 M4 s- B/* create a logger instance */
# G( T+ L! O; W( w0 avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 ?& W2 D& q- M% i
var loggerBufP = new LoggerBuf.Params();* \, U) g p/ K* r6 X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 d( W( K6 j( T! B8 w0 o0 ]$ C7 GloggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 Q8 ^3 w; n8 k3 G
7 Q; M' W5 b$ x( L# \var appLogger = LoggerBuf.create(loggerBufP);
# f* V# l2 X( f& ZappLogger.instance.name = "AppLog_Core1";2 z5 X$ L( }: X9 J& \4 Z" ?* Q! z
Defaults.common$.logger = appLogger;; O6 b, W4 ^. K- Z: Q$ W
Memory.defaultHeapSize = 0x8192;
~% m4 y+ c. O H: B' FIdle.idleFxns[0] = "&LEDStatus";3 \" K y. i) r$ F% l
Cache.initSize.l2Size = Cache.L2Size_32K;
9 n9 x `' R) H/ R& @# H) v/ \' j! U7 ^; S7 t5 e, |
|
|