|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 Z' {* ^) |. G# ^8 h7 P% ^我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下5 Q/ \8 j# P G2 h: s6 @, [; u
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) r! A- R& {( {) I+ e+ \
}+ c: n% U9 T
是不是需要在DSP.CFG中进行配置3 Q; {+ O/ B' b
我现在的配置为" X" X- Y7 Z. e& q& S- g4 \, f
! R0 e$ O* M% ~& x
/*7 w. h) f5 Z, I9 j; ?2 ]- z
* ======== Operating System Configuration ========' n9 i# i* g. H: X: J
*/" P8 k% s& ~7 y+ ^' h, D2 g
; R6 y+ K9 s4 G7 }# @/* no rts heap */
8 l3 C; g- J" ?- JProgram.heap = 0;; k" I& F& a2 t! N% h
Program.argSize = 100; /* minimum size */! T. A& @; x0 w. ^$ f" ?' A4 H
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 ^. P) P% o8 M# l. b
7 v% m4 z9 ?- j/* create a default heap */
9 h: k, \2 M7 Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% V7 k$ Y. d8 l5 m9 W
var heapMemParams = new HeapMem.Params();3 T- S# l5 \* H! _' d- o
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; f/ M+ Q5 o1 c) w R/ m. r/ ^2 `+ ?1 N
var Memory = xdc.useModule('xdc.runtime.Memory');
( j3 C9 |+ y7 U! C8 y& f! VMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 ?! K- S& ^" H& w# a Z- s5 e: J: r; y! w
/* configure System module */0 y* ], i- Z) O; u n4 u' Y/ Y
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 P; B' Z& p6 J. O: ~5 }
SysMin.bufSize = 0x1000;
+ V9 m4 R% n% z# l2 fSysMin.flushAtExit = false;; X7 Z1 p3 ~7 ]0 u( O w
8 [' _; K' r q0 Y
var System = xdc.useModule('xdc.runtime.System');
5 P# m) p3 g3 }; l9 ]System.SupportProxy = SysMin;
$ v. w' d; \" E2 Z$ Q' Q( B5 f5 e: C5 x8 b
/* configure SysBios to use the lower half of Timer 1 */* ^$ X( j# P2 B, F, J# m
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 M; d: G/ d" f. d
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ l4 E0 T- l. k9 ATimer.timerSettings[1].master = true;
* i, O6 b/ `' g: C: ]; B/ _Timer.defaultHalf = Timer.Half_LOWER;
@$ r6 i; m2 ~! kClock.timerId = 1;
9 m8 ?/ ^% ^; P+ b& A0 h( V* O; S/ v, q* p" l
* ~# }! A6 F5 m; @
/*
; [; h3 ~( T6 F Y3 m3 v6 o2 _( ]( J * ======== Miscellaneous Configuration ========8 E+ K" R. h$ q+ s( g3 Y. N' _
*/
6 o9 C d. }6 ^3 {. e
0 i. W% ~6 W4 ?; p2 Q; h/* set default diags mask */5 f5 A, N! W k/ p+ P* n2 ~
var Diags = xdc.useModule('xdc.runtime.Diags');! c7 c- j' I* x( o Z- I0 ?: z
var Defaults = xdc.useModule('xdc.runtime.Defaults');: ^2 [( Q+ x6 D3 h0 G
$ `1 j, R! L0 l0 b: n! v, v' K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, s B* P% G5 {& _Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; G' `" P# z! l' ~& jDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ C2 I" c$ l' r& kDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% z2 L( `# `! b8 r: o4 `3 M6 MDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 v& {- Z9 D) V. `" t# O n+ a
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;' F8 t1 f2 r' L3 Y4 A
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' q5 g- w1 I# C/ @$ h
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
( m) e) w& |* B1 u$ ^! q; YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
1 z4 P4 o5 v4 P* e0 ?Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% |. W. U9 z- S: |$ v
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 T# U0 a% R. jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 F) s7 Z/ L, m
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 M+ g! j1 B" |/ m: |4 r, J0 Y9 k3 L
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ P3 U' O( S9 p7 q c7 R/ R0 V' V* k. P( F5 r2 s
/* override diags mask for selected modules */3 M1 |0 S- L+ L% j+ N
xdc.useModule('xdc.runtime.Main');3 `* T. v; T% f3 `3 U
Diags.setMaskMeta( K- ?& f/ a# H2 c
"xdc.runtime.Main",
7 c: m4 e, J; c. ?8 |* u2 A Diags.ENTRY | Diags.EXIT | Diags.INFO,' E* N3 \& j3 J2 e- Q
Diags.RUNTIME_ON
$ r6 l: [& l6 b0 u2 Q/ h);3 T4 P6 Z \6 V; d. P
+ u2 \: M$ |0 ^7 N( v1 R- n( @
var Registry = xdc.useModule('xdc.runtime.Registry');7 ~6 j0 b' [) V! G- h0 ?
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# L: W: b. G; ]% [" M- x- d0 M
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ ~* v8 L# ~3 Z5 \( R5 o) l( ?Registry.common$.diags_INFO = Diags.RUNTIME_OFF;, K) l+ w9 F d4 g8 u8 E% y5 u8 G
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 L, n% V: f* C8 m: W) U3 ~; u' y2 ^3 g& M% y2 T
/* create a logger instance */# I6 {) t3 g( v8 l# s
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& [. I+ Y- E- U% T6 c/ b, R k; q
var loggerBufP = new LoggerBuf.Params();
$ V+ D% a6 R( e6 r6 F2 eloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 I p# n4 ^) k2 O5 n2 z( e# t
loggerBufP.bufType = LoggerBuf.BufType_FIXED;9 ?1 d8 r2 @- l
$ H, D$ ^3 L, Mvar appLogger = LoggerBuf.create(loggerBufP);- O$ u, _# t y: v
appLogger.instance.name = "AppLog_Core1";
7 }. o! ]# g/ `& P4 c+ Q! FDefaults.common$.logger = appLogger;
. U: K- p& n9 C3 H/ A" aMemory.defaultHeapSize = 0x8192; ! A7 c2 j) Y" @% ?7 N
Idle.idleFxns[0] = "&LEDStatus";
- C: Z! u2 X1 [Cache.initSize.l2Size = Cache.L2Size_32K;! c4 J+ Y" p% F( |
: x, j' Q5 Q. C) S5 L4 Y# \ |
|