|
沙发
楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* N% J9 x I7 T1 F! L4 ^, {' r" a我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ b. ~1 |# e; X G: O; H; H# G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! s' v7 `6 O9 w v8 e7 r- {; @' \% d
1 O a( V Z0 J3 c" w! [是不是需要在DSP.CFG中进行配置( C9 E$ b5 G# U, r8 V" q
我现在的配置为) h# P. \0 S7 P) [, B* Q
. @$ m6 v* R5 O6 |0 y* M5 h4 J! V: o
/*; f1 ]% Q: s2 v# k& K C8 F
* ======== Operating System Configuration ========% {( B% n' C1 s/ I: t- x" Y) W! ]
*/4 P. b+ ~( z. }/ f8 N. A7 `7 [2 X% {2 G. v
& Q% ^5 F/ F- \& M6 C M9 ?- r
/* no rts heap */5 `8 {) i/ Q) |& Y- @
Program.heap = 0;
: I! I o* ?4 n- K/ [3 H4 c# d7 |Program.argSize = 100; /* minimum size */3 S# n- \( h. E q' o
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 g; U, P3 U- u5 c; B* V- h
& n; M) N# l1 e# s5 I0 C/ ^+ m
/* create a default heap */, Z" p$ c1 c5 u5 I: h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 y2 S$ }$ Y$ O5 Y. evar heapMemParams = new HeapMem.Params();3 `4 o9 r2 M8 H6 g" Y1 u4 c5 _
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: s5 b' s: c% _1 x
6 Z* D4 d0 E) _- }; l( r1 f
var Memory = xdc.useModule('xdc.runtime.Memory');
$ H/ u$ ^1 L n1 M9 Y5 i( ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 c1 c% o, w9 {. d7 b9 d
9 k/ l3 v1 J, ?4 E8 M# W3 E/* configure System module */
; S0 e3 W: ^+ x' K" M* _6 k2 J5 [5 ~var SysMin = xdc.useModule('xdc.runtime.SysMin');) Y0 N& M+ u0 a- ~
SysMin.bufSize = 0x1000;2 ^. ~/ x' u, I
SysMin.flushAtExit = false;
S* e) h1 {, P5 G, V6 P, O; s O, s) K
var System = xdc.useModule('xdc.runtime.System');
9 Z# m" R& j+ ~1 S. A' zSystem.SupportProxy = SysMin;
5 t) s# U" @ J6 \1 [- K* U8 c# V+ ~1 J: Q9 B
/* configure SysBios to use the lower half of Timer 1 */; {! a9 ~2 L; `7 t. v8 i$ [2 l
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 N$ y7 }) g" e' Z
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 E# s4 s# U0 N& ], r$ [$ `9 q
Timer.timerSettings[1].master = true;4 b& {6 w" E+ N. U1 ]
Timer.defaultHalf = Timer.Half_LOWER;5 n' i& l8 N4 c& ]9 ?
Clock.timerId = 1;9 O9 Y# T$ v; c) M0 ], {9 x( l! u
5 h/ g% o$ z O, @
+ C4 N, j W& R w/*
# L8 H- ]( l. @- M: w4 s * ======== Miscellaneous Configuration ========5 y* u' w2 Y2 n% Y+ K. L9 K
*/
' f+ c; ~$ I9 t0 ^
( N' m; W m* n/* set default diags mask */
$ N) X V/ p, F" zvar Diags = xdc.useModule('xdc.runtime.Diags');! s& b- p) e# P
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 m$ ~% |- s# m# N$ [2 a; ^& P" E
. `; L$ l$ ~; r, a/ x% n
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 N o% n7 d, h7 O( g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 V$ z; Q& F w# O8 ^/ qDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! Z$ H: J+ d" z1 gDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! Y) d1 O4 C5 ~! ]2 V- Z: u* EDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! p( \, t& b; H
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& q8 l9 G" `4 p+ B& B' ~Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ B* T, {( H% D+ e2 NDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 C9 M" C% Y$ ^4 K
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& |5 \. v9 s$ b; x2 d4 J9 q0 C
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 Q5 P% j: J0 o) ^6 Z/ v% iDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( I1 G) i) [2 i; b% [
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 ^$ N% n$ x" k2 S9 O( }8 DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; |8 r8 Y! u V. XDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% P5 h4 T. C. v
' z7 }5 }6 H/ Q& I. p
/* override diags mask for selected modules */
5 r* X! C# S1 b: T1 ~7 ^5 M4 xxdc.useModule('xdc.runtime.Main');
5 z( T$ v h4 P6 m' |Diags.setMaskMeta(
6 \" n4 y4 A$ P" b& t0 S9 j9 h "xdc.runtime.Main",
9 j( H. i% x' ]4 d Diags.ENTRY | Diags.EXIT | Diags.INFO,- T& B b/ M! N. ]2 G
Diags.RUNTIME_ON
: `: v# ~! @9 f' N; l);1 M4 r( g+ d; e6 e$ O+ L4 I! S
; n1 M5 }+ A; `) G
var Registry = xdc.useModule('xdc.runtime.Registry');
; Y' V/ I& `# W: B |Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 y& Q! C" H5 k6 ]; s7 w7 g. |
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: P' P( y" ] L) X
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 N/ r! g3 g1 K
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;! u# _5 _$ P6 h" `" L# P
4 [% z# {! s" {; k/* create a logger instance */
" Y! b5 N9 Q# Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! N3 [6 r9 L: f8 h4 q8 b( Wvar loggerBufP = new LoggerBuf.Params();
/ P4 W8 L9 C; ?- X: l3 N7 c- BloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) `% E& m8 ?1 X
loggerBufP.bufType = LoggerBuf.BufType_FIXED;% S- d+ G; |( _( Z
7 z5 J+ G9 v g- u4 [9 g1 l# {- Q
var appLogger = LoggerBuf.create(loggerBufP);# S4 v- \/ h D: v/ z
appLogger.instance.name = "AppLog_Core1";2 @, B$ ^1 J$ P+ w: f8 m
Defaults.common$.logger = appLogger;
' i5 s& K7 S" c( kMemory.defaultHeapSize = 0x8192;
$ t2 {3 @! ~6 Y" k* n- V! oIdle.idleFxns[0] = "&LEDStatus";/ K3 p5 Q5 B, L
Cache.initSize.l2Size = Cache.L2Size_32K;
' q* Z# @( C7 _# h- e0 f! [; n7 T2 v3 @$ M
|
|