|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( j+ G) ^. r8 C& t! X
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 O; Z% S4 e' A. I. S. u(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 z. W2 P5 R J! w) T6 Q, c
! B: \& F. D2 C8 Z; ~1 C7 j' A
是不是需要在DSP.CFG中进行配置2 X) |9 `; \$ i
我现在的配置为 g0 x* }; V, h+ @& V9 m
. @% | }" s5 g! |/*
5 A& a% a5 G' M$ k$ S5 u * ======== Operating System Configuration ========
' \) w, D# Z r7 Z1 i1 ?, ~ */
~& J d) D( J) F- |7 Z R7 E- o t9 ^
/* no rts heap */
4 w0 A$ S+ `( E* b/ U2 Q3 VProgram.heap = 0;9 T6 X: p6 D6 ?8 j: A# p2 k( l
Program.argSize = 100; /* minimum size */
# p' i; V( \% t/ Z7 bProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 f2 o0 r; b) x0 K f
) |2 ~4 p7 S% a! z! f. D/* create a default heap */8 ~' \, |- S% d! j' N. b" P
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# W/ z P1 B- Q; G8 o+ @! \var heapMemParams = new HeapMem.Params();
. U( E# {1 h$ l! I2 d& cheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ z0 R$ e0 l$ k( b+ H% a- s
& G8 B3 Y1 z+ B3 K8 ivar Memory = xdc.useModule('xdc.runtime.Memory');% c/ {" D K$ b3 | s0 u
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* _' @( H9 l/ w' R4 N: M, A: z9 K4 q5 |3 ~) g: |
/* configure System module */8 _9 N: Y0 k5 b7 b
var SysMin = xdc.useModule('xdc.runtime.SysMin');
x5 G* d1 G2 A* U4 oSysMin.bufSize = 0x1000;
% Q( ~' ?6 [- _SysMin.flushAtExit = false;
6 k0 u/ H6 v/ f4 H" l/ B/ K2 Z3 A, [% c
var System = xdc.useModule('xdc.runtime.System');1 r2 I8 w) ~" \2 Z1 Q1 ^' O8 L
System.SupportProxy = SysMin;" [& y9 _9 N& B
. J, G6 A8 [1 E. s: g
/* configure SysBios to use the lower half of Timer 1 */& W4 ?) X; E; }& l) I, ?' v
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');5 M1 a1 W( e# _$ f, A' `, M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 f+ k. \! y* T1 M7 e, `
Timer.timerSettings[1].master = true;( X8 Z% c" W, m5 J8 C7 z# B5 K+ j
Timer.defaultHalf = Timer.Half_LOWER;
) T1 @0 H! @0 C2 S6 |: n3 r8 eClock.timerId = 1;
! U) Q* H) m( V7 C+ Y, {# L% q' w1 A$ e) E) W9 `/ \
: l4 n, ~2 w0 U, m3 ^/*( _. r L, e9 k+ B+ S
* ======== Miscellaneous Configuration ========
J( o) }* r( V+ y/ o3 s0 _/ b */( {. u3 T% j4 v. f2 W0 B' y
* M! K+ [% u# O: ]2 L& i# A/* set default diags mask */) W2 g! ^" G$ B I7 t _& h6 E
var Diags = xdc.useModule('xdc.runtime.Diags');" P/ ?$ s1 `2 u3 X5 X
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; E3 s! m* H! Y, t9 s7 b. W( N+ R/ U! p+ s8 \) u- ?: u% q' I
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. P. ~) [$ a, ^8 n- \8 d
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& b, t, k0 N0 v( }
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& o0 t5 h. _1 t- [$ ^8 ^3 kDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 B! A7 l3 a% ^2 O k+ D VDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 I2 J7 K% c2 H9 n) }8 V
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 F3 C- i5 g$ o1 I, z% [
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! q, o& i4 q; {* w* |' eDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! z3 {5 L# y1 A; I2 f4 z; ^Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# E2 k, V4 S5 D; G! m+ |* FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 y& L& X+ f# T ~" ADefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ y! \, j9 a4 S3 x# i# `( }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% b* G/ O7 u$ P8 L* E3 A' Y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* D# o, B" m+ B* Z" r/ {2 u
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ v: \5 _' f J( o
% {- P7 x' t6 {! e7 V/* override diags mask for selected modules */! F! l% p! l+ m! Z0 L `4 j. L
xdc.useModule('xdc.runtime.Main');% i6 M) c ~1 C- w3 Q
Diags.setMaskMeta(* w1 U) S$ v% o3 X3 O
"xdc.runtime.Main",
+ d/ \ o. F' m, Q Diags.ENTRY | Diags.EXIT | Diags.INFO,2 S! _4 }! [% @ j1 O) p1 \
Diags.RUNTIME_ON G, Z) M& O9 b6 t7 M' z( E" C
);
& \5 X. o/ D, e0 Z( c) k6 e3 f
7 }& V& e; @3 ^8 X. t3 x4 tvar Registry = xdc.useModule('xdc.runtime.Registry');
h6 ]9 z7 Y0 pRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 I2 b0 M/ ^. |$ v9 ?. n5 @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 q6 f* x# l' G" ]/ G" ^) Z0 G2 ZRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;: m* N3 [. n' P) K+ {' P: Y* o2 B. G
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* D+ {8 [6 M" c: `* s" R: p6 S) x7 p3 V: t; ]. E
/* create a logger instance */
9 ?3 ]; H3 B# Z. Gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) v: k3 W/ A. A
var loggerBufP = new LoggerBuf.Params();
$ L: u9 z: ~$ d5 ^7 j: `loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */; M$ M- z0 I" E8 s; \6 [' p: e
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
! x. i* X9 `; x/ Y) |2 `' S( d- h* g* c; I' {1 W) ?
var appLogger = LoggerBuf.create(loggerBufP);( H7 w. X2 S) B; y) Y
appLogger.instance.name = "AppLog_Core1";- p2 }0 J4 _5 a9 c& [
Defaults.common$.logger = appLogger;/ g5 W+ A. @; R3 {+ o( I; G1 C
Memory.defaultHeapSize = 0x8192;
& |9 }) j5 k3 F; yIdle.idleFxns[0] = "&LEDStatus";3 \5 N, g: \ w7 K- g6 M1 C% M
Cache.initSize.l2Size = Cache.L2Size_32K;
/ }. U$ y2 m; j% U' A' G1 e2 F' V: T h3 O
|
|