|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! P" \- u& M# P8 c
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( n! f1 I3 M, L; e8 @
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( f% K, @: L5 e4 t' B+ K3 L' _. X1 F9 _" l9 v
是不是需要在DSP.CFG中进行配置
! S1 h8 c* q' c) r* ^6 {8 A我现在的配置为
7 x1 P. N0 V4 g6 V% H
8 m% {2 \8 w: ?6 q: \# R+ m/*4 w5 Q% p5 ~) n; U, I/ k% }
* ======== Operating System Configuration ========8 g0 _0 N. H% {9 y2 Y: X! a
*/2 Y- J$ X* [; X7 s" ~3 e
. Y& D' M, Y+ r9 m% b4 X
/* no rts heap */& p7 ]5 y' d* ]8 x2 O
Program.heap = 0;
& |+ D+ k$ X3 V. A: m* Y; y' {9 |Program.argSize = 100; /* minimum size */- s# ]4 ~) c0 C J; R. d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, r/ S" I U& m4 s* R7 ~1 d% L* O! w
/* create a default heap */
6 j0 g3 L( w9 X+ Q, u! R2 nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 q5 `' d2 a1 H7 u0 Z1 z! ?
var heapMemParams = new HeapMem.Params();$ a5 h1 Y: P2 F6 E6 g
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ C; C& i1 ~" g# G* o" [
0 j4 o; S$ R( J: v* e5 Nvar Memory = xdc.useModule('xdc.runtime.Memory');* W; `9 Z% ~. X. ~9 I
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 y* H4 n* U' w: m) \ E( u1 n
% f8 \5 Q+ w! Q8 ~6 H' c/* configure System module */! K3 ^/ S7 B7 o$ _# p. S: D D& L
var SysMin = xdc.useModule('xdc.runtime.SysMin');) Q2 c: y( o( W. y
SysMin.bufSize = 0x1000;
# [4 M9 F5 m. K/ x" n2 c$ ]" S+ `SysMin.flushAtExit = false;
Z' B# D' b4 w: W
6 J* ?3 @) w* F4 k6 Fvar System = xdc.useModule('xdc.runtime.System');
7 Z1 S5 z3 z8 b# lSystem.SupportProxy = SysMin;
$ N) \; D: ? z6 s1 R$ F. I5 l: Q3 s! X4 k, F
/* configure SysBios to use the lower half of Timer 1 */
; X. M# C, s3 ?, m" Gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: o; _5 o0 a' G/ m% W8 ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 Z; C" F0 J4 B# v/ L6 x# kTimer.timerSettings[1].master = true;
& n* i& f1 i! p4 `Timer.defaultHalf = Timer.Half_LOWER;
6 F( f) h) b" L& K2 l- gClock.timerId = 1;7 r0 E; R* W4 @2 ]# D/ k _& W5 t
. u# |1 B: I7 k7 F. L$ w! j. ~ ` u: p9 x4 O5 q2 O
/*9 q6 h6 q. n# f0 R' X
* ======== Miscellaneous Configuration ========
; [$ }$ m( R* q */( z/ |' q" z+ m: S8 h( B
! l" |- F1 A3 W7 Y' Q# {/* set default diags mask */( o0 I! l4 y) s
var Diags = xdc.useModule('xdc.runtime.Diags');- R5 K, l. t8 v1 ~0 I7 V( y8 D" S
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; V n9 S: D1 T! ^: U. `
6 A- _' u% X' m# G/ ]$ H6 FDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ w- `5 t! H J: u5 U: v
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- c% D: o2 d7 D" N nDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- ]7 J5 B2 ~5 o
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ z' x( W, o: @7 b' JDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 U/ R6 b4 m( W7 t% YDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 h7 P" Y; b3 c
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ t/ |) f$ ~: FDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% u3 h+ n- ^% `/ Z4 m4 pDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! K) c- P$ O" JDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ S- S% |+ S* f7 e# XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 t( G5 ?; J8 z+ O* r. e; ~% YDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ X, ~- j3 u/ Y! k+ o1 o0 eDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. L q t- N1 ?' f- e( u# }% SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; l! l/ U; Z% @, l( \
) {. R* z: [# G7 Y
/* override diags mask for selected modules */
0 l3 b Y3 s6 T4 J6 g& N6 x5 |xdc.useModule('xdc.runtime.Main');4 N6 w, ^( Z* O' o. w
Diags.setMaskMeta(7 L3 o9 G1 U' F0 n( t( I
"xdc.runtime.Main",4 d8 p' l# u. @
Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 D! M7 b2 h% K9 X* } Diags.RUNTIME_ON( c6 [. T% Y9 r, F" p4 h
);1 K7 m- `5 S) o. G
. S& ?. ]: t' A7 I9 V4 U
var Registry = xdc.useModule('xdc.runtime.Registry');' l8 l) V! b8 r1 \3 I
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# z7 k+ ]5 s, u- IRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;; f3 d' F' X- A% A* z) f' ^% ^ Z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;' @1 O5 x( t, G$ p; Z
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# u1 d# z) L% e3 I
$ U/ W# C$ ?) o: ^& z' \ S/* create a logger instance */
7 e0 c8 ^! J7 R. jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- k1 r2 `' X2 r$ Y! P5 a9 xvar loggerBufP = new LoggerBuf.Params();
. p* X3 L- e1 ]( ~: P# l/ u1 y' N yloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) ?; f2 W$ K3 _$ ?# q, O8 jloggerBufP.bufType = LoggerBuf.BufType_FIXED;4 s+ {3 G" [; g2 ^; A: \
8 }1 O" c- x2 d! `0 h: A3 Ovar appLogger = LoggerBuf.create(loggerBufP);
6 ` }& f* W; `appLogger.instance.name = "AppLog_Core1";" e2 W3 Z# W7 F3 j
Defaults.common$.logger = appLogger;
% E4 l, v) g1 N& b+ I* }/ z4 ]# zMemory.defaultHeapSize = 0x8192; 3 j- l# y4 G. m
Idle.idleFxns[0] = "&LEDStatus";( K+ x2 ~' u; C* f
Cache.initSize.l2Size = Cache.L2Size_32K;- o& f! d3 n9 \4 `$ l) Z0 ^
0 H$ z5 r, m# T6 O( h5 H5 f4 v `9 Q1 q! j
|
|