|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ l7 \1 S& t/ H- j" ?. t我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; w, e% Z+ w4 J; g9 A
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! I% O* x! p+ f; v
7 W- C _7 s& T/ i( o: @6 c是不是需要在DSP.CFG中进行配置
) q0 X6 h) i+ N" S: K我现在的配置为
0 d9 U5 q7 R9 J1 }
6 M; S# L& J2 |7 z& P8 l5 `/*
# ]" o; e9 x# F$ u3 K# q * ======== Operating System Configuration ========: A/ C$ r& ]! A7 }* j
*/: @) ]9 [* Q9 O' Z7 K6 ]/ h- l( i
- P) B Q/ Y$ b/* no rts heap */- W$ }- g* @) u
Program.heap = 0;; Z1 @3 E5 d. v, w0 `
Program.argSize = 100; /* minimum size */
/ {6 I2 h1 g4 v ~1 KProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ M6 @ h* ?) ~) U5 M$ d I+ c" [- ]. ]) h( O% ~7 J5 r! x' v
/* create a default heap */
0 f) {5 a: W3 _var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ |3 O/ q5 O3 p# j, {var heapMemParams = new HeapMem.Params();$ P4 L# @0 D9 S* ~! U) J
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, R0 k; R, A6 L7 o% M% d) I |) p; n; X5 C1 f4 z" h. O/ ~, x2 I8 S
var Memory = xdc.useModule('xdc.runtime.Memory');6 W& F4 t+ ?- C" M' F6 a
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
; Z$ G4 _- G/ h% r
: u8 r, }& C4 ?* l) a2 P/* configure System module */$ F4 u7 f# ?7 ` F
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ x/ F4 y- Y+ h4 G- X" y G/ ]1 hSysMin.bufSize = 0x1000;$ p! y ^1 Q1 S3 p1 K4 `8 p; W
SysMin.flushAtExit = false;2 e: Q) B' k1 G( y0 a5 L( i
{; L8 l4 @# Svar System = xdc.useModule('xdc.runtime.System');
0 X- N1 d7 I+ N: FSystem.SupportProxy = SysMin;/ `: ^. H5 B" n: h4 M- L$ a5 n
0 r1 e' \% ?- X/ l% u$ h& b
/* configure SysBios to use the lower half of Timer 1 */ i1 V- X; v" u) T6 L D
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" \8 s7 u* v9 \! T: m$ K+ n& Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');! R" l! j2 L: s% `7 X
Timer.timerSettings[1].master = true;1 v7 N$ I. G1 o6 m) k6 e1 D" v
Timer.defaultHalf = Timer.Half_LOWER;
9 h6 T: A8 ~ U% P3 a9 w/ qClock.timerId = 1;$ g# E, N4 f1 _0 x
1 a) P* x, S: s9 M* _2 f
4 Z% _! B: Z) E- Y/*
0 N( N0 Y3 M! a1 D * ======== Miscellaneous Configuration ========( T9 K/ z0 y# O2 K, ~
*/: d% O: s+ A d* U
8 f( _$ X3 S( z
/* set default diags mask */
1 c6 K) @4 c: M4 U/ c; l! Vvar Diags = xdc.useModule('xdc.runtime.Diags');
8 @2 f. ~/ _; @0 evar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 k) g. c: e" ^
4 L5 Y. Z9 ?& _& D& @# UDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 d7 N% {/ Y$ _" M2 B* B/ D0 E% GDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 l: X1 T5 d6 kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- u9 e& |0 ^- O$ v; KDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! T; i: A% J, D% r0 tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 E0 g4 x- ^5 ^3 B
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' }3 `0 V! |: J/ E' }: K8 vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 c+ M; L% q, [* e9 c+ {
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; c: o- E$ M x0 ~
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 M( V4 {. J ^2 Z/ G" Z- T7 b3 KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 e; z$ r% i; z( |0 W7 l. [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 K3 D0 n7 Y) T- O) K
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ k# C" N/ u& F, _; R8 {
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 D9 V0 n. g4 w+ s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) F; s" J' v4 u
/ i; n% z' h3 I
/* override diags mask for selected modules */
( E1 H$ w( j4 oxdc.useModule('xdc.runtime.Main');9 h' \' v3 T `: H$ @3 {
Diags.setMaskMeta(
& V7 }* Y4 R1 _; N2 X! H "xdc.runtime.Main",4 T/ a( o8 H* R4 P- p
Diags.ENTRY | Diags.EXIT | Diags.INFO,
Q. L1 J/ F( U Diags.RUNTIME_ON
$ p9 X# E% U* D0 Q& x);8 ?+ w( R2 r9 _7 v% Y& \
) G' ?/ z8 t% }4 i3 evar Registry = xdc.useModule('xdc.runtime.Registry');
) n, Z7 f, ~7 B: S+ z, R) `Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: D) \2 r* }' C! k: I9 A3 J% n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 S) n0 U0 Y% m8 x1 n8 q! gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
: v8 E2 ]8 k1 c+ E# mRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;& I8 }2 Q. D1 C+ f; D2 c
1 Z$ l/ x0 g9 y/* create a logger instance */: z8 ]. d. J. D1 w% s% m3 i/ W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" P3 T* {# ?' J% p5 V/ Hvar loggerBufP = new LoggerBuf.Params();
3 V8 f, ]9 H. o. q* M' X& |7 QloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 { \$ Z. A& C2 ]0 vloggerBufP.bufType = LoggerBuf.BufType_FIXED;; W* C8 b5 g+ d5 q2 h
& j1 C8 E8 z3 S5 O a, t& gvar appLogger = LoggerBuf.create(loggerBufP);
9 _2 f; D0 I5 ]% c; O( A# G/ U* t0 qappLogger.instance.name = "AppLog_Core1";4 F9 {* J8 W+ K* r7 D
Defaults.common$.logger = appLogger;
' c$ `8 b6 u. Y3 g" M. pMemory.defaultHeapSize = 0x8192; % {; }7 Q5 n: \9 X+ X
Idle.idleFxns[0] = "&LEDStatus";6 @/ ~8 o! {5 N( o8 I$ E
Cache.initSize.l2Size = Cache.L2Size_32K;
* e9 A( c4 e; k% ~5 Z! ^
8 Z: ?3 l1 a+ j& W; g% \. c: y$ m |
|