|
沙发
楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 q$ D& Y, j6 q5 L& S! ]8 T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% D& W1 X* c4 ? a: T+ I# C- \(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: {- {9 O& A6 u& [7 i- G$ X: s) V6 T2 U8 V! [3 \2 \+ ?4 B/ |3 I3 m
是不是需要在DSP.CFG中进行配置4 f& h- L- M. N% b8 B9 O
我现在的配置为3 A- v5 N3 }/ s9 t9 l3 M
, p+ A# Q, I" s) _$ i x ~
/*
. C0 R: m/ \& o * ======== Operating System Configuration ========
@" {$ I4 N, c6 C */
: X8 w0 b& T, B1 I5 ?9 \8 |8 y( O" z3 I0 J* r, I% G
/* no rts heap */
6 G8 v4 q8 C8 Y$ G6 g/ C& |Program.heap = 0;
! P: W6 X+ ?* X: MProgram.argSize = 100; /* minimum size */
8 j1 @6 {% L+ m7 HProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: b3 ^% R/ k" Q+ X$ i& A) n9 J; G
$ U: E9 ^8 r. N& H/* create a default heap */
5 K5 ~9 k% Y; H W9 T( T% l- `: Kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 i8 b( ^, A) x/ w) z H) |" ` N
var heapMemParams = new HeapMem.Params();) V" H7 Y: v0 ^
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" V# \* n% _' |3 ?: R A f
% H. V: y) D' l
var Memory = xdc.useModule('xdc.runtime.Memory');
( W/ Y! G2 z* S/ oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);5 D) L) n/ ]! b2 r/ O) i" o+ K
. T, R$ Q& _ i% X7 P$ \1 | j# `! \
/* configure System module */% y* O+ v5 t" d* h: p
var SysMin = xdc.useModule('xdc.runtime.SysMin');
5 Y% ]: X3 ?- VSysMin.bufSize = 0x1000;
+ ^5 k" R$ H1 ?SysMin.flushAtExit = false;$ }% h+ ?( Z/ u8 k( _7 ?8 `
% ~+ X N/ P$ n$ Z& i% |1 M+ D1 B
var System = xdc.useModule('xdc.runtime.System');
4 i4 R' G, q! B- q, `+ n+ ZSystem.SupportProxy = SysMin;
6 j: r4 l) \& s% z o
8 S$ i0 ?6 R# K8 v# f" r/* configure SysBios to use the lower half of Timer 1 */" s& `& g A$ }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* d( D5 _" ?1 ^/ b; ]; A' Tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- I1 Q# q! Y1 X2 x, m. ~- Q% q
Timer.timerSettings[1].master = true;
5 H1 y- i$ I+ WTimer.defaultHalf = Timer.Half_LOWER;7 T" H- ~- e' x8 B8 z
Clock.timerId = 1;
3 a2 @+ Q- a4 |3 a% ~5 T; q( A' w2 i& L9 M' O
. Y5 h6 N" C% Y
/*1 h' h3 G+ b8 X
* ======== Miscellaneous Configuration ========! U4 {5 L7 Y. P2 g: Z
*/) A) Z5 E$ C2 B
. U; L. `8 ]5 i& p* Y7 v1 @; c
/* set default diags mask */
8 P, E# U! I/ @+ ^/ ~# hvar Diags = xdc.useModule('xdc.runtime.Diags');; u# j& o6 r/ Y" A0 ?* t
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 n$ A8 V. a; o1 k# {/ `" b) J- `9 c2 P, b2 O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* U( ]2 F& b+ g* Q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 X& k# M; U- H
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. W0 y$ p7 X' F1 z8 y' {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# r# S' V7 `+ {$ z# YDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 W$ W. r" `! z; a
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ T; }* }, D% ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# f+ N# ~. f/ K% hDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ _9 m5 p4 C+ l0 [/ i# i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" `, J: [( S3 g$ `( p! w2 P- H
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 {8 n3 D0 v$ p% b2 B/ W7 p, N, RDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;$ G! h% z% j# ]
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 M+ ], d8 w, Q& s9 T3 J
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;& o, n5 ~! Y0 ?( U U
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! n1 E8 m% f: _# z
8 _* u+ |! x! M
/* override diags mask for selected modules */
0 K7 t6 j2 R% Mxdc.useModule('xdc.runtime.Main');; M6 C9 ?, Q: k0 l" C+ J
Diags.setMaskMeta(% u; o" I& ~) o1 F! M
"xdc.runtime.Main",3 _+ \4 P* ?) t7 m3 L
Diags.ENTRY | Diags.EXIT | Diags.INFO,) o) x; O7 C% ]) b
Diags.RUNTIME_ON2 T8 I7 @% b4 I
);5 a* q# S5 u4 B1 _- ?6 E
- U1 i3 s/ Z) J8 z. ]: i3 q2 Uvar Registry = xdc.useModule('xdc.runtime.Registry');
( c- b3 y: u' `- o$ t" n$ m+ |Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% s, V$ A6 q4 M! l/ V& CRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF; B* Z9 E" p4 ]" v3 t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
! w6 ^4 v0 B d _: FRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 @ H8 D. c* W+ X3 w
1 J+ a# }6 f! F, w0 L& n( P& V3 W/* create a logger instance */9 X. C5 M' H3 I- ?
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 x! x0 k% t1 m1 y4 {9 M
var loggerBufP = new LoggerBuf.Params();
, H3 D: ^3 @9 Z) q$ W9 ], _! v8 ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- a: g5 Q6 _9 O' M% I
loggerBufP.bufType = LoggerBuf.BufType_FIXED;! A" v }: H3 ~
9 d4 |, z1 [! n8 e' j" _5 O, x! L
var appLogger = LoggerBuf.create(loggerBufP);8 p! g) ?5 T2 [6 C5 S! o
appLogger.instance.name = "AppLog_Core1";
$ z* _( ?( s7 L/ H9 O! F c: x8 xDefaults.common$.logger = appLogger;! w1 `3 k8 x% V" r
Memory.defaultHeapSize = 0x8192; " T* e5 l7 |+ d, _7 S. C
Idle.idleFxns[0] = "&LEDStatus";- J" K1 u+ W% `; \
Cache.initSize.l2Size = Cache.L2Size_32K;
5 d) Y7 a9 w7 p9 H* Q' J" H% ]& E7 O, q# A0 n
|
|