|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 u# n/ E0 W9 {
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 O. \8 E* m* ]0 Q(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- I3 y8 U: ~4 Q5 D! j9 z& V# _ W
0 h+ z2 r3 L( n) d是不是需要在DSP.CFG中进行配置
0 A0 N* L% S8 m% b& X2 q: {我现在的配置为
. l; ?, f- g% I W( H% ^' o+ ?" [
1 m/ [+ ~3 t% T: |/*' }. e/ T- `; b/ I9 `- D- B1 a! w
* ======== Operating System Configuration ========: {* M! ^5 L8 } i2 ]
*/. `6 X2 T( q, ~; b% f
+ H" M" |( ^, U/ z' z; l/* no rts heap */
7 u6 L7 J- E& @! {2 Z9 NProgram.heap = 0;
! W) ~& W: S5 v* Z: ^Program.argSize = 100; /* minimum size */& {% ~: R h" @' b
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' Q# J: ]! J0 {9 m8 n" f; R7 @4 L5 u
3 x1 d! C7 ?# s6 X6 h
/* create a default heap */
$ j4 Y8 D. o: O0 C% N" q5 N# fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ z* l6 ?* ~ F, \& }, H$ M3 \var heapMemParams = new HeapMem.Params();
: C2 o+ q5 f' o0 p5 IheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 G$ b4 h1 w9 _. k
j% ~: P+ m6 B1 _2 H2 s) {$ ^! ~var Memory = xdc.useModule('xdc.runtime.Memory');3 v8 {9 U( w- V" K9 f
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 Z: Z# @9 ]; ~/ i# l( G
, ]; j, p8 h$ K `& x/* configure System module */
7 M8 L* m1 a7 F- K. ivar SysMin = xdc.useModule('xdc.runtime.SysMin');5 h$ ?! |# P/ I( l0 T5 A, q( v4 ^% b
SysMin.bufSize = 0x1000;/ ]2 y' b- `7 }) D/ v
SysMin.flushAtExit = false;
! W8 E0 U/ \( ~3 u# j* W
( I" r4 U/ |( n# |9 N) L4 Mvar System = xdc.useModule('xdc.runtime.System');7 s) U7 A2 ?- P
System.SupportProxy = SysMin;0 ^3 `" E! X- k/ a+ I6 w, ?
: O3 [$ c8 a7 b* u; _5 ?; C! B3 J) ^, J
/* configure SysBios to use the lower half of Timer 1 */
1 u" _; W2 L* s' fvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 k* r- D P+ c+ ^, w+ H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; [2 S7 X# X# j( x; b+ oTimer.timerSettings[1].master = true;
9 T4 Z$ [- Z' e7 @Timer.defaultHalf = Timer.Half_LOWER;
+ J1 i1 {( ]6 qClock.timerId = 1;$ R0 k4 ^5 H& Q/ n) E6 Q& W( c
1 F" N7 H0 Y8 o- f6 |
5 m7 n- _2 A$ @, |, H# X
/* q7 ~% Q7 Y6 D0 E6 s' R! Z. q
* ======== Miscellaneous Configuration ======== B3 n7 q3 J3 f, N- } e
*/
# v8 M6 V* a; I
_5 i$ W/ x. v/* set default diags mask */
/ ^8 m+ i) L% ^) ^9 ` W0 ^var Diags = xdc.useModule('xdc.runtime.Diags');
2 K( O, f/ y9 fvar Defaults = xdc.useModule('xdc.runtime.Defaults'); y: B! z; J* G8 w/ ^( \
! ^: H: r/ Q9 @5 iDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 o5 Y; L) Z5 b6 qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 S$ u I9 v# }2 U# K$ D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: X q ?4 Q: `( o6 i* d( M$ nDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 Y3 U/ W, x3 v8 X; _
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# ^: Z& J# |+ v* Z9 W- ADefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" n" {2 i$ X- m" L: MDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; B' i5 G+ p5 S( V0 T
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 z. p+ X9 d) F; W; z( T
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 q+ i k! M( V: h/ j* ?/ @% JDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& V* m5 M' }2 O3 P0 m' I
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# B- a9 o" y6 }$ ]* pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 ?0 B8 t3 w5 H# n( Z4 {& i# ~
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 v8 {! Y) g, t. C# Z# rDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: K: x( f1 Y) q2 i. w
- q6 Z+ v6 P: ?' z7 Z0 D" E2 L/* override diags mask for selected modules */' o! e' z* s$ U' N F
xdc.useModule('xdc.runtime.Main');3 e2 I T, M' H0 a0 r* ~* |
Diags.setMaskMeta(+ _9 @) _) A4 ^$ {6 j$ z1 L. c
"xdc.runtime.Main"," o- h3 K0 n0 c0 D& f6 y4 }: _
Diags.ENTRY | Diags.EXIT | Diags.INFO,- S; e4 \8 ^" ?) B9 g% w
Diags.RUNTIME_ON) s3 @! H: T; L& l/ k: {
);
. j& O" p" Y+ T- @+ s: [
5 x; n- x7 L0 f' r9 |7 L6 ~- M* vvar Registry = xdc.useModule('xdc.runtime.Registry');
: F/ e5 P9 m+ p0 h2 S0 Q; ~' qRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( \ ^/ E3 \5 c: A# WRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;- z9 l% b, G& @7 l+ t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;& s; U' g) z/ X% u( \- i( {
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- K- c9 L! K5 E: t2 F- s! M4 H) g" M7 l2 J( n) R% b7 e$ M+ X6 x2 H7 N" V
/* create a logger instance *// N- J* S# J! _6 m- u* V: S* A
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 E' J- o9 U) k: M1 fvar loggerBufP = new LoggerBuf.Params();" V; a! P, E1 A3 L% G
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) r2 z, l, Y1 D( z5 S; k$ C+ _loggerBufP.bufType = LoggerBuf.BufType_FIXED;# L1 E4 F3 b" C4 r+ v7 S
4 j/ x4 F4 A# _& R0 Q
var appLogger = LoggerBuf.create(loggerBufP);
8 _& ~/ r, [0 z$ L' ^ eappLogger.instance.name = "AppLog_Core1";
2 I$ N- m5 o( K" L7 MDefaults.common$.logger = appLogger;
' T1 H+ S' d c& lMemory.defaultHeapSize = 0x8192; S. c3 z* r+ l+ U
Idle.idleFxns[0] = "&LEDStatus";
: g L$ b) l: C6 A2 o; X1 H) |; S) NCache.initSize.l2Size = Cache.L2Size_32K;2 ~; C# x [, T0 W
O3 I9 J0 h B1 v- p. p; t
|
|