|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% o- y1 l6 ~4 G% j, F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) C6 c: p6 M5 `5 [7 Z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- a' E( q- N2 [$ w; M
5 g4 f& n! k2 d$ L是不是需要在DSP.CFG中进行配置
6 l+ C/ ?+ H. N2 F) w( }) X我现在的配置为, X" o, C5 f u7 T
2 l# M; q, L0 M+ Y9 L/*( g' {0 w/ S# ~( q9 M% y
* ======== Operating System Configuration ========0 O) s3 G* W* i9 O' D( k- f2 o1 o
*/
9 s% a- T1 P8 j4 r5 a# \7 e! s: h/ x& E- J7 A9 K- h L1 }6 f
/* no rts heap */. K% R: D3 z% G7 |
Program.heap = 0;& x. p! W/ E( y! F4 u
Program.argSize = 100; /* minimum size */7 C" F* t1 x5 R
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! s" F* S/ L4 h" {1 D3 C8 c+ V' h
8 \7 f d$ v1 f8 O
/* create a default heap */) D3 E+ Y9 a3 o
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ l# K4 J0 ?/ Z0 ^9 Bvar heapMemParams = new HeapMem.Params();
- S$ k, ^( I" LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 R- w$ k& B; F
7 Z! }" x+ {) ~var Memory = xdc.useModule('xdc.runtime.Memory');
3 q" b- V8 N, v% \Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 _, e+ y, d! K7 ]5 M( M$ V9 `
- \! ~6 x9 {+ k7 W$ B# X! Q0 F/* configure System module */
2 v" b/ [% l x& l* evar SysMin = xdc.useModule('xdc.runtime.SysMin');! p6 }3 a8 i; ?( d7 e. t
SysMin.bufSize = 0x1000;
! u# \. k u% n7 @) iSysMin.flushAtExit = false;/ `' v6 F7 a% T( Q
1 |% A8 \- O: z' i1 J" dvar System = xdc.useModule('xdc.runtime.System');
2 V7 `; Z) B7 s" p6 u4 m) }3 k6 nSystem.SupportProxy = SysMin;
# x8 e' l5 T( y J
% p: U+ @6 N" [! G/* configure SysBios to use the lower half of Timer 1 */1 p: q5 ^. j. c" j7 n& p/ l
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');- n& z! n+ o, }9 o+ C1 Q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');( z& c& v7 ~6 h' C g
Timer.timerSettings[1].master = true;+ x L) N) N: K( H
Timer.defaultHalf = Timer.Half_LOWER;, ?# o6 X) e5 Y$ V/ Q- O
Clock.timerId = 1;: D8 N7 o" D" V6 t! e2 P S" `( j
- y0 r+ S9 q: `& J5 @/ @* F* [7 G4 F! N: v
/*% J0 u' u/ M, k; L& R7 U
* ======== Miscellaneous Configuration ========* P, v8 M5 G4 |( }8 @( {
*/4 j% i$ ]+ L2 H1 G5 V# W
4 i0 U5 M' ?2 |6 X6 {& K- u! a/* set default diags mask */& }* e3 i/ J9 l- Z$ B
var Diags = xdc.useModule('xdc.runtime.Diags');/ ^4 W# e& T0 {8 t7 L5 V
var Defaults = xdc.useModule('xdc.runtime.Defaults');
* |9 @, ?/ h! h4 m% v& Q* f0 J" V. q4 i7 ]) Z+ G1 z$ k
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' m# a8 |1 j) ]
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, o# C. z) J$ n' o6 U% M$ W
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 D( x. s& _. O) eDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// ]7 a9 n" B: G3 A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
0 _/ h% V7 K8 z% K" sDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 l2 l. q- U# u5 X) R
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ W. M& R' ~; _2 t! }' M
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; y1 z# o, n1 t/ W- S) `( IDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 W+ D! Y$ }* _: m- H
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 z! W* d' r) N- ~; C4 ?2 {Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 r$ {, Z; K' |Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ f1 F* S0 c0 Q; ?6 {. p CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF; S5 {( X J: x$ Z8 B
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ ]3 v. ?0 Q# I* j0 x" U" I7 b+ h' r" Y6 T: @2 E9 k
/* override diags mask for selected modules */
+ C4 d6 j7 O9 f0 o5 m% Xxdc.useModule('xdc.runtime.Main');
( ~0 H/ A. V6 n- PDiags.setMaskMeta(2 k9 N) Y% ~+ V o3 I: ~! {
"xdc.runtime.Main",! u6 I7 c' C! E, U
Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ u- m/ U5 r7 Q/ }0 S Diags.RUNTIME_ON
( o( ^2 P- x- [);# C3 Y) p5 }2 `# E
# }$ o, \+ o* y; V+ w. F R- t; c
var Registry = xdc.useModule('xdc.runtime.Registry');
$ ~# _" a x& U! ^8 eRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 n2 t3 f- m3 k. U. U- l/ x: {Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 @% m8 q6 W5 v8 C. XRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ G7 |2 q1 t1 e6 ?
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ ]& \- S8 a6 A; d* t4 a
' J* T: k" J* j/* create a logger instance */
+ h! W, ]5 f5 a0 H+ \3 Xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 A) P7 b9 L s5 c7 S% ~% i
var loggerBufP = new LoggerBuf.Params();/ k2 [) S+ K! p0 [" Z/ D& U; z
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 y o$ e B$ c; A. z! D- L( J$ floggerBufP.bufType = LoggerBuf.BufType_FIXED;# h' w: w# h3 J& J: [: x, D
7 z: h6 }) _; @) M/ d3 Gvar appLogger = LoggerBuf.create(loggerBufP);5 Z# c8 U$ E8 t) t# L2 A! H& ~
appLogger.instance.name = "AppLog_Core1";" K" T" i0 C8 _: u; x) X
Defaults.common$.logger = appLogger;3 ]0 M8 b# q) } z& Z/ c
Memory.defaultHeapSize = 0x8192;
. B( ]& i$ ^& w: u6 J* B0 M1 B, rIdle.idleFxns[0] = "&LEDStatus";
/ p8 m3 ?/ f: CCache.initSize.l2Size = Cache.L2Size_32K;* n8 \/ q. o6 | I& V9 x, |# u
$ J6 q1 e- _1 ]% F2 L; L( _, Z
|
|