|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 ]$ v- G$ O( e# j" o d1 G
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( R$ N, [1 |( |; D$ b( ?* n' r
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% a+ L) Q; ~) t. A' ?
/ S$ m. L0 X1 L7 Z- L( z: _是不是需要在DSP.CFG中进行配置5 p( X( k% f+ D' U
我现在的配置为) e, M7 D5 z; Y1 M; T) h
7 L, {' @, ~) b8 }5 R$ {6 z7 Z" q
/*
3 N+ r7 B/ v5 m( [ * ======== Operating System Configuration ========
" y* j' r4 V& u" @3 d& o */! n) O& S: O |) g: L# h
+ i4 x2 B& \" O6 B- }4 n+ M5 A/* no rts heap */
& @, t. L% t0 A: e2 Z5 Y9 ^Program.heap = 0;
$ W8 D, q+ h9 _7 GProgram.argSize = 100; /* minimum size */6 A$ E6 L2 ]. w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) w+ \8 ^2 T' Q5 Q! D% f
4 U* I D+ o' t& E, ]/* create a default heap */1 z% P6 ]0 f6 u, M/ O8 j
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 Y" K" y5 {6 a; |7 q2 n
var heapMemParams = new HeapMem.Params();) o5 t& U( _, ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. {6 A9 s- M5 Y' j& x, V1 ?9 e+ K5 X# ]9 I
var Memory = xdc.useModule('xdc.runtime.Memory');
9 R" S! F( R8 s1 [4 LMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
- \+ G: E( z9 W: X1 M6 ]( M
6 S/ e/ ~# F. {/* configure System module */* h; u( i p- F
var SysMin = xdc.useModule('xdc.runtime.SysMin');5 q; B3 {0 k! @7 i: B+ P5 L
SysMin.bufSize = 0x1000;
; J6 \ _6 m0 f( C# ySysMin.flushAtExit = false;
& z( f/ @: A, w: B
- J. ^' i1 P% Vvar System = xdc.useModule('xdc.runtime.System');: A; {" ]8 `: z5 T& K
System.SupportProxy = SysMin;: v' Z- B5 l8 ?6 v1 q4 U
. M! D8 H/ Y9 _. `
/* configure SysBios to use the lower half of Timer 1 */; N" t7 q5 D8 W3 u9 [" d) B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 E2 ^+ V& L0 y/ e) o& }var Clock = xdc.useModule('ti.sysbios.knl.Clock');; E- b: U! @/ b% g# I
Timer.timerSettings[1].master = true;
3 [- N" T# z6 m% k# pTimer.defaultHalf = Timer.Half_LOWER;
7 f* L& T) W( j2 GClock.timerId = 1;
6 j# Z% O _$ ^: I4 _
/ C- Q2 b5 n b6 p% A( C- l, R. _, w, W' F; o( U$ `' K/ @0 V
/* Z% ]3 g' L& _% _' v% r5 `. r3 o
* ======== Miscellaneous Configuration ========
+ q& O6 M* m$ n' ]2 g: k2 G/ E */" ]4 b! h. v6 w) J/ H1 J4 A; q) D, [
" s; O7 \' l9 J# U1 I, M
/* set default diags mask */
6 G5 m1 h: W: Y- [& B* Lvar Diags = xdc.useModule('xdc.runtime.Diags');
a \$ T- k' O9 avar Defaults = xdc.useModule('xdc.runtime.Defaults');% L( c& e. J4 \2 [
* s1 e0 V" @, W" _; y2 f# O+ @6 jDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. @* l2 g- L6 W$ MDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;7 o3 Q; C& n1 r. L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
C0 D1 I3 a3 z6 xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ b3 ]/ x5 C* N* J' |3 E2 |1 l" ]2 ADefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
~, S7 m3 l+ q$ S7 vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- u/ H, g2 z+ `- j0 t2 ^: G/ ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 M9 |7 C4 i K" fDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
n8 C% Q' w9 kDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; I; f) K) @7 A9 b
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 m- J! V; Y, C t3 D9 u" nDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 |* A; D+ J" O- I3 _2 E! IDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; J N; o5 i l- w: q5 x4 k$ gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) h* n2 p0 w/ ~7 c" wDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 G8 u$ X: \* |' l% x+ Y8 z$ ~5 C8 |; V
# C/ } k7 M( T8 D0 d; k I/* override diags mask for selected modules */
- B9 `" s1 i$ Y' Q5 m5 Oxdc.useModule('xdc.runtime.Main');: ^# N7 ]9 B1 e- {7 O! W, m' o
Diags.setMaskMeta(
/ W. w7 r) ?% t, u "xdc.runtime.Main"," ?5 G' z8 P8 t/ ?
Diags.ENTRY | Diags.EXIT | Diags.INFO,1 Q5 ~' B g' p! J! z- G- ~
Diags.RUNTIME_ON
' G) o/ Z6 ]2 j$ H. ^: ~( |);9 ^: O! b" u# _) y1 y
! x' `# Q0 s* R, n9 { {, b; i" N
var Registry = xdc.useModule('xdc.runtime.Registry');
! Y p7 N7 i( B: U }' ZRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 `% w. D* v5 p, a/ F* D3 FRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. D% {) @* ?- i; i2 z& R4 sRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" j& ? @) K* p7 P# K5 h+ h1 L
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 F$ W$ y* ]# _- s8 u6 g6 m/ ?$ q6 R) h4 O6 S- z5 P+ _9 N
/* create a logger instance */
# l8 p/ O3 ], O2 ?. fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: R( c; O- L, v. [& j, ]1 H5 Ivar loggerBufP = new LoggerBuf.Params();# U8 p- R0 j$ k) n! M/ Z5 U
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 K9 ]3 d" _* L& E/ YloggerBufP.bufType = LoggerBuf.BufType_FIXED;- I7 |0 S* f1 v( ~8 `$ i. g
; `% p$ l) e: Q& ^) M- x' p
var appLogger = LoggerBuf.create(loggerBufP);+ r( D5 W$ c% z/ A% {- v1 G
appLogger.instance.name = "AppLog_Core1";
$ e5 O. X# \1 U9 p/ C2 O1 hDefaults.common$.logger = appLogger;5 |( _8 E% p! {- x' l1 T* z
Memory.defaultHeapSize = 0x8192;
: \) A3 y/ x: h! T* p( J- @Idle.idleFxns[0] = "&LEDStatus";; r Q- |2 C8 u3 L# o
Cache.initSize.l2Size = Cache.L2Size_32K;2 ?+ D, \5 E7 g1 J
! K: F; E Z7 Y8 i2 f5 Q: x
|
|