|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% J+ k) O$ y. x" V3 U. ~
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ u! a2 ]7 R% z# A
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: e# e: `9 M; {+ z _( L4 e7 \) T9 U8 I4 a" {) v
是不是需要在DSP.CFG中进行配置' S# I6 X3 F* e- q" x( S
我现在的配置为
2 V8 D4 v% V4 k. Q' A6 s' Y7 O( q: b6 N
/*
2 h# q' ~4 L8 d F * ======== Operating System Configuration ========
, E9 F+ r) T. _, }$ U */
# W- Q+ ]9 \0 f7 k- m: Q9 m$ e
5 c/ F8 j7 [ k* [ Z6 ?/* no rts heap */
3 W# @& u- m; x+ P! b+ AProgram.heap = 0;3 T) o9 a: c& D2 O% T
Program.argSize = 100; /* minimum size */* ?$ G7 F* \* z% C9 u$ d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, b( M7 A {3 H# ?' ?" n9 r7 C3 A% _3 p1 R
/* create a default heap */! E$ Y4 I" T/ y" s0 X7 v9 y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* m: _4 H' F1 F" s6 |
var heapMemParams = new HeapMem.Params();
8 l- M6 w: J* e; D5 pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 ~+ `$ ^. \! u0 O" l0 |3 y
/ n) ^9 }" h# Y2 t/ q4 ivar Memory = xdc.useModule('xdc.runtime.Memory');
5 W$ F, m( J9 q. UMemory.defaultHeapInstance = HeapMem.create(heapMemParams);. f: n- p' `( J! d& l' n+ f
- M& ?) `4 v, l( [! R$ a
/* configure System module *// r T ]/ f8 W, Z: y) Q
var SysMin = xdc.useModule('xdc.runtime.SysMin');& H+ B% d6 m3 x! ^7 x: Y, \
SysMin.bufSize = 0x1000;
- `& L+ H8 d5 N: S+ HSysMin.flushAtExit = false;
$ o4 h8 V J! w9 o6 B" f+ U
3 V% c" Y; l* J* S% a; Fvar System = xdc.useModule('xdc.runtime.System');
, ?* h" b; c" G. y9 s4 S/ L- Y4 z4 oSystem.SupportProxy = SysMin;
& c, W$ P3 Q8 U% T
9 I3 }7 i3 o3 }+ H. l" n/* configure SysBios to use the lower half of Timer 1 */
: e. t- s- s+ ?9 Uvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ g, k6 ]4 j/ h! o- m0 @8 Q& e! k/ N6 y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');! @: L# N3 p% v5 [
Timer.timerSettings[1].master = true;) ~( C9 \" I' L8 x5 A+ f" p( U
Timer.defaultHalf = Timer.Half_LOWER;9 f f/ l! S* T6 g
Clock.timerId = 1;. U8 z' {2 ]! p' L* }/ D% r
- m5 \+ B2 ^- S! j7 ? t- R; |- @. ]8 v( T5 ^3 D% ]
/*( Y7 G) s: H) h. o& z
* ======== Miscellaneous Configuration ========, w6 u; ~) [, h9 O
*/
4 i+ H [" P& B! J, P0 D# r9 q/ M6 z/ e2 |: d
/* set default diags mask */, N5 f2 S3 m) X3 X6 W; R" a
var Diags = xdc.useModule('xdc.runtime.Diags');6 Z. i/ p- k5 }% k7 D) l! J0 o8 u
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ m0 Y3 n# k& |/ r J7 H* v3 e2 {" {/ `) t9 |" m' P+ x! e
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* R; K' x ~" X* w
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;* I- e, @" S4 c$ Y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- L7 F Y( L' Z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% U6 I/ x, j I" D7 T! \1 s- i
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ |3 t& H. g; ^- ]0 V9 W4 x1 ?6 k# E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 [' Y# V. |$ T9 i2 ? kDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;0 c9 `& j6 f5 L' {. j
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 F% \9 V% ?1 F( L& p/ K, xDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 A& F! d7 R- F% m
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 `" L5 n; c$ z0 w% m( n) cDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% I0 ^. E! q- zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 g, n9 B$ P7 m4 uDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;- K+ v! |& v4 L9 X
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
l2 ] ~% S$ h: G$ o6 ?
" E; T' A# I8 t" D$ `% E, n( J/* override diags mask for selected modules */) f% R5 z0 R# F$ [3 A* D
xdc.useModule('xdc.runtime.Main');
$ I$ t5 {) a$ i( T \; ~: L7 WDiags.setMaskMeta(% i, @, y! h! A" B/ V' S5 D4 n
"xdc.runtime.Main",1 ~8 R- ~+ e) a7 `! Q/ h( N9 B* I, i
Diags.ENTRY | Diags.EXIT | Diags.INFO,! d, A8 X1 `' H6 F9 L
Diags.RUNTIME_ON' J5 h( @7 f t9 O$ S1 r2 @0 u' L) H0 u
);
+ X2 f" c0 @/ Q0 f% E) a9 b0 r, e: r% p* k5 G$ x3 b6 j
var Registry = xdc.useModule('xdc.runtime.Registry');% o9 k! F$ D `
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ z; G/ c. y) V1 yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 J0 `- H5 y8 H! k& _# y$ e! q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 p$ E( }" h+ y5 B
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 F) ^/ J: q7 E" k! j* Y0 H; F! \- A- v1 r1 |9 H1 L
/* create a logger instance */, c5 m# q7 c* t" d) F! `
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 l/ q! M o( U2 _/ x
var loggerBufP = new LoggerBuf.Params();
1 }. q# T: K9 o, I4 o5 PloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( o. W8 F' K. j' c0 ~4 n7 |loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 g' g3 K* @0 v0 K/ k8 x0 y; f
: P0 m/ T, W6 V6 k# L; S
var appLogger = LoggerBuf.create(loggerBufP);8 `% r+ O) X, s% }; G( C; b6 g
appLogger.instance.name = "AppLog_Core1";+ s9 z9 E! Q6 ~/ P
Defaults.common$.logger = appLogger;" n, P% O5 V/ R A, ?! q2 i
Memory.defaultHeapSize = 0x8192;
* \, @9 C9 C. MIdle.idleFxns[0] = "&LEDStatus"; k5 M$ B2 w2 Q4 \. e
Cache.initSize.l2Size = Cache.L2Size_32K;
) G- t$ g" z; i$ a1 ?" I/ y8 p
|
|