|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& }1 M n; s" n; f4 p' F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, e, C5 a( ~6 X
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) @3 f+ t1 {5 _; L- f/ O1 f* A
: l0 a- `% }1 V1 M1 C是不是需要在DSP.CFG中进行配置
: P9 F. Z+ e+ n7 |8 t我现在的配置为4 W" D" a& a, d# p1 D: A
# ^4 S/ b& J& @/ K8 ?
/*
9 ~* Y3 T7 m. ^* O * ======== Operating System Configuration ========4 a2 f! d/ C2 Z8 {' w
*/' j( h+ w) u5 N( e- u0 }3 a
2 v% G, b0 R6 w. n K* ?; u/* no rts heap */' ^) P* T! T& E2 r* ?
Program.heap = 0;
# x- p; w" T9 |7 ^$ s8 I2 mProgram.argSize = 100; /* minimum size */; D- s! `& D" i
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ X& Q# b4 N8 C' O) Q3 n( R5 M
$ ] a) ^: b* Z+ W1 R7 t
/* create a default heap */
4 Q' e( ~; [2 g: V" n) y$ Z' a) {var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); x: R7 S- @# y) u' I
var heapMemParams = new HeapMem.Params();6 p/ y3 z$ Y$ l% ]) {2 P1 R
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 r1 p' q6 u$ a# e+ G" N: Z& c1 |
* z* c+ ^' f$ P R. ]; A/ x: Dvar Memory = xdc.useModule('xdc.runtime.Memory');
# j6 S* u; @3 sMemory.defaultHeapInstance = HeapMem.create(heapMemParams);$ j; q$ g! U! v$ @. F' _1 y
7 u8 U$ z1 Z) K7 `3 N5 V. N) H6 E O8 Y
/* configure System module */- n3 [0 K' z5 ^+ m7 @
var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 z1 A! v2 _3 F' V: X: ASysMin.bufSize = 0x1000;& b# X7 F- _% k
SysMin.flushAtExit = false;
, F& S* i, N ~* Y% D7 k2 w* i& p% M; q9 ?
var System = xdc.useModule('xdc.runtime.System');
5 @/ T. @2 B; D6 [6 TSystem.SupportProxy = SysMin;: t. J' S" {' V
+ F2 W& K' ?; O/ m( T1 q3 e/* configure SysBios to use the lower half of Timer 1 */' U$ x/ V$ ~; ~& {
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 W; m5 q4 h5 w0 ^& y. G0 Kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
) b" [# v' w1 e/ B) p; W: W" d& XTimer.timerSettings[1].master = true;9 y/ q4 ~/ U# {1 w- F. G6 U
Timer.defaultHalf = Timer.Half_LOWER;
1 i( ~. ?7 p% c% q6 _# ]9 j4 }& _Clock.timerId = 1;
- @$ I7 j1 G# l% h1 ]& M
- B4 A8 v, ^# @& f G8 _
+ n1 C8 c/ F4 u/*
; X# f1 ~, l: ?/ W2 V- j3 A * ======== Miscellaneous Configuration ========/ |5 G( f/ l9 V2 z/ S: e- f' K- D* a+ U7 U
*/7 ?5 q x- q6 z# D& W* P) t0 ?) e( p
3 g% d1 E, C9 V. V+ s9 T
/* set default diags mask */
( T! v0 c9 P4 ^& W1 Fvar Diags = xdc.useModule('xdc.runtime.Diags');
1 ?# m' ?) ]" B. o7 L) yvar Defaults = xdc.useModule('xdc.runtime.Defaults');
% C5 x, \% d3 x/ `$ U/ ~/ n
7 Y* @4 }- o- |7 aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ {# o: O6 B; i8 Q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 x) u5 A$ c4 U+ w3 vDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 O5 y* E- o. d3 G: uDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" P) z! }9 u0 M; k
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* g5 z7 q' ~8 i$ [7 U4 d
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ E( l; \# D! b1 Q7 l% b6 a4 }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; ?6 `4 B: v; _/ ^- x, E4 j9 N
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* @8 `: }$ F' U* a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) h r$ N* j5 A6 m3 \# _Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 x# t9 d) C4 v
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: L- F+ a2 p5 f( _( w
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
! T& k/ O* V$ s$ a4 R. aDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;% x" ], m2 q: ]3 r
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: D$ z I N* y$ S0 q9 q1 `: D0 g$ h3 v
2 X1 P7 V9 O F; [/* override diags mask for selected modules */
1 F% k4 L5 Y$ Fxdc.useModule('xdc.runtime.Main');
( D) V: J$ s6 ], n+ P1 I+ X! ^Diags.setMaskMeta($ h( j; A. V7 t$ s
"xdc.runtime.Main",
2 K) I: Q9 t6 E* Z Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 U( Y) w9 M7 J. \1 I6 M W' l8 Y Diags.RUNTIME_ON
8 T( W) }. b' A; @);/ i( |0 i- h3 F$ p7 ~) h3 ?7 ^! g
; ]$ ?! A% B1 ]& p
var Registry = xdc.useModule('xdc.runtime.Registry');
8 i# _) E l; X" y: A0 d: Y4 D% @7 sRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 s) D* u1 s9 H; ?# g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 W: B; R" q' h8 o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
- K- M! x- q# fRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 q0 P. P$ ]9 R2 y! G9 t/ w
% r6 H2 ]# v& Q& W4 }/* create a logger instance */
2 z' K" D! f: J/ k3 S3 l2 Y# Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 [5 Z9 S2 V, A- j- o3 g! c
var loggerBufP = new LoggerBuf.Params();( I* T0 I4 s! i0 k5 n% a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 I, s0 }1 X% {& S, CloggerBufP.bufType = LoggerBuf.BufType_FIXED;# u' n9 e& G# Y) Q* m. W/ ~; H; U
6 L& z/ P2 _4 u) b" q2 X, r! i
var appLogger = LoggerBuf.create(loggerBufP);. L- V5 E6 A: R: w. `: R( c* m
appLogger.instance.name = "AppLog_Core1";
u! P0 A0 G7 Y) J$ EDefaults.common$.logger = appLogger;: `/ x7 @+ q- B
Memory.defaultHeapSize = 0x8192; ; K1 B$ K; _) a( q8 |' I4 D- Z
Idle.idleFxns[0] = "&LEDStatus"; L8 F! W. g$ ]! R3 |
Cache.initSize.l2Size = Cache.L2Size_32K;
* U' P3 ~2 W( ]% h H- V
! R& i6 j& d. L1 @0 N' W |
|