|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明. B" x/ p6 {0 g, K, D1 [
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ }0 f$ p8 E* w0 m4 Y
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ s+ H2 b2 ^" w7 z
' ?$ W: C9 n' R5 O. N# u( O6 V
是不是需要在DSP.CFG中进行配置
* Y5 q) m, w7 t- H我现在的配置为
8 C5 }: a3 ?7 ~1 e4 a5 [- y" r( C3 ~+ y) H! T; I
/* q( j C2 s5 y3 g3 T7 R: c5 U
* ======== Operating System Configuration ========; U7 L1 |, d& f. v; `" b4 [2 J
*/) a9 S4 Y5 d- X+ @- v( H* Z/ ^
0 K, ~ x( G8 y6 S% c5 ^: |( e/* no rts heap */3 u2 d+ w$ s1 G2 y( c
Program.heap = 0;. a: E9 ^ s) L: b
Program.argSize = 100; /* minimum size */
8 b. q. s3 s7 f& e- ^5 Z8 vProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 |1 ^& f. Q7 V. O9 V1 j' j
: U' w o3 }) L; s% J$ @/* create a default heap */
$ g% d- D4 \* X$ Y0 v7 tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- e% Q/ [( y& }7 E1 B" Q+ \" yvar heapMemParams = new HeapMem.Params();
9 p9 [% h& M+ T' yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 f8 p! O1 `! q2 S# r# M( j
4 }- P( o, S3 t* nvar Memory = xdc.useModule('xdc.runtime.Memory');9 q) g( y% j: Q: m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 _3 `7 F9 B- J. |: O4 V7 p6 Q
; i2 k0 Q. C4 m. C) g \/ H/* configure System module */
% A! E0 \$ k+ f8 _var SysMin = xdc.useModule('xdc.runtime.SysMin');+ O4 k$ A# L8 C- W y8 y. Q
SysMin.bufSize = 0x1000;
6 M6 A: I5 e5 zSysMin.flushAtExit = false;* U4 [0 x2 [, v/ j& j2 i$ |9 [
2 c! }' ?1 E0 uvar System = xdc.useModule('xdc.runtime.System');0 y0 B# l, U8 |/ p* s* I
System.SupportProxy = SysMin;/ \+ ]6 K) u0 m# ]: j# S
' u: U6 M( |! I* E# b4 [; a9 [; Z/ g/* configure SysBios to use the lower half of Timer 1 */9 b+ |! e- }1 A" l& o5 a, M1 h c
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" n, n. Q8 f2 N% y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');2 {- x* S9 C8 g. J; c( u& H
Timer.timerSettings[1].master = true;! T6 Q3 ]! g) q; {5 ?. t5 s
Timer.defaultHalf = Timer.Half_LOWER;5 B7 r; {4 w! J- E5 a; K
Clock.timerId = 1;) d+ |" T" `3 A1 x' Z# e3 r
H% m+ K9 f5 }
! w# o: B+ q0 g4 c/*5 _! A: F9 o9 w% b+ z$ v; g
* ======== Miscellaneous Configuration ========
( j/ U2 d; S& s0 U5 Z3 d: o */$ s# v) o$ L) R
0 O3 P/ @$ {1 U: `8 t- @/* set default diags mask */$ K* R/ D( z* Q5 v
var Diags = xdc.useModule('xdc.runtime.Diags');
% G# q) Z4 I( V+ |) F4 qvar Defaults = xdc.useModule('xdc.runtime.Defaults');
; t3 W3 \0 } t0 Z5 Y+ J/ b2 r
* T$ z/ T4 a6 o8 {' m+ b5 {Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 r3 I( T4 M5 H! n: N0 p) U4 e
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ f0 ~2 A1 b! Y, ~: KDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# f! M- C2 G# q: |* |8 h; n! {+ e- K
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: r- B- T( b0 y# M! b. c" R
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ B8 R6 h+ t1 \4 {; F
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) j/ e7 H# z' n3 S3 ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 m; F2 Q7 }5 x' d3 PDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 U7 b, E( V1 L1 F' ZDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) h* c. d, @" u& WDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 q& B) T, @4 ^" p. NDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 M8 V9 \, ]' m; Z$ N4 ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
6 Q# a( G) }2 {Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; E8 M( v* X9 L% r
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- I- K+ } J, A8 ~' @
/ J1 I/ ~8 h" H/* override diags mask for selected modules */
- ^( `& C v, w6 ] ixdc.useModule('xdc.runtime.Main');* {0 G6 i4 w0 Z z1 n# N' P
Diags.setMaskMeta(
+ M! k$ E' h* f "xdc.runtime.Main",
$ I4 ^8 a4 u. V s5 z Diags.ENTRY | Diags.EXIT | Diags.INFO,
- j6 @9 C, i9 z Diags.RUNTIME_ON& x7 u, N) i& @4 x' u9 f5 J
);2 _& k+ f% A; K0 m
, t- {: j% }, O5 ^- d0 ^
var Registry = xdc.useModule('xdc.runtime.Registry');7 Z4 q5 Y) d3 z+ W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 t6 Y9 ~: J8 }0 S
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 J! }7 b8 t+ L
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 p4 V9 a U/ c& `Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ w( }0 F. C* ~! r- _; [
, Y2 ^- P7 z" a+ h8 D% |. c/* create a logger instance */
) C& S$ J% d3 ~* hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 c4 F& \9 L0 D" a1 B. T
var loggerBufP = new LoggerBuf.Params();0 z$ w6 |4 f0 N1 L* w
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
s2 x1 v6 Y8 h* q) kloggerBufP.bufType = LoggerBuf.BufType_FIXED;
) {, }! s) Y% W0 \- k' e& K
& Q( z2 q/ q6 Lvar appLogger = LoggerBuf.create(loggerBufP);* C" ?, B; |/ d2 F3 _- n6 d
appLogger.instance.name = "AppLog_Core1";7 x9 @$ O5 r' R( }5 l- n( d) r
Defaults.common$.logger = appLogger;
' s0 Y2 ^/ f; `. Z' t. R3 mMemory.defaultHeapSize = 0x8192;
) y3 C7 n0 ~0 G* nIdle.idleFxns[0] = "&LEDStatus";0 R9 p# g- e7 e* r# p- W
Cache.initSize.l2Size = Cache.L2Size_32K;
2 o4 j& v0 h" Z: a1 R6 @) o8 O0 T" o6 q
|
|